From e301d5c4e6de0aca423c54481d100e6ca2886b01 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期六, 08 十一月 2025 22:57:12 +0800
Subject: [PATCH] 清洗数据库日期错误,并且导入日期通用化处理
---
src/main/java/com/example/server/progressTrack/service/DjJdgzDismantTrackService.java | 147 +++++++++++++++++++++++++++---------------------
1 files changed, 82 insertions(+), 65 deletions(-)
diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzDismantTrackService.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzDismantTrackService.java
index cdef401..b72e13c 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzDismantTrackService.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzDismantTrackService.java
@@ -12,26 +12,17 @@
import com.example.server.progressTrack.model.DjJdgzDismantTrack;
import com.example.server.progressTrack.model.DjJdgzNetworkLevel3;
import com.example.server.progressTrack.model.DjJdgzTrackRecord;
-import com.example.server.utils.FileUtils;
-import com.example.server.utils.ImportUtil;
-import com.example.server.utils.TreeFieldUtils;
-import com.example.server.utils.UUIDUtil;
+import com.example.server.utils.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
@@ -49,6 +40,9 @@
public List<DjJdgzDismantTrack> getList(Long level3Id, Long cabinId) {
return baseDao.getList(level3Id, cabinId);
+ }
+ public List<DjJdgzDismantTrack> getAll() {
+ return baseDao.getAll();
}
public void save(List<DjJdgzDismantTrack> list) {
@@ -93,15 +87,15 @@
sheetName = sheet.getSheetName(); //鑾峰彇褰撳墠sheet鍚嶇О
sum = sum + num;
- List<DjJdgzNetworkLevel3> list = djJdgzNetworkLevel3Service.getList(null, null, null, null, null,null,null,null);
+ List<DjJdgzNetworkLevel3> list = djJdgzNetworkLevel3Service.getList(null, null, null, null, null, null, null, null);
JComboBoxItem[] list1 = cabinService.getList();
Map<String, Long> level3Map = new HashMap<>();
Map<String, Long> cabinMap = new HashMap<>();
Map<String, Integer> statusMap = new HashMap<>();
- statusMap.put("杩涜涓�",0);
- statusMap.put("宸插畬鎴�",1);
+ statusMap.put("杩涜涓�", 0);
+ statusMap.put("宸插畬鎴�", 1);
for (DjJdgzNetworkLevel3 level3 : list) {
level3Map.put(level3.getName(), level3.getId());
@@ -124,19 +118,27 @@
String sbName = ImportUtil.getCellValue(row, 0, pattern);
String name = ImportUtil.getCellValue(row, 1, pattern);
String cabin = ImportUtil.getCellValue(row, 2, pattern);
- String cxTime = ImportUtil.getCellValue(row, 3, pattern);
+
+ Cell cxTime = row.getCell(3);
+
String cxUnit = ImportUtil.getCellValue(row, 4, pattern);
String cxStaff = ImportUtil.getCellValue(row, 5, pattern);
String cxAssis = ImportUtil.getCellValue(row, 6, pattern);
- String ccTime = ImportUtil.getCellValue(row, 7, pattern);
+
+ Cell ccTime = row.getCell(7);
+
String ccUnit = ImportUtil.getCellValue(row, 8, pattern);
String ccStaff = ImportUtil.getCellValue(row, 9, pattern);
String ccAssis = ImportUtil.getCellValue(row, 10, pattern);
- String tzTime = ImportUtil.getCellValue(row, 11, pattern);
+
+ Cell tzTime = row.getCell(11);
+
String czr = ImportUtil.getCellValue(row, 12, pattern);
String tzWeight = ImportUtil.getCellValue(row, 13, pattern);
String tzAssis = ImportUtil.getCellValue(row, 14, pattern);
- String rkTime = ImportUtil.getCellValue(row, 15, pattern);
+
+ Cell rkTime = row.getCell(15);
+
String rkStaff = ImportUtil.getCellValue(row, 16, pattern);
String local = ImportUtil.getCellValue(row, 17, pattern);
String statusStr = ImportUtil.getCellValue(row, 18, pattern);
@@ -185,20 +187,24 @@
}
}
- if (StringUtils.isNotBlank(cxTime)) {
- if (cxTime.matches("[0-9/]+")) {
- cxTime = cxTime.replace("/", "-");
- data.setDismantTime(cxTime);
- } else if (cxTime.matches("[0-9.]+")) {
- cxTime = cxTime.replace(".", "-");
- data.setDismantTime(cxTime);
- } else if (cxTime.matches("[0-9-]+")) {
- data.setDismantTime(cxTime);
- } else {
- result = "绗�" + j + "琛�" + "鎷嗗嵏鏃堕棿鏃ユ湡鏍煎紡涓嶈鑼�";
+ if (cxTime != null) {
+ try {
+ String date = ImportUtil.getDateStrFromCell(cxTime);
+
+ if (date == null) {
+ result = "绗�" + j + "琛�" + "鎷嗗嵏鏃堕棿涓嶈兘涓虹┖";
+ ImportUtil.updateErrMap(errMap, "鎷嗗嵏鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+ isErr = true;
+ } else {
+ data.setDismantTime(date);
+ }
+ } catch (ExcelImportException e) {
+ result = "绗�" + j + "琛�" + "鎷嗗嵏鏃堕棿鏍煎紡涓嶆纭�";
+ ImportUtil.updateErrMap(errMap, "鎷嗗嵏鏃堕棿鏍煎紡涓嶆纭�", sheetName, row1);
isErr = true;
}
}
+
if (StringUtils.isNotBlank(cxUnit)) {
data.setDismantUnit(cxUnit);
@@ -210,20 +216,24 @@
data.setDismantAssistant(cxAssis);
}
- if (StringUtils.isNotBlank(ccTime)) {
- if (ccTime.matches("[0-9/]+")) {
- ccTime = ccTime.replace("/", "-");
- data.setExitTime(ccTime);
- } else if (ccTime.matches("[0-9.]+")) {
- ccTime = ccTime.replace(".", "-");
- data.setExitTime(ccTime);
- } else if (ccTime.matches("[0-9-]+")) {
- data.setExitTime(ccTime);
- } else {
- result = "绗�" + j + "琛�" + "鍑鸿埍鏃堕棿鏃ユ湡鏍煎紡涓嶈鑼�";
+ if (ccTime != null) {
+ try {
+ String date = ImportUtil.getDateStrFromCell(ccTime);
+
+ if (date == null) {
+ result = "绗�" + j + "琛�" + "鍑鸿埍鏃堕棿涓嶈兘涓虹┖";
+ ImportUtil.updateErrMap(errMap, "鍑鸿埍鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+ isErr = true;
+ } else {
+ data.setExitTime(date);
+ }
+ } catch (ExcelImportException e) {
+ result = "绗�" + j + "琛�" + "鍑鸿埍鏃堕棿鏍煎紡涓嶆纭�";
+ ImportUtil.updateErrMap(errMap, "鍑鸿埍鏃堕棿鏍煎紡涓嶆纭�", sheetName, row1);
isErr = true;
}
}
+
if (StringUtils.isNotBlank(ccUnit)) {
data.setExitUnit(ccUnit);
@@ -235,20 +245,24 @@
data.setExitAssistant(ccAssis);
}
- if (StringUtils.isNotBlank(tzTime)) {
- if (tzTime.matches("[0-9/]+")) {
- tzTime = tzTime.replace("/", "-");
- data.setReturnWeightTime(tzTime);
- } else if (tzTime.matches("[0-9.]+")) {
- tzTime = tzTime.replace(".", "-");
- data.setReturnWeightTime(tzTime);
- } else if (tzTime.matches("[0-9-]+")) {
- data.setReturnWeightTime(tzTime);
- } else {
- result = "绗�" + j + "琛�" + "閫�閲嶆椂闂存棩鏈熸牸寮忎笉瑙勮寖";
+ if (tzTime != null) {
+ try {
+ String date = ImportUtil.getDateStrFromCell(tzTime);
+
+ if (date == null) {
+ result = "绗�" + j + "琛�" + "閫�閲嶆椂闂翠笉鑳戒负绌�";
+ ImportUtil.updateErrMap(errMap, "閫�閲嶆椂闂翠笉鑳戒负绌�", sheetName, row1);
+ isErr = true;
+ } else {
+ data.setReturnWeightTime(date);
+ }
+ } catch (ExcelImportException e) {
+ result = "绗�" + j + "琛�" + "閫�閲嶆椂闂存牸寮忎笉姝g‘";
+ ImportUtil.updateErrMap(errMap, "閫�閲嶆椂闂存牸寮忎笉姝g‘", sheetName, row1);
isErr = true;
}
}
+
if (StringUtils.isNotBlank(czr)) {
data.setWeigher(czr);
@@ -260,17 +274,20 @@
data.setReturnWeightAssistant(tzAssis);
}
- if (StringUtils.isNotBlank(rkTime)) {
- if (rkTime.matches("[0-9/]+")) {
- rkTime = rkTime.replace("/", "-");
- data.setWarehouseTime(rkTime);
- } else if (rkTime.matches("[0-9.]+")) {
- rkTime = rkTime.replace(".", "-");
- data.setWarehouseTime(rkTime);
- } else if (rkTime.matches("[0-9-]+")) {
- data.setWarehouseTime(rkTime);
- } else {
- result = "绗�" + j + "琛�" + "鍏ュ簱鏃堕棿鏃ユ湡鏍煎紡涓嶈鑼�";
+ if (rkTime != null) {
+ try {
+ String date = ImportUtil.getDateStrFromCell(rkTime);
+
+ if (date == null) {
+ result = "绗�" + j + "琛�" + "鍏ュ簱鏃堕棿涓嶈兘涓虹┖";
+ ImportUtil.updateErrMap(errMap, "鍏ュ簱鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+ isErr = true;
+ } else {
+ data.setWarehouseTime(date);
+ }
+ } catch (ExcelImportException e) {
+ result = "绗�" + j + "琛�" + "鍏ュ簱鏃堕棿鏍煎紡涓嶆纭�";
+ ImportUtil.updateErrMap(errMap, "鍏ュ簱鏃堕棿鏍煎紡涓嶆纭�", sheetName, row1);
isErr = true;
}
}
@@ -339,7 +356,7 @@
columnDto.add(new ExcelColumnDto("褰撳墠瀛樻斁浣嶇疆", "currentLocation", 15, HorizontalAlignment.LEFT));
columnDto.add(new ExcelColumnDto("鐘舵��", "currStatus", 10, HorizontalAlignment.CENTER));
- List<DjJdgzDismantTrack> list = baseDao.getdata(deptId,teamGroupId, level1NetworkId, level3NetworkId, status);
+ List<DjJdgzDismantTrack> list = baseDao.getdata(deptId, teamGroupId, level1NetworkId, level3NetworkId, status);
for (int i = 0; i < list.size(); i++) {
DjJdgzDismantTrack data = list.get(i);
@@ -400,6 +417,6 @@
}
public List<StatistDismantDto> getStatist2(Long level1Id, Long id) {
- return baseDao.getStatist2(level1Id,id);
+ return baseDao.getStatist2(level1Id, id);
}
}
--
Gitblit v1.9.1