From 66f0597bf6a1e79540c6bc51dedf561c22f3bdb5 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 13 五月 2025 17:49:26 +0800 Subject: [PATCH] 修改 --- src/main/java/com/example/client/service/SubunitAddOrUpdate.java | 94 +++++++++++++++++++++++++++++++---------------- 1 files changed, 62 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/example/client/service/SubunitAddOrUpdate.java b/src/main/java/com/example/client/service/SubunitAddOrUpdate.java index 88e566d..6b23d93 100644 --- a/src/main/java/com/example/client/service/SubunitAddOrUpdate.java +++ b/src/main/java/com/example/client/service/SubunitAddOrUpdate.java @@ -5,15 +5,17 @@ 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.model.DjJdgzNetworkLevel3; +import com.example.server.progressTrack.model.DjJdgzTrackRecord; import com.example.server.progressTrack.service.DjJdgzDismantTrackService; 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; @@ -41,15 +43,19 @@ private CabinService cabinService; private List<ColumnDto> columnDto; private JTable trackTable; + private DjJdgzNetworkLevel3 nowLevel3; + private JFrame nowFrame; - public JPanel createTrack(Integer width, Integer height, DjJdgzNetworkLevel3 djJdgzNetworkLevel3,JFrame frame) { - JPanel panel = new JPanel(); + public JPanel createTrack(Integer width, Integer height, DjJdgzNetworkLevel3 djJdgzNetworkLevel3, JFrame frame) { + nowLevel3 = djJdgzNetworkLevel3; + 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); @@ -59,7 +65,7 @@ topJpanel.add(btnInsert); JComboBoxItem[] cabinList = cabinService.getList(); - List<DjJdgzDismantTrack> list = djJdgzDismantTrackService.getList(djJdgzNetworkLevel3.getId(), null); + List<DjJdgzDismantTrack> list = djJdgzDismantTrackService.getList(nowLevel3.getId(), null); List<TableButton> buttonList = new ArrayList<>(); buttonList.add(new TableButton("edit", "缂栬緫")); buttonList.add(new TableButton("del", "鍒犻櫎")); @@ -74,40 +80,55 @@ 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.setAutoCreateRowSorter(true); + 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(djJdgzNetworkLevel3.getTeamgroupId())) { - DjJdgzDismantTrack djJdgzDismantTrack = new DjJdgzDismantTrack(); - djJdgzDismantTrack.setLevel3NetworkId(djJdgzNetworkLevel3.getId()); - insert(frame,djJdgzDismantTrack); - }else{ - JOptionPane.showMessageDialog(null, "涓嶅彲鎿嶄綔鍏朵粬涓撲笟鏁版嵁", "鎻愮ず", JOptionPane.WARNING_MESSAGE); + 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(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; } @@ -133,7 +154,7 @@ 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())); } @@ -155,6 +176,11 @@ 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(); @@ -163,21 +189,25 @@ List<DjJdgzDismantTrack> list = new ArrayList<>(); list.add(data); djJdgzDismantTrackService.save(list); - + //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.setAutoCreateRowSorter(true); + 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) { @@ -188,16 +218,16 @@ // 鑾峰彇鏂扮殑鍊� 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(); DjJdgzDismantTrack data = list.get(row); - djJdgzDismantTrackService.deleteLogic(data.getId()); + djJdgzDismantTrackService.delete(data.getId()); list.remove(row); model.removeRow(row); } -- Gitblit v1.9.1