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/Level3View2Service.java |  137 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 137 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/example/client/service/Level3View2Service.java b/src/main/java/com/example/client/service/Level3View2Service.java
index 803e1c5..d941c42 100644
--- a/src/main/java/com/example/client/service/Level3View2Service.java
+++ b/src/main/java/com/example/client/service/Level3View2Service.java
@@ -3,6 +3,7 @@
 import com.example.client.dto.ColumnDto;
 import com.example.client.dto.JComboBoxItem;
 import com.example.client.utils.*;
+import com.example.server.ExportExcel.dto.ExcelColumnDto;
 import com.example.server.cabin.service.CabinService;
 import com.example.server.progressTrack.Dto.TableNodeDto;
 import com.example.server.progressTrack.model.DjJdgzShip;
@@ -15,6 +16,7 @@
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;
+import java.io.File;
 import java.util.List;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -37,6 +39,8 @@
     private List<TableNodeDto> list;
     private Map<String, Long> shipMap = new HashMap<>();
     private List<ColumnDto> columnDto;
+    @Autowired
+    private DjJdgzNetworkLevel1Service djJdgzNetworkLevel1Service;
 
 
     public JPanel createTable(Integer width, Integer height, JFrame frame) {
@@ -124,6 +128,7 @@
         // 鍒涘缓涓嬫媺妗�
         ColorDescriptionComboBox comboBox5 = new ColorDescriptionComboBox(colorDescriptions);
         JButton btnTjz = new JButton("璁惧杩涘害缁熻鎬昏〃");
+        JButton btnExport = new JButton("瀵煎嚭");
 
         topJpanel2.add(JLabel0, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
         topJpanel2.add(comboBox, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
@@ -143,7 +148,9 @@
         topJpanel2.add(sb, new GBC(4, 1, 2, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
         topJpanel2.add(query, new GBC(6, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
         topJpanel2.add(comboBox5, new GBC(7, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+        topJpanel2.add(btnExport, new GBC(8, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
         topJpanel2.add(btnTjz, new GBC(9, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
 
         list = level3Service.getNodeList(shipList.get(0).getId(), deptList[0].getId(), teamList[0].getId(), cabinList[0].getId(), typeList[0], Math.toIntExact(isealCabin[0].getId()), Math.toIntExact(isealCabin[0].getId()), null);
 
@@ -390,6 +397,13 @@
                 statisProductService.createTable(frame, shipId, type);
             }
         });
+        btnExport.addActionListener(new ActionListener() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                frame.setEnabled(false);
+                export(frame);
+            }
+        });
 
         comboBox5.addItemListener(new ItemListener() {
             @Override
@@ -445,6 +459,129 @@
 
         return panel;
     }
+
+    private void export(JFrame jFrame) {
+        JFrame frame1 = new JFrame("瀵煎嚭涓夌骇缃戠粶鍥剧姸鎬�");
+        frame1.setSize(300, 400);
+        frame1.setResizable(true);
+        frame1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+        frame1.setLocationRelativeTo(null);
+        frame1.setVisible(true);
+        frame1.addWindowListener(new WindowAdapter() {
+            //娣诲姞绗簩涓晫闈㈢殑鍏抽棴浜嬩欢:
+            public void windowClosing(WindowEvent e) {
+                //娣诲姞浜嬩欢:
+                jFrame.setEnabled(true);//灏嗕富鐣岄潰鍐嶈缃负鍙搷浣滅殑
+            }
+        });
+        GridBagLayout layout = new GridBagLayout();
+        frame1.setLayout(layout);
+
+        JComboBoxItem[] projectList = djJdgzNetworkLevel1Service.getProjectList();
+        JComboBoxItem[] deptList = sysTeamGroupClassService.getDeptList();
+
+        String[] typeList = new String[]{
+                "","杩涜涓�","涓存湡","閫炬湡","姝e父瀹屾垚","瓒呮湡瀹屾垚"
+        };
+
+        JLabel JLabel1 = new JLabel("宸ョ▼");
+        JComboBox<JComboBoxItem> comboBox0 = new JComboBox<>(projectList);
+        comboBox0.setPreferredSize(new Dimension(200, 28));
+        comboBox0.setSelectedIndex(-1);
+
+        JLabel JLabel4 = new JLabel("閮ㄩ棬");
+        JComboBox<JComboBoxItem> comboBox3 = new JComboBox<>(deptList);
+        comboBox3.setPreferredSize(new Dimension(200, 28));
+
+        JComboBoxItem[] teamList1 = sysTeamGroupClassService.getTeamList(deptList[0].getId());
+
+        JLabel JLabel5 = new JLabel("涓撲笟");
+        JComboBox<JComboBoxItem> comboBox4 = new JComboBox<>(teamList1);
+        comboBox4.setPreferredSize(new Dimension(200, 28));
+
+        JLabel JLabel7 = new JLabel("鐘舵��");
+        JComboBox<String> comboBox6 = new JComboBox<>(typeList);
+        comboBox6.setPreferredSize(new Dimension(200, 28));
+
+        comboBox3.addItemListener(new ItemListener() {
+            @Override
+            public void itemStateChanged(ItemEvent e) {
+                if (e.getStateChange() == ItemEvent.SELECTED) {
+                    JComboBoxItem selectedItem = (JComboBoxItem) comboBox3.getSelectedItem();
+                    if (selectedItem != null) {
+                        long selectedId = selectedItem.getId();
+
+                        JComboBoxItem[] teamList = sysTeamGroupClassService.getTeamList(selectedId);
+                        comboBox4.setModel(new DefaultComboBoxModel<>(teamList));
+                        comboBox4.setSelectedIndex(-1);
+                    }
+                }
+            }
+        });
+
+        JButton btnExport = new JButton("瀵煎嚭");
+
+        frame1.add(JLabel1, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        frame1.add(comboBox0, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+        frame1.add(JLabel4, new GBC(0, 1, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        frame1.add(comboBox3, new GBC(1, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+        frame1.add(JLabel5, new GBC(0, 2, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        frame1.add(comboBox4, new GBC(1, 2, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+        frame1.add(JLabel7, new GBC(0, 3, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        frame1.add(comboBox6, new GBC(1, 3, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+        frame1.add(btnExport, new GBC(0, 4, 2, 1).setWeight(1, 0));
+
+        btnExport.addActionListener(new ActionListener() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                JComboBoxItem projectItem = (JComboBoxItem) comboBox0.getSelectedItem();
+                JComboBoxItem deptItem = (JComboBoxItem) comboBox3.getSelectedItem();
+                JComboBoxItem teamGroupItem = (JComboBoxItem) comboBox4.getSelectedItem();
+                String statusItem = comboBox6.getSelectedItem().toString();
+
+                Long level1NetworkId = null;
+                Long deptId = null;
+                Long teamGroupId = null;
+                String status = null;
+
+                if (projectItem != null) {
+                    level1NetworkId = projectItem.getId();
+                } else {
+                    JOptionPane.showMessageDialog(null, "娌℃湁閫夋嫨宸ョ▼", "鎻愮ず", JOptionPane.WARNING_MESSAGE);
+                    return;
+                }
+                if (deptId != null) {
+                    deptId = deptItem.getId();
+                }
+                if (teamGroupItem != null) {
+                    teamGroupId = teamGroupItem.getId();
+                }
+
+                if (StringUtils.isNotBlank(statusItem)) {
+                    status = statusItem;
+                }
+
+                String fileName = "涓夌骇缃戠粶鍥剧姸鎬�.xlsx";
+                JFileChooser fileChooser = new JFileChooser();
+                fileChooser.setSelectedFile(new File(fileName));
+                int result = fileChooser.showSaveDialog(frame1);
+
+                if (result == JFileChooser.APPROVE_OPTION) {
+                    File selectedFile = fileChooser.getSelectedFile();
+                    level3Service.exportExcel(selectedFile.getPath(), level1NetworkId,deptId, teamGroupId, status);
+                    JOptionPane.showMessageDialog(frame1, "鏂囦欢瀵煎嚭鎴愬姛");
+                } else {
+                    JOptionPane.showMessageDialog(frame1, "鏂囦欢瀵煎嚭鍙栨秷");
+                }
+            }
+        });
+
+    }
+
     private JComboBoxItem[] createIsealCabinItems() {
         return new JComboBoxItem[]{
                 new JComboBoxItem(10000L, ""),

--
Gitblit v1.9.1