From a80b4a7eb099390bb53c967126fa97b30568e1a3 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 01 四月 2025 10:01:38 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/example/client/service/SubunitAddOrUpdate.java |   61 +++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/example/client/service/SubunitAddOrUpdate.java b/src/main/java/com/example/client/service/SubunitAddOrUpdate.java
index 1d91113..9def481 100644
--- a/src/main/java/com/example/client/service/SubunitAddOrUpdate.java
+++ b/src/main/java/com/example/client/service/SubunitAddOrUpdate.java
@@ -44,16 +44,18 @@
     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;
+        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, 40));
 
         JPanel centerJpanel = new JPanel();
-        centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeight(40,frame)));
+        centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeight(40, nowFrame)));
         panel.add(topJpanel, BorderLayout.NORTH);
         panel.add(centerJpanel, BorderLayout.CENTER);
 
@@ -78,23 +80,29 @@
         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) {
-                frame.setEnabled(false);
+                nowFrame.setEnabled(false);
                 SysUser user = (SysUser) CacheUtils.get("user", "user");
-                if (user.getTeamgroup()==null||user.getTeamgroup().equals(nowLevel3.getTeamgroupId().toString())) {
+                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);
                 }
             }
@@ -103,13 +111,13 @@
 
         JScrollPane scrollPane = new JScrollPane(trackTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
         scrollPane.setViewportView(trackTable);
-        scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(40,frame)));
+        scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(40, nowFrame)));
         centerJpanel.add(scrollPane);
-        frame.addComponentListener(new ComponentAdapter() {
+        nowFrame.addComponentListener(new ComponentAdapter() {
             @Override
             public void componentResized(ComponentEvent e) {
-                centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(40,frame)));
-                scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(40,frame)));
+                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();
@@ -120,7 +128,7 @@
     }
 
     private void insert(JFrame jFrame, DjJdgzDismantTrack data) {
-        if (data.getLevel3NetworkId()==null){
+        if (data.getLevel3NetworkId() == null) {
             JOptionPane.showMessageDialog(null, "娌℃湁閫夋嫨璁惧", "鎻愮ず", JOptionPane.WARNING_MESSAGE);
             return;
         }
@@ -146,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()));
         }
 
@@ -168,6 +176,11 @@
         frame1.add(btnSave, new GBC(0, 2, 2, 1).setWeight(1, 0));
 
         btnSave.addActionListener((e) -> {
+            SysUser user = (SysUser) CacheUtils.get("user","user");
+            if (user==null){
+                JOptionPane.showMessageDialog(null, "鐢ㄦ埛澶辨晥璇烽��鍑哄苟閲嶆柊鐧诲綍", "鎻愮ず", JOptionPane.WARNING_MESSAGE);
+                return;
+            }
             JComboBoxItem cabin = (JComboBoxItem) comboBox0.getSelectedItem();
 
             String name = subunitName.getText();
@@ -176,23 +189,25 @@
             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) {
@@ -203,11 +218,11 @@
                 // 鑾峰彇鏂扮殑鍊�
                 Object newValue = table.getModel().getValueAt(row, column);
                 // 杈撳嚭鍙樺寲淇℃伅
-                if (newValue.equals("edit")){
-                    jFrame.setEnabled(false);
+                if (newValue.equals("edit")) {
+                    nowFrame.setEnabled(false);
                     DjJdgzDismantTrack data = list.get(row);
-                    insert(jFrame,data);
-                }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();

--
Gitblit v1.9.1