From 77d58298d00c11ade8862ca8acb0fdef5a45322e Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 21 三月 2025 17:39:38 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/example/client/service/TrackRecordManageService.java |  322 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 276 insertions(+), 46 deletions(-)

diff --git a/src/main/java/com/example/client/service/TrackRecordManageService.java b/src/main/java/com/example/client/service/TrackRecordManageService.java
index d30992b..d119af6 100644
--- a/src/main/java/com/example/client/service/TrackRecordManageService.java
+++ b/src/main/java/com/example/client/service/TrackRecordManageService.java
@@ -3,25 +3,26 @@
 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.*;
 import com.example.server.cabin.service.CabinService;
 import com.example.server.progressTrack.model.*;
 import com.example.server.progressTrack.service.DjJdgzNetworkLevel1Service;
 import com.example.server.progressTrack.service.DjJdgzNetworkLevel3Service;
-import com.example.server.progressTrack.service.DjJdgzShipService;
 import com.example.server.progressTrack.service.DjJdgzTrackRecordService;
 import com.example.server.teamGroup.service.SysTeamGroupClassService;
+import com.example.server.user.model.SysUser;
+import com.example.server.utils.CacheUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.swing.*;
 import javax.swing.event.TableModelEvent;
+import javax.swing.table.TableColumnModel;
 import java.awt.*;
 import java.awt.event.*;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
+import java.util.Set;
 
 
 @Service
@@ -50,16 +51,19 @@
     private JTable table;
     private List<DjJdgzTrackRecord> list;
     private List<ColumnDto> columnDto;
+    private TableColumnModel columnModel;
 
     public JPanel createTable(Integer width, Integer height, JFrame jFrame) {
         JPanel panel = new JPanel();
 
-        JPanel topJpanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
-        topJpanel.setPreferredSize(new Dimension(width, 37));
+        JPanel topJpanel = new JPanel();
+        GridBagLayout layout = new GridBagLayout();
+        topJpanel.setLayout(layout);
+        topJpanel.setPreferredSize(new Dimension(width - 20, 100));
         topJpanel.setBackground(Color.WHITE);
 
         JPanel centerJpanel = new JPanel();
-        centerJpanel.setPreferredSize(new Dimension(width - 20, height - 100));
+        centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeight(105, jFrame)));
         centerJpanel.setBackground(Color.WHITE);
         panel.add(topJpanel, BorderLayout.NORTH);
         panel.add(centerJpanel, BorderLayout.CENTER);
@@ -73,66 +77,186 @@
                 new JComboBoxItem(1L, "宸插畬鎴�")
         };
 
+        JComboBoxItem[] teamList = sysTeamGroupClassService.getTeamList(null);
+        String[] typeList = new String[]{
+                "","鏀硅", "鍔犺", "鎹㈣", "鏀硅繘鎬т慨鐞�"
+        };
+
+        JLabel JLabel0 = new JLabel("宸ョ▼");
+        JComboBox<JComboBoxItem> comboBox = new JComboBox<>(projectList);
+        comboBox.setPreferredSize(new Dimension(150, 28));
+
+        JLabel JLabel1 = new JLabel("閮ㄩ棬");
+        JComboBox<JComboBoxItem> comboBox1 = new JComboBox<>(deptList);
+        comboBox1.setPreferredSize(new Dimension(150, 28));
+
+        JComboBoxItem[] teamList1 = sysTeamGroupClassService.getTeamList(deptList[0].getId());
+
+        JLabel JLabel2 = new JLabel("涓撲笟");
+        JComboBox<JComboBoxItem> comboBox2 = new JComboBox<>(teamList1);
+        comboBox2.setPreferredSize(new Dimension(150, 28));
+
+        JLabel JLabel3 = new JLabel("鑸卞");
+        JComboBox<JComboBoxItem> comboBox3 = new JComboBox<>(cabinList);
+        comboBox3.setPreferredSize(new Dimension(150, 28));
+
+        JLabel JLabel4 = new JLabel("绫诲埆");
+        JComboBox<String> comboBox4 = new JComboBox<>(typeList);
+        comboBox4.setPreferredSize(new Dimension(150, 28));
+
+        JLabel JLabel5 = new JLabel("鐘舵��");
+        JComboBox<JComboBoxItem> comboBox5 = new JComboBox<>(statusList);
+        comboBox5.setPreferredSize(new Dimension(150, 28));
+
+        JTextField sb = new JTextField(16);
+        sb.setPreferredSize(new Dimension(150, 28));
+        JButton query = new JButton("鏌ヨ");
+
         JButton btnTj = new JButton("缁熻鎶ヨ〃");
         JButton btnJc = new JButton("鍛ㄨ繘搴︽鏌ヨ〃");
         JButton btnExport = new JButton("瀵煎嚭璺熻釜鎶ヨ〃");
         JButton btnImport = new JButton("瀵煎叆璺熻釜鎶ヨ〃");
-        JComboBox<JComboBoxItem> comboBox = new JComboBox<>(projectList);
-        JComboBox<JComboBoxItem> comboBox2 = new JComboBox<>(statusList);
-        JComboBoxItem selectedItem = (JComboBoxItem) comboBox.getSelectedItem();
-        JComboBoxItem selectedItem2 = (JComboBoxItem) comboBox2.getSelectedItem();
 
         comboBox.addItemListener(new ItemListener() {
             public void itemStateChanged(final ItemEvent event) {
-                JComboBoxItem selectedItemNow = (JComboBoxItem) comboBox.getSelectedItem();
-                JComboBoxItem selectedItem2Now = (JComboBoxItem) comboBox2.getSelectedItem();
-                Long level1Id = selectedItemNow.getId();
-                Long Status = selectedItem2Now.getId();
+                JComboBoxItem project = (JComboBoxItem) comboBox.getSelectedItem();
+                JComboBoxItem dept = (JComboBoxItem) comboBox1.getSelectedItem();
+                JComboBoxItem team = (JComboBoxItem) comboBox2.getSelectedItem();
+                JComboBoxItem cabin = (JComboBoxItem) comboBox3.getSelectedItem();
+                String type = comboBox4.getSelectedItem().toString();
+                JComboBoxItem status = (JComboBoxItem) comboBox5.getSelectedItem();
 
-                list = djJdgzTrackRecordService.getList(level1Id, Math.toIntExact(Status));
+                list = djJdgzTrackRecordService.getList(project.getId(), dept.getId(), team.getId(), cabin.getId(), type, Math.toIntExact(status.getId()), null);
+
                 CommonTable.refreshTable(list, columnDto, table);
                 table.setRowHeight(25);
-                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
 
-                tableModelListener(table, jFrame,list);
+                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+                tableModelListener(table, jFrame, list);
+            }
+        });
+
+        comboBox1.addItemListener(new ItemListener() {
+            public void itemStateChanged(final ItemEvent event) {
+                JComboBoxItem project = (JComboBoxItem) comboBox.getSelectedItem();
+                JComboBoxItem dept = (JComboBoxItem) comboBox1.getSelectedItem();
+                Long deptId = dept.getId();
+                JComboBoxItem[] teamList = sysTeamGroupClassService.getTeamList(deptId);
+                comboBox2.setModel(new DefaultComboBoxModel<>(teamList));
+
+                JComboBoxItem team = (JComboBoxItem) comboBox2.getSelectedItem();
+                JComboBoxItem cabin = (JComboBoxItem) comboBox3.getSelectedItem();
+                String type = comboBox4.getSelectedItem().toString();
+                JComboBoxItem status = (JComboBoxItem) comboBox5.getSelectedItem();
+
+                list = djJdgzTrackRecordService.getList(project.getId(), dept.getId(), team.getId(), cabin.getId(), type, Math.toIntExact(status.getId()), null);
+
+                CommonTable.refreshTable(list, columnDto, table);
+                table.setRowHeight(25);
+
+                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+                tableModelListener(table, jFrame, list);
             }
         });
 
         comboBox2.addItemListener(new ItemListener() {
             public void itemStateChanged(final ItemEvent event) {
-                JComboBoxItem selectedItemNow = (JComboBoxItem) comboBox.getSelectedItem();
-                JComboBoxItem selectedItem2Now = (JComboBoxItem) comboBox2.getSelectedItem();
-                Long level1Id = selectedItemNow.getId();
-                Long Status = selectedItem2Now.getId();
+                JComboBoxItem project = (JComboBoxItem) comboBox.getSelectedItem();
+                JComboBoxItem dept = (JComboBoxItem) comboBox1.getSelectedItem();
+                JComboBoxItem team = (JComboBoxItem) comboBox2.getSelectedItem();
+                JComboBoxItem cabin = (JComboBoxItem) comboBox3.getSelectedItem();
+                String type = comboBox4.getSelectedItem().toString();
+                JComboBoxItem status = (JComboBoxItem) comboBox5.getSelectedItem();
 
-                list = djJdgzTrackRecordService.getList(level1Id, Math.toIntExact(Status));
+                list = djJdgzTrackRecordService.getList(project.getId(), dept.getId(), team.getId(), cabin.getId(), type, Math.toIntExact(status.getId()), null);
+
                 CommonTable.refreshTable(list, columnDto, table);
                 table.setRowHeight(25);
-                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
 
-                tableModelListener(table, jFrame,list);
+                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+                tableModelListener(table, jFrame, list);
+            }
+        });
+
+        comboBox3.addItemListener(new ItemListener() {
+            public void itemStateChanged(final ItemEvent event) {
+                JComboBoxItem project = (JComboBoxItem) comboBox.getSelectedItem();
+                JComboBoxItem dept = (JComboBoxItem) comboBox1.getSelectedItem();
+                JComboBoxItem team = (JComboBoxItem) comboBox2.getSelectedItem();
+                JComboBoxItem cabin = (JComboBoxItem) comboBox3.getSelectedItem();
+                String type = comboBox4.getSelectedItem().toString();
+                JComboBoxItem status = (JComboBoxItem) comboBox5.getSelectedItem();
+
+                list = djJdgzTrackRecordService.getList(project.getId(), dept.getId(), team.getId(), cabin.getId(), type, Math.toIntExact(status.getId()), null);
+
+                CommonTable.refreshTable(list, columnDto, table);
+                table.setRowHeight(25);
+
+                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+                tableModelListener(table, jFrame, list);
+            }
+        });
+        comboBox4.addItemListener(new ItemListener() {
+            public void itemStateChanged(final ItemEvent event) {
+                JComboBoxItem project = (JComboBoxItem) comboBox.getSelectedItem();
+                JComboBoxItem dept = (JComboBoxItem) comboBox1.getSelectedItem();
+                JComboBoxItem team = (JComboBoxItem) comboBox2.getSelectedItem();
+                JComboBoxItem cabin = (JComboBoxItem) comboBox3.getSelectedItem();
+                String type = comboBox4.getSelectedItem().toString();
+                JComboBoxItem status = (JComboBoxItem) comboBox5.getSelectedItem();
+
+                list = djJdgzTrackRecordService.getList(project.getId(), dept.getId(), team.getId(), cabin.getId(), type, Math.toIntExact(status.getId()), null);
+
+                CommonTable.refreshTable(list, columnDto, table);
+                table.setRowHeight(25);
+
+                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+                tableModelListener(table, jFrame, list);
+            }
+        });
+
+        comboBox5.addItemListener(new ItemListener() {
+            public void itemStateChanged(final ItemEvent event) {
+                JComboBoxItem project = (JComboBoxItem) comboBox.getSelectedItem();
+                JComboBoxItem dept = (JComboBoxItem) comboBox1.getSelectedItem();
+                JComboBoxItem team = (JComboBoxItem) comboBox2.getSelectedItem();
+                JComboBoxItem cabin = (JComboBoxItem) comboBox3.getSelectedItem();
+                String type = comboBox4.getSelectedItem().toString();
+                JComboBoxItem status = (JComboBoxItem) comboBox5.getSelectedItem();
+
+                list = djJdgzTrackRecordService.getList(project.getId(), dept.getId(), team.getId(), cabin.getId(), type, Math.toIntExact(status.getId()), null);
+
+                CommonTable.refreshTable(list, columnDto, table);
+                table.setRowHeight(25);
+
+                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+                tableModelListener(table, jFrame, list);
+            }
+        });
+        query.addActionListener(new ActionListener() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                JComboBoxItem project = (JComboBoxItem) comboBox.getSelectedItem();
+                list = djJdgzTrackRecordService.getList(project.getId(), null, null, null, null, null, sb.getText());
+
+                CommonTable.refreshTable(list, columnDto, table);
+                table.setRowHeight(25);
+
+                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+                tableModelListener(table, jFrame, list);
             }
         });
 
         btnImport.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
+                jFrame.setEnabled(false);
                 JComboBoxItem selectedItemNow = (JComboBoxItem) comboBox.getSelectedItem();
-                importTrackRecordService.FileUpload(columnDto,table,jFrame);
+                importTrackRecordService.FileUpload(columnDto, table, jFrame);
             }
         });
 
-        topJpanel.add(btnTj);
-        topJpanel.add(btnJc);
-        topJpanel.add(btnExport);
-        topJpanel.add(btnImport);
-        topJpanel.add(comboBox);
-        topJpanel.add(comboBox2);
-
-        comboBox.setPreferredSize(new Dimension(300, 28));
-        comboBox2.setPreferredSize(new Dimension(300, 28));
-
-        list = djJdgzTrackRecordService.getList(selectedItem.getId(), Math.toIntExact(selectedItem2.getId()));
+        list = djJdgzTrackRecordService.getList(projectList[0].getId(), deptList[0].getId(), teamList[0].getId(), cabinList[0].getId(), typeList[0], Math.toIntExact(statusList[0].getId()), null);
         List<TableButton> buttonList = new ArrayList<>();
         buttonList.add(new TableButton("edit", "缂栬緫"));
 
@@ -146,11 +270,11 @@
         columnDto.add(new ColumnDto("涓�绾ц妭鐐�", "level1NodeName", 120, null, false, null, null));
         columnDto.add(new ColumnDto("浜岀骇鑺傜偣", "level2NodeName", 120, null, false, null, null));
         columnDto.add(new ColumnDto("璁惧鍚嶇О", "level3NetworkName", 120, null, false, null, null));
-        columnDto.add(new ColumnDto("褰撳墠鑺傜偣", "level3NodeName", 120, null, false, null, null));
-        columnDto.add(new ColumnDto("璁″垝瀹屾垚鏃堕棿", "requiredCompletionTime", 200, null, false, null, null));
-        columnDto.add(new ColumnDto("鎬绘壙淇崟浣�", "generalRepair", 180, null, false, null, null));
-        columnDto.add(new ColumnDto("鍒嗘壙淇崟浣�", "repair", 180, null, false, null, null));
+        columnDto.add(new ColumnDto("褰撳墠鑺傜偣", "level3NodeName", 150, null, false, null, null));
+        columnDto.add(new ColumnDto("璁″垝瀹屾垚鏃堕棿", "requiredCompletionTime", 180, null, false, null, null));
         columnDto.add(new ColumnDto("璺熻釜璁板綍", "", 100, "", true, buttonList, null));
+        columnDto.add(new ColumnDto("鎬绘壙淇崟浣�", "generalRepair", 200, null, false, null, null));
+        columnDto.add(new ColumnDto("鍒嗘壙淇崟浣�", "repair", 200, null, false, null, null));
         columnDto.add(new ColumnDto("鍘嗗彶璁板綍", "trackNum", 100, null, false, null, null));
         columnDto.add(new ColumnDto("瀹屾垚鏃堕棿", "actualCompletion", 200, null, false, null, null));
         columnDto.add(new ColumnDto("闄勪欢", "fileName", 200, null, false, null, null));
@@ -159,6 +283,60 @@
         table = CommonTable.createCommonTable(list, columnDto);
         table.setRowHeight(25);
         table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+
+        List<String> itemList = new ArrayList<>();
+        for (ColumnDto dto : columnDto) {
+            itemList.add(dto.getColumnDesc()); // 灏� dto.getColumnDesc() 娣诲姞鍒� List 涓�
+        }
+
+        String[] items = itemList.toArray(new String[0]);
+        columnModel = table.getColumnModel();
+        MultiSelectComboBox2 mulcomboBox = new MultiSelectComboBox2(items, columnDto, columnModel);
+
+/*        final Integer[] lastIndex = {-1};
+        mulcomboBox.addItemListener(new ItemListener() {
+            @Override
+            public void itemStateChanged(ItemEvent event) {
+                int selectedIndex = mulcomboBox.getSelectedIndex();
+                if (lastIndex[0] == selectedIndex){
+                    lastIndex[0] = -1;
+                    return;
+                }else{
+                    lastIndex[0] = selectedIndex;
+                }
+                if (selectedIndex != -1) {
+                    // 鏇存柊 selectedIndices
+                    if (event.getStateChange() == ItemEvent.SELECTED){
+                        Integer width = columnDto.get(selectedIndex).getColumnWidth();
+                        columnModel.getColumn(selectedIndex).setPreferredWidth(width);
+                    }else{
+                        columnModel.getColumn(selectedIndex).setPreferredWidth(0);
+                    }
+                }
+            }
+        });*/
+
+        topJpanel.add(JLabel0, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        topJpanel.add(comboBox, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+        topJpanel.add(JLabel1, new GBC(2, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        topJpanel.add(comboBox1, new GBC(3, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+        topJpanel.add(JLabel2, new GBC(4, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        topJpanel.add(comboBox2, new GBC(5, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+        topJpanel.add(JLabel3, new GBC(6, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        topJpanel.add(comboBox3, new GBC(7, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+        topJpanel.add(JLabel4, new GBC(8, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        topJpanel.add(comboBox4, new GBC(9, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+        topJpanel.add(JLabel5, new GBC(10, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        topJpanel.add(comboBox5, new GBC(11, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+        topJpanel.add(btnTj, new GBC(1, 1, 1, 1).setInsets(5));
+        topJpanel.add(btnJc, new GBC(2, 1, 2, 1).setInsets(5));
+        topJpanel.add(btnImport, new GBC(4, 1, 2, 1).setInsets(5));
+        topJpanel.add(btnExport, new GBC(6, 1, 2, 1).setInsets(5));
+        topJpanel.add(mulcomboBox, new GBC(8, 1, 2, 1).setInsets(5));
+        topJpanel.add(sb, new GBC(10, 1, 2, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        topJpanel.add(query, new GBC(12, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
 
         table.addMouseListener(new MouseAdapter() {
             @Override
@@ -175,6 +353,7 @@
                         Object cellValue = table.getValueAt(row, column);
                         Integer value = Integer.parseInt(cellValue.toString());
                         if (value > 0) {
+                            jFrame.setEnabled(false);
                             DjJdgzTrackRecord djJdgzTrackRecord = list.get(row);
                             history(jFrame, djJdgzTrackRecord.getLevel3NodeId());
                         }
@@ -186,6 +365,7 @@
         btnTj.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
+                jFrame.setEnabled(false);
                 JComboBoxItem selectedItemNow = (JComboBoxItem) comboBox.getSelectedItem();
                 statistReportsService.createTable(jFrame, selectedItemNow.getId());
             }
@@ -193,6 +373,7 @@
         btnJc.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
+                jFrame.setEnabled(false);
                 JComboBoxItem selectedItemNow = (JComboBoxItem) comboBox.getSelectedItem();
                 progressPromptService.createTable(jFrame, selectedItemNow.getId());
             }
@@ -200,16 +381,28 @@
         btnExport.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
+                jFrame.setEnabled(false);
                 exportTrackRecordService.openDialog(jFrame);
             }
         });
-        tableModelListener(table, jFrame,list);
+        tableModelListener(table, jFrame, list);
 
         JScrollPane scrollPane = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
         scrollPane.setViewportView(table);
         scrollPane.getViewport().setBackground(Color.WHITE);
-        scrollPane.setPreferredSize(new Dimension(width - 20, height - 130));
+        scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(105, jFrame)));
         centerJpanel.add(scrollPane);
+        jFrame.addComponentListener(new ComponentAdapter() {
+            @Override
+            public void componentResized(ComponentEvent e) {
+                centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeight(105, jFrame)));
+                scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(105, jFrame)));
+                centerJpanel.revalidate();
+                centerJpanel.repaint();
+                scrollPane.revalidate();
+                scrollPane.repaint();
+            }
+        });
 
         return panel;
     }
@@ -272,7 +465,7 @@
 
     }
 
-    public void tableModelListener(JTable table, JFrame jFrame,List<DjJdgzTrackRecord> recordList) {
+    public void tableModelListener(JTable table, JFrame jFrame, List<DjJdgzTrackRecord> recordList) {
         table.getModel().addTableModelListener(e -> {
             // 妫�鏌ヤ簨浠剁被鍨�
             if (e.getType() == TableModelEvent.UPDATE) {
@@ -284,6 +477,7 @@
                 Object newValue = table.getModel().getValueAt(row, column);
                 // 杈撳嚭鍙樺寲淇℃伅
                 if (newValue.equals("edit")) {
+                    jFrame.setEnabled(false);
                     DjJdgzTrackRecord data = recordList.get(row);
                     Long level1Id = data.getLevel1NetworkId();
                     data.setProcessName(data.getLevel3NodeName());
@@ -292,7 +486,7 @@
                         data = djJdgzTrackRecordService.get(data.getId());
                         data.setLevel1NetworkId(level1Id);
                         data.setIsUpdate(isUpdate);
-                    }else{
+                    } else {
                         DjJdgzNetworkLevel3 level3 = level3Service.get(data.getLevel3NetworkId());
                         data.setGeneralRepairUnit(level3.getGeneralRepairUnit());
                         data.setGeneralRepairUnitDirector(level3.getGeneralRepairUnitDirector());
@@ -302,13 +496,49 @@
                         data.setRepairUnitContact(level3.getRepairUnitContact());
                     }
                     addOrUpdate.openDialog(data, jFrame, level1Id, columnDto, table);
-                    jFrame.setEnabled(false);
                 } else {
 
                 }
                 System.out.println("鍗曞厓鏍煎彉鍖�: 琛�=" + row + ", 鍒�=" + column + ", 鏂板��=" + newValue);
             }
         });
+
+        table.addMouseListener(new MouseAdapter() {
+            @Override
+            public void mousePressed(MouseEvent e) {
+                if (e.isPopupTrigger()) {
+                    showPopupMenu(e);
+                }
+            }
+
+            @Override
+            public void mouseReleased(MouseEvent e) {
+                if (e.isPopupTrigger()) {
+                    showPopupMenu(e);
+                }
+            }
+
+            private void showPopupMenu(MouseEvent e) {
+                JPopupMenu popupMenu = new JPopupMenu();
+                JMenuItem menuItem1 = new JMenuItem("鎾ゅ洖");
+                popupMenu.add(menuItem1);
+                int row = table.rowAtPoint(e.getPoint());
+                int col = table.columnAtPoint(e.getPoint());
+                DjJdgzTrackRecord djJdgzTrackRecord = list.get(row);
+                String site = (String) CacheUtils.get("site", "site");
+
+                if (djJdgzTrackRecord.getCurrentStatus() == 1 && site.equals("宸ヤ綔缁�")) {
+                    table.setRowSelectionInterval(row, row);
+                    popupMenu.show(e.getComponent(), e.getX(), e.getY());
+                    menuItem1.addActionListener(ex -> {
+                        djJdgzTrackRecordService.retract(djJdgzTrackRecord.getId());
+                        List<DjJdgzTrackRecord> list = djJdgzTrackRecordService.getList(djJdgzTrackRecord.getLevel1NetworkId(), null, null, null, null, 0, null);
+                        CommonTable.refreshTable(list, columnDto, table);
+                        tableModelListener(table, jFrame, list);
+                    });
+                }
+            }
+        });
     }
 
 }

--
Gitblit v1.9.1