From a857feef16fdd2ea9295f0be82a8fdaa34f13595 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期四, 24 四月 2025 18:10:30 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/example/client/service/Level3ManageService.java |   64 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/example/client/service/Level3ManageService.java b/src/main/java/com/example/client/service/Level3ManageService.java
index ae02749..fdf9ad3 100644
--- a/src/main/java/com/example/client/service/Level3ManageService.java
+++ b/src/main/java/com/example/client/service/Level3ManageService.java
@@ -3,10 +3,7 @@
 import com.example.client.dto.ColumnDto;
 import com.example.client.dto.JComboBoxItem;
 import com.example.client.model.TableButton;
-import com.example.client.utils.CommonTable;
-import com.example.client.utils.Compute;
-import com.example.client.utils.GBC;
-import com.example.client.utils.MultiSelectComboBox;
+import com.example.client.utils.*;
 import com.example.server.cabin.service.CabinService;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel1;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel3;
@@ -314,7 +311,8 @@
             @Override
             public void actionPerformed(ActionEvent e) {
                 jFrame.setEnabled(false);
-                insert(jFrame);
+                DjJdgzNetworkLevel3 data = new DjJdgzNetworkLevel3();
+                insert(jFrame,data);
             }
         });
 
@@ -346,7 +344,7 @@
         return panel;
     }
 
-    private void insert(JFrame jFrame) {
+    public void insert(JFrame jFrame,DjJdgzNetworkLevel3 data) {
         JFrame frame1 = new JFrame("鏂板涓夌骇缃戠粶鍥�");
         frame1.setSize(500, 460);
         frame1.setResizable(true);
@@ -379,38 +377,84 @@
         JComboBox<JComboBoxItem> comboBox0 = new JComboBox<>(projectList);
         comboBox0.setPreferredSize(new Dimension(185, 28));
         comboBox0.setSelectedIndex(-1);
+        if (data.getLevel1NetworkId()!=null){
+            comboBox0.setSelectedItem(BoxIteUtils.GetSelectItemById(projectList, data.getLevel1NetworkId()));
+        }
 
         JLabel JLabel2 = new JLabel("浜岀骇缃戠粶鍥�");
         JComboBox<JComboBoxItem> comboBox1 = new JComboBox<>();
         comboBox1.setPreferredSize(new Dimension(185, 28));
+        if (data.getLevel2NetworkId()!=null){
+            JComboBoxItem[] level2List = level2Service.getLevel2List(data.getLevel1NetworkId());
+            comboBox1.setModel(new DefaultComboBoxModel<>(level2List));
+            comboBox1.setSelectedItem(BoxIteUtils.GetSelectItemById(level2List, data.getLevel2NetworkId()));
+        }
 
         JLabel JLabel3 = new JLabel("浜岀骇缃戠粶鍥捐妭鐐�");
         JComboBox<JComboBoxItem> comboBox2 = new JComboBox<>();
         comboBox2.setPreferredSize(new Dimension(185, 28));
+        if (data.getLevel2NodeId()!=null){
+            JComboBoxItem[] level2NodeList = level2ListService.getNode(data.getLevel2NetworkId());
+            comboBox2.setModel(new DefaultComboBoxModel<>(level2NodeList));
+            comboBox2.setSelectedItem(BoxIteUtils.GetSelectItemById(level2NodeList, data.getLevel2NodeId()));
+        }
 
         JLabel JLabel4 = new JLabel("閮ㄩ棬");
         JComboBox<JComboBoxItem> comboBox3 = new JComboBox<>(deptList);
         comboBox3.setPreferredSize(new Dimension(185, 28));
+        if (data.getDeptId()!=null){
+            comboBox3.setSelectedItem(BoxIteUtils.GetSelectItemById(deptList, data.getDeptId()));
+        }
 
         JComboBoxItem[] teamList1 = sysTeamGroupClassService.getTeamList(deptList[0].getId());
 
         JLabel JLabel5 = new JLabel("涓撲笟");
         JComboBox<JComboBoxItem> comboBox4 = new JComboBox<>(teamList1);
         comboBox4.setPreferredSize(new Dimension(185, 28));
+        if (data.getTeamgroupId()!=null){
+            JComboBoxItem[] teamList3 = sysTeamGroupClassService.getTeamList(data.getDeptId());
+            comboBox4.setModel(new DefaultComboBoxModel<>(teamList3));
+            comboBox4.setSelectedItem(BoxIteUtils.GetSelectItemById(teamList3, data.getTeamgroupId()));
+        }
 
         JLabel JLabel6 = new JLabel("鑸卞");
         MultiSelectComboBox comboBox5 = new MultiSelectComboBox(cabinList);
         comboBox5.setPreferredSize(new Dimension(200, 25));
+        if (data.getCabinId()!=null){
+            Set<Long> selectedIds = new HashSet<>();
+            String[] idParts = data.getCabinId().split(",");
+            for (String idPart : idParts) {
+                selectedIds.add(Long.parseLong(idPart.trim())); // 灏嗗瓧绗︿覆杞崲涓� Long 绫诲瀷骞舵坊鍔犲埌闆嗗悎涓�
+            }
+
+            // 灏� ID 杞崲涓哄搴旂殑 JComboBoxItem 瀵硅薄
+            Set<JComboBoxItem> selectedItems = new HashSet<>();
+            for (JComboBoxItem item : cabinList) {
+                if (selectedIds.contains(item.getId())) { // 妫�鏌� Long 绫诲瀷鐨� ID 鏄惁鍖归厤
+                    selectedItems.add(item); // 娣诲姞鍒伴�変腑椤归泦鍚�
+                }
+            }
+            comboBox5.setSelectedItems(selectedItems);
+        }
 
         JLabel JLabel7 = new JLabel("绫诲埆");
         JComboBox<String> comboBox6 = new JComboBox<>(typeList);
+        if (data.getType()!=null){
+            comboBox6.setSelectedItem(data.getType());
+        }
 
         JLabel JLabel78 = new JLabel("鏄惁褰卞搷灏佽埍");
         JComboBox<JComboBoxItem> comboBox7 = new JComboBox<>(isealCabin);
         comboBox7.setPreferredSize(new Dimension(185, 28));
+        if (data.getIsealCabin()!=null){
+            comboBox7.setSelectedItem(BoxIteUtils.GetSelectItemById(isealCabin, Long.valueOf(data.getIsealCabin())));
+        }
 
         JLabel JLabel8 = new JLabel("涓夌骇缃戠粶鍥惧悕绉�");
         JTextField level3Name = new JTextField(16);
+        if (StringUtils.isNotBlank(data.getName())){
+            level3Name.setText(data.getName());
+        }
 
         comboBox0.addItemListener(new ItemListener() {
             @Override
@@ -501,7 +545,6 @@
                 selectedIds.append(item.getId()).append(",");
             }
             String name = level3Name.getText();
-            DjJdgzNetworkLevel3 data = new DjJdgzNetworkLevel3();
             DjJdgzNetworkLevel1 level1Data = level1Service.get(level1.getId());
             data.setLevel1NetworkId(level1.getId());
             data.setLevel2NetworkId(level2.getId());
@@ -513,7 +556,12 @@
             data.setTeamgroupName(team.getName());
             data.setCabinId(String.valueOf(selectedIds));
             data.setType(comboBox6.getSelectedItem().toString());
-            level3Service.insert(data);
+            if (data.getId()!=null){
+                level3Service.update(data);
+            }else{
+                level3Service.insert(data);
+            }
+
             list = level3Service.getList(level1Data.getShipId(), deptList[0].getId(), teamList[0].getId(), cabinList[0].getId(), typeList[0], Math.toIntExact(isealCabin[0].getId()), null);
             CommonTable.refreshTable(list, columnDto, table);
             table.setRowHeight(25);

--
Gitblit v1.9.1