From bf5b01b14dc7bfc214e646425a62f5593890d7e3 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期六, 08 十一月 2025 22:05:37 +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