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