From d30e385951ce03335a5023f0775fd144da3c0b88 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 18 三月 2025 11:18:31 +0800 Subject: [PATCH] 修改 --- src/main/java/com/example/client/service/ExportTrackRecordService.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 47 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/example/client/service/ExportTrackRecordService.java b/src/main/java/com/example/client/service/ExportTrackRecordService.java index 6383426..86cb788 100644 --- a/src/main/java/com/example/client/service/ExportTrackRecordService.java +++ b/src/main/java/com/example/client/service/ExportTrackRecordService.java @@ -5,7 +5,9 @@ import com.example.client.dto.JComboBoxItem; import com.example.client.utils.CommonTable; import com.example.client.utils.GBC; +import com.example.client.utils.MultiSelectComboBox2; import com.example.client.utils.RequiredLabel; +import com.example.server.ExportExcel.dto.ExcelColumnDto; import com.example.server.progressTrack.model.DjJdgzTrackRecord; import com.example.server.progressTrack.service.DjJdgzNetworkLevel1Service; import com.example.server.progressTrack.service.DjJdgzNetworkLevel3ListService; @@ -13,6 +15,7 @@ import com.example.server.progressTrack.service.DjJdgzTrackRecordService; import com.example.server.teamGroup.service.SysTeamGroupClassService; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.jdesktop.swingx.JXDatePicker; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -23,10 +26,8 @@ import java.io.File; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; +import java.util.*; import java.util.List; -import java.util.Map; @Service public class ExportTrackRecordService { @@ -58,6 +59,28 @@ GridBagLayout layout = new GridBagLayout(); frame1.setLayout(layout); + + List<ExcelColumnDto> columnDto = new ArrayList<>(); + + columnDto.add(new ExcelColumnDto("涓�绾ц妭鐐�", "Level1NodeName", 20, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("浜岀骇鑺傜偣", "Level2NodeName", 20, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("椤圭洰鍚嶇О", "Level3NetworkName", 20, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("褰撳墠鑺傜偣", "Level3NodeName", 20, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("涓撲笟", "teamgroupName", 20, HorizontalAlignment.CENTER)); + columnDto.add(new ExcelColumnDto("鎬绘壙淇崟浣嶅強璐熻矗浜�", "GeneralRepair", 25, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("鍒嗘壙淇崟浣嶅強璐熻矗浜�", "Repair", 25, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("璺熻釜鏂瑰紡", "trackMethodStr", 10, HorizontalAlignment.CENTER)); + columnDto.add(new ExcelColumnDto("鍔╀慨浜�", "TrackPerson", 25, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("鍘傛柟", "TrackedPerson", 25, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("璺熻釜鍦扮偣", "TrackLocation", 10, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("鑺傜偣杩涘睍", "status", 10, HorizontalAlignment.CENTER)); + columnDto.add(new ExcelColumnDto("鑴辨湡椋庨櫓", "hasDelayRiskStr", 10, HorizontalAlignment.CENTER)); + columnDto.add(new ExcelColumnDto("棰勮瀹屾垚鏃堕棿", "EstimatedCompletionTime", 15, HorizontalAlignment.CENTER)); + columnDto.add(new ExcelColumnDto("瀛樺湪闂", "Problem", 20, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("鍚庣画璁″垝", "FollowupPlan", 20, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("澶囨敞", "Remark", 20, HorizontalAlignment.LEFT)); + columnDto.add(new ExcelColumnDto("濉啓鏃堕棿", "UpdateDate", 15, HorizontalAlignment.CENTER)); + JComboBoxItem[] statusList = { new JComboBoxItem(0L, "杩涜涓�"), @@ -108,6 +131,14 @@ JLabel JLabel7 = new JLabel("缁撴潫鏃ユ湡"); JXDatePicker endDate = new JXDatePicker(); endDate.setPreferredSize(new Dimension(300, 28)); + + List<String> itemList = new ArrayList<>(); + for (ExcelColumnDto dto : columnDto) { + itemList.add(dto.getColumnDesc()); // 灏� dto.getColumnDesc() 娣诲姞鍒� List 涓� + } + + String[] items = itemList.toArray(new String[0]); + MultiSelectComboBox2 mulcomboBox = new MultiSelectComboBox2(items, null, null); comboBox.addItemListener(new ItemListener() { @Override @@ -167,8 +198,9 @@ frame1.add(JLabel7, new GBC(0, 7, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(endDate, new GBC(1, 7, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); + frame1.add(mulcomboBox, new GBC(1, 8, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); - frame1.add(exportButton, new GBC(0, 8, 2, 1).setWeight(0, 0)); + frame1.add(exportButton, new GBC(0, 11, 2, 1).setWeight(0, 0)); exportButton.addActionListener(new ActionListener() { @Override @@ -192,7 +224,7 @@ if (projectItem != null) { level1NetworkId = projectItem.getId(); - }else { + } else { JOptionPane.showMessageDialog(null, "娌℃湁閫夋嫨宸ョ▼", "鎻愮ず", JOptionPane.WARNING_MESSAGE); return; } @@ -212,17 +244,21 @@ istq = Math.toIntExact(tq.getId()); } - String filePath = "璺熻釜璁板綍鎶ヨ〃.xlsx"; - djJdgzTrackRecordService.exportExcel(filePath, teamGroupId, level1NetworkId, level3NetworkId, level3NodeId, status, beginDate2, endDate2, istq); + List<ExcelColumnDto> columnDto2 = new ArrayList<>(); + Set<Integer> selectedIndices = mulcomboBox.getSelectedIndices(); + + for (Integer index : selectedIndices) { + columnDto2.add(columnDto.get(index)); + } + + String fileName = "璺熻釜璁板綍鎶ヨ〃.xlsx"; JFileChooser fileChooser = new JFileChooser(); - fileChooser.setSelectedFile(new File(filePath)); + fileChooser.setSelectedFile(new File(fileName)); int result = fileChooser.showSaveDialog(frame1); if (result == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); - // 灏嗘枃浠剁Щ鍔ㄥ埌鐢ㄦ埛閫夋嫨鐨勪綅缃� - File originalFile = new File(filePath); - originalFile.renameTo(selectedFile); + djJdgzTrackRecordService.exportExcel(selectedFile.getPath(), teamGroupId, level1NetworkId, level3NetworkId, level3NodeId, status, beginDate2, endDate2, istq, columnDto2); JOptionPane.showMessageDialog(frame1, "鏂囦欢瀵煎嚭鎴愬姛"); } else { JOptionPane.showMessageDialog(frame1, "鏂囦欢瀵煎嚭鍙栨秷"); -- Gitblit v1.9.1