| | |
| | | import com.example.client.model.TableButton; |
| | | import com.example.client.utils.BoxIteUtils; |
| | | import com.example.client.utils.CommonTable; |
| | | import com.example.client.utils.Compute; |
| | | import com.example.client.utils.GBC; |
| | | import com.example.server.cabin.service.CabinService; |
| | | import com.example.server.progressTrack.model.DjJdgzDismantTrack; |
| | |
| | | import com.example.server.progressTrack.service.DjJdgzNetworkLevel3Service; |
| | | import com.example.server.teamGroup.service.SysTeamGroupClassService; |
| | | import com.example.server.user.model.SysUser; |
| | | import com.example.server.utils.CacheUtils; |
| | | import com.example.server.utils.UserAndSiteUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private List<ColumnDto> columnDto; |
| | | private JTable trackTable; |
| | | private DjJdgzNetworkLevel3 nowLevel3; |
| | | private JFrame nowFrame; |
| | | |
| | | public JPanel createTrack(Integer width, Integer height, DjJdgzNetworkLevel3 djJdgzNetworkLevel3,JFrame frame) { |
| | | public JPanel createTrack(Integer width, Integer height, DjJdgzNetworkLevel3 djJdgzNetworkLevel3, JFrame frame) { |
| | | nowLevel3 = djJdgzNetworkLevel3; |
| | | JPanel panel = new JPanel(); |
| | | nowFrame = frame; |
| | | JPanel panel = new JPanel(new BorderLayout()); |
| | | panel.setPreferredSize(new Dimension(width, height)); |
| | | JPanel topJpanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); |
| | | topJpanel.setPreferredSize(new Dimension(width - 10, 37)); |
| | | topJpanel.setPreferredSize(new Dimension(width - 10, 40)); |
| | | |
| | | JPanel centerJpanel = new JPanel(); |
| | | centerJpanel.setPreferredSize(new Dimension(width - 20, height - 100)); |
| | | centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeight(40, nowFrame))); |
| | | panel.add(topJpanel, BorderLayout.NORTH); |
| | | panel.add(centerJpanel, BorderLayout.CENTER); |
| | | |
| | |
| | | columnDto.add(new ColumnDto("操作", "", 200, "", true, buttonList, null)); |
| | | |
| | | trackTable = CommonTable.createCommonTable(list, columnDto); |
| | | trackTable.setPreferredSize(new Dimension(width , height)); |
| | | trackTable.setPreferredSize(new Dimension(width, height)); |
| | | trackTable.setRowHeight(25); |
| | | |
| | | trackTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); |
| | | |
| | | tableModelListener(trackTable, frame,list,columnDto); |
| | | tableModelListener(trackTable, list, columnDto); |
| | | |
| | | btnInsert.addActionListener(new ActionListener() { |
| | | @Override |
| | | public void actionPerformed(ActionEvent e) { |
| | | SysUser user = (SysUser) CacheUtils.get("user", "user"); |
| | | if (user.getTeamgroup()==null||user.getTeamgroup().equals(nowLevel3.getTeamgroupId().toString())) { |
| | | nowFrame.setEnabled(false); |
| | | SysUser user = (SysUser) UserAndSiteUtils.get("user", "user"); |
| | | if (user == null) { |
| | | nowFrame.setEnabled(true); |
| | | JOptionPane.showMessageDialog(null, "当前用户已失效请重新登录", "提示", JOptionPane.WARNING_MESSAGE); |
| | | return; |
| | | } |
| | | if (user.getTeamgroup() == null || user.getTeamgroup().equals(nowLevel3.getTeamgroupId().toString())) { |
| | | DjJdgzDismantTrack djJdgzDismantTrack = new DjJdgzDismantTrack(); |
| | | djJdgzDismantTrack.setLevel3NetworkId(nowLevel3.getId()); |
| | | insert(frame,djJdgzDismantTrack); |
| | | }else{ |
| | | insert(nowFrame, djJdgzDismantTrack); |
| | | } else { |
| | | nowFrame.setEnabled(true); |
| | | JOptionPane.showMessageDialog(null, "当前用户不可操作其他专业数据", "提示", JOptionPane.WARNING_MESSAGE); |
| | | } |
| | | } |
| | |
| | | |
| | | JScrollPane scrollPane = new JScrollPane(trackTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); |
| | | scrollPane.setViewportView(trackTable); |
| | | scrollPane.setPreferredSize(new Dimension(width - 20, height - 130)); |
| | | scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(40, nowFrame))); |
| | | centerJpanel.add(scrollPane); |
| | | |
| | | nowFrame.addComponentListener(new ComponentAdapter() { |
| | | @Override |
| | | public void componentResized(ComponentEvent e) { |
| | | centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(40, nowFrame))); |
| | | scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(40, nowFrame))); |
| | | centerJpanel.revalidate(); |
| | | centerJpanel.repaint(); |
| | | scrollPane.revalidate(); |
| | | scrollPane.repaint(); |
| | | } |
| | | }); |
| | | return panel; |
| | | } |
| | | |
| | | private void insert(JFrame jFrame, DjJdgzDismantTrack data) { |
| | | if (data.getLevel3NetworkId()==null){ |
| | | if (data.getLevel3NetworkId() == null) { |
| | | JOptionPane.showMessageDialog(null, "没有选择设备", "提示", JOptionPane.WARNING_MESSAGE); |
| | | return; |
| | | } |
| | |
| | | JComboBox<JComboBoxItem> comboBox0 = new JComboBox<>(cabinList); |
| | | comboBox0.setPreferredSize(new Dimension(185, 28)); |
| | | comboBox0.setSelectedIndex(-1); |
| | | if(data.getCabinId()!=null){ |
| | | if (data.getCabinId() != null) { |
| | | comboBox0.setSelectedItem(BoxIteUtils.GetSelectItemById(cabinList, data.getCabinId())); |
| | | } |
| | | |
| | |
| | | frame1.add(btnSave, new GBC(0, 2, 2, 1).setWeight(1, 0)); |
| | | |
| | | btnSave.addActionListener((e) -> { |
| | | SysUser user = (SysUser) UserAndSiteUtils.get("user","user"); |
| | | if (user==null){ |
| | | JOptionPane.showMessageDialog(null, "用户失效请退出并重新登录", "提示", JOptionPane.WARNING_MESSAGE); |
| | | return; |
| | | } |
| | | JComboBoxItem cabin = (JComboBoxItem) comboBox0.getSelectedItem(); |
| | | |
| | | String name = subunitName.getText(); |
| | |
| | | List<DjJdgzDismantTrack> list = new ArrayList<>(); |
| | | list.add(data); |
| | | djJdgzDismantTrackService.save(list); |
| | | |
| | | this.refreshTable(data.getLevel3NetworkId(),null); |
| | | //tableModelListener(trackTable, jFrame,list,columnDto); |
| | | this.refreshTable(data.getLevel3NetworkId(), null); |
| | | frame1.dispose(); |
| | | jFrame.setEnabled(true);//将主界面再设置为可操作的 |
| | | JOptionPane.showMessageDialog(null, "保存成功", "提示", JOptionPane.WARNING_MESSAGE); |
| | | }); |
| | | } |
| | | public void refreshTable(Long level3Id,JFrame jFrame){ |
| | | |
| | | public void refreshTable(Long level3Id, JFrame jFrame) { |
| | | nowLevel3 = level3Service.get(level3Id); |
| | | List<DjJdgzDismantTrack> list = djJdgzDismantTrackService.getList(level3Id, null); |
| | | CommonTable.refreshTable(list, columnDto, trackTable); |
| | | trackTable.setRowHeight(25); |
| | | |
| | | trackTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); |
| | | tableModelListener(trackTable, jFrame,list,columnDto); |
| | | tableModelListener(trackTable, list, columnDto); |
| | | } |
| | | |
| | | public void tableModelListener(JTable table,JFrame jFrame,List<DjJdgzDismantTrack> list,List<ColumnDto> columnDto){ |
| | | public void tableModelListener(JTable table, List<DjJdgzDismantTrack> list, List<ColumnDto> columnDto) { |
| | | table.getModel().addTableModelListener(e -> { |
| | | // 检查事件类型 |
| | | if (e.getType() == TableModelEvent.UPDATE) { |
| | |
| | | // 获取新的值 |
| | | Object newValue = table.getModel().getValueAt(row, column); |
| | | // 输出变化信息 |
| | | if (newValue.equals("edit")){ |
| | | if (newValue.equals("edit")) { |
| | | nowFrame.setEnabled(false); |
| | | DjJdgzDismantTrack data = list.get(row); |
| | | insert(jFrame,data); |
| | | jFrame.setEnabled(false); |
| | | }else if(newValue.equals("del")) { |
| | | insert(nowFrame, data); |
| | | } else if (newValue.equals("del")) { |
| | | int n = JOptionPane.showConfirmDialog(null, "是否删除?", "提示", JOptionPane.YES_NO_OPTION); |
| | | if (n == 0) { |
| | | DefaultTableModel model = (DefaultTableModel) table.getModel(); |