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