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/server/progressTrack/service/DjJdgzNetworkLevel3Service.java |  209 +++++++++++++++++++++++++---------------------------
 1 files changed, 101 insertions(+), 108 deletions(-)

diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
index c9748b3..89805e3 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
@@ -16,15 +16,13 @@
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel3List;
 import com.example.server.progressTrack.model.DjJdgzTrackRecord;
 import com.example.server.teamGroup.service.SysTeamGroupClassService;
+import com.example.server.utils.ExcelImportException;
 import com.example.server.utils.FileUtils;
 import com.example.server.utils.ImportUtil;
 import com.example.server.utils.UUIDUtil;
 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.beans.factory.annotation.Value;
@@ -241,11 +239,13 @@
                 String teamGroupStr = ImportUtil.getCellValue(row, 4, pattern);
                 String cabinStr = ImportUtil.getCellValue(row, 5, pattern);
                 String typeStr = ImportUtil.getCellValue(row, 6, pattern);
-                String time1 = ImportUtil.getCellValue(row, 7, pattern);
-                String time2 = ImportUtil.getCellValue(row, 8, pattern);
-                String time3 = ImportUtil.getCellValue(row, 9, pattern);
-                String time4 = ImportUtil.getCellValue(row, 10, pattern);
-                String time5 = ImportUtil.getCellValue(row, 11, pattern);
+
+                Cell time1 = row.getCell(7);
+                Cell time2 = row.getCell(8);
+                Cell time3 = row.getCell(9);
+                Cell time4 = row.getCell(10);
+                Cell time5 = row.getCell(11);
+
                 String repairUnit = ImportUtil.getCellValue(row, 12, pattern);
                 String repairUnitDirector = ImportUtil.getCellValue(row, 13, pattern);
                 String repairUnitContact = ImportUtil.getCellValue(row, 14, pattern);
@@ -338,7 +338,7 @@
                     data.setCabinId(idBuilder.toString());
                 }
 
-                if (StringUtils.isNotBlank(time1)) {
+                if (time1 != null) {
                     String Pname = "";
                     if (typeStr.equals("鏀规崲瑁�")||typeStr.equals("鏀硅繘鎬т慨鐞�")){
                         Pname = "璁惧鍒板巶";
@@ -347,30 +347,27 @@
                     }else if(typeStr.equals("涓嶅瑁呰澶�")){
                         Pname = "鎷嗗嵏鍑鸿埍";
                     }
-                    if (time1.matches("[0-9/]+")) {
-                        time1 = time1.replace("/", "-");
-                        node.setRequiredCompletionTime(time1);
-                        node.setProcessName(Pname);
-                        node.setSort(1);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time1.matches("[0-9.]+")) {
-                        time1 = time1.replace(".", "-");
-                        node.setRequiredCompletionTime(time1);
-                        node.setProcessName(Pname);
-                        node.setSort(1);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time1.matches("[0-9-]+")) {
-                        node.setRequiredCompletionTime(time1);
-                        node.setProcessName(Pname);
-                        node.setSort(1);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else {
-                        result = "绗�" + j + "琛�" + "绗�" + 1 + "涓�" + "鑺傜偣鏃堕棿鏃ユ湡鏍煎紡涓嶈鑼�";
+                    try {
+                        String date = ImportUtil.getDateStrFromCell(time1);
+
+                        if (date == null) {
+                            result = "绗�" + j + "琛�" + "鑺傜偣鏃堕棿涓嶈兘涓虹┖";
+                            ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+                            isErr = true;
+                        } else {
+                            node.setRequiredCompletionTime(date);
+                            node.setProcessName(Pname);
+                            node.setSort(1);
+                            DjJdgzNetworkLevel3ListService.insert(node);
+                        }
+                    } catch (ExcelImportException e) {
+                        result = "绗�" + j + "琛�" + "绗�" + 1 + "涓�" + "鑺傜偣鏃堕棿鏃ユ湡鏍煎紡涓嶆纭�";
+                        ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿鏃ユ湡鏍煎紡涓嶆纭�", sheetName, row1);
                         isErr = true;
                     }
                 }
 
-                if (StringUtils.isNotBlank(time2)) {
+                if (time2 != null) {
                     if (node.getId() != null) {
                         node.setId(null);
                     }
@@ -382,29 +379,27 @@
                     }else if(typeStr.equals("涓嶅瑁呰澶�")){
                         Pname = "鍏ュ簱";
                     }
-                    if (time2.matches("[0-9/]+")) {
-                        node.setRequiredCompletionTime(time2);
-                        node.setProcessName(Pname);
-                        node.setSort(2);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time2.matches("[0-9.]+")) {
-                        time2 = time2.replace(".", "-");
-                        node.setRequiredCompletionTime(time2);
-                        node.setProcessName(Pname);
-                        node.setSort(2);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time2.matches("[0-9-]+")) {
-                        node.setRequiredCompletionTime(time2);
-                        node.setProcessName(Pname);
-                        node.setSort(2);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else {
-                        result = "绗�" + j + "琛�" + "绗�" + 2 + "涓�" + "鑺傜偣鏃堕棿鐨勬棩鏈熸牸寮忎笉瑙勮寖";
+                    try {
+                        String date = ImportUtil.getDateStrFromCell(time2);
+
+                        if (date == null) {
+                            result = "绗�" + j + "琛�" + "鑺傜偣鏃堕棿涓嶈兘涓虹┖";
+                            ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+                            isErr = true;
+                        } else {
+                            node.setRequiredCompletionTime(date);
+                            node.setProcessName(Pname);
+                            node.setSort(2);
+                            DjJdgzNetworkLevel3ListService.insert(node);
+                        }
+                    } catch (ExcelImportException e) {
+                        result = "绗�" + j + "琛�" + "绗�" + 2 + "涓�" + "鑺傜偣鏃堕棿鐨勬棩鏈熸牸寮忎笉姝g‘";
+                        ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿鏃ユ湡鏍煎紡涓嶆纭�", sheetName, row1);
                         isErr = true;
                     }
                 }
 
-                if (StringUtils.isNotBlank(time3)) {
+                if (time3 != null) {
                     if (node.getId() != null) {
                         node.setId(null);
                     }
@@ -414,30 +409,28 @@
                     }else if(typeStr.equals("涓嶅瑁呰澶�")){
                         Pname = "瀛樻斁浣嶇疆";
                     }
-                    if (time3.matches("[0-9/]+")) {
-                        time3 = time3.replace("/", "-");
-                        node.setRequiredCompletionTime(time3);
-                        node.setProcessName(Pname);
-                        node.setSort(3);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time3.matches("[0-9.]+")) {
-                        time3 = time3.replace(".", "-");
-                        node.setRequiredCompletionTime(time3);
-                        node.setProcessName(Pname);
-                        node.setSort(3);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time3.matches("[0-9-]+")) {
-                        node.setRequiredCompletionTime(time3);
-                        node.setProcessName(Pname);
-                        node.setSort(3);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else {
-                        result = "绗�" + j + "琛�" + "绗�" + 3 + "涓�" + "鑺傜偣鏃堕棿鐨勬棩鏈熸牸寮忎笉瑙勮寖";
+                    try {
+                        String date = ImportUtil.getDateStrFromCell(time3);
+
+                        if (date == null) {
+                            result = "绗�" + j + "琛�" + "鑺傜偣鏃堕棿涓嶈兘涓虹┖";
+                            ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+                            isErr = true;
+                        } else {
+                            node.setRequiredCompletionTime(date);
+                            node.setProcessName(Pname);
+                            node.setSort(3);
+                            DjJdgzNetworkLevel3ListService.insert(node);
+                        }
+                    } catch (ExcelImportException e) {
+                        result = "绗�" + j + "琛�" + "绗�" + 3 + "涓�" + "鑺傜偣鏃堕棿鐨勬棩鏈熸牸寮忎笉姝g‘";
+                        ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿鏃ユ湡鏍煎紡涓嶆纭�", sheetName, row1);
                         isErr = true;
                     }
                 }
 
-                if (StringUtils.isNotBlank(time4)) {
+
+                if (time4 != null) {
                     if (node.getId() != null) {
                         node.setId(null);
                     }
@@ -447,52 +440,52 @@
                     }else if(typeStr.equals("涓嶅瑁呰澶�")){
                         Pname = "绉讳氦T闃�";
                     }
-                    if (time4.matches("[0-9/]+")) {
-                        time4 = time4.replace("/", "-");
-                        node.setRequiredCompletionTime(time4);
-                        node.setProcessName(Pname);
-                        node.setSort(4);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time4.matches("[0-9.]+")) {
-                        time4 = time4.replace(".", "-");
-                        node.setRequiredCompletionTime(time4);
-                        node.setProcessName(Pname);
-                        node.setSort(4);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time4.matches("[0-9-]+")) {
-                        node.setRequiredCompletionTime(time4);
-                        node.setProcessName(Pname);
-                        node.setSort(4);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else {
-                        result = "绗�" + j + "琛�" + "绗�" + 4 + "涓�" + "鑺傜偣鏃堕棿鐨勬棩鏈熸牸寮忎笉瑙勮寖";
+                    try {
+                        String date = ImportUtil.getDateStrFromCell(time4);
+
+                        if (date == null) {
+                            result = "绗�" + j + "琛�" + "鑺傜偣鏃堕棿涓嶈兘涓虹┖";
+                            ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+                            isErr = true;
+                        } else {
+                            node.setRequiredCompletionTime(date);
+                            node.setProcessName(Pname);
+                            node.setSort(4);
+                            DjJdgzNetworkLevel3ListService.insert(node);
+                        }
+                    } catch (ExcelImportException e) {
+                        result = "绗�" + j + "琛�" + "绗�" + 4 + "涓�" + "鑺傜偣鏃堕棿鐨勬棩鏈熸牸寮忎笉姝g‘";
+                        ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿鏃ユ湡鏍煎紡涓嶆纭�", sheetName, row1);
                         isErr = true;
                     }
                 }
 
-                if (StringUtils.isNotBlank(time5)) {
+                if (time5 != null) {
                     if (node.getId() != null) {
                         node.setId(null);
                     }
-                    if (time5.matches("[0-9/]+")) {
-                        time5 = time5.replace("/", "-");
-                        node.setRequiredCompletionTime(time5);
-                        node.setProcessName("鍥炶");
-                        node.setSort(5);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time5.matches("[0-9.]+")) {
-                        time5 = time5.replace(".", "-");
-                        node.setRequiredCompletionTime(time5);
-                        node.setProcessName("鍥炶");
-                        node.setSort(5);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else if (time5.matches("[0-9-]+")) {
-                        node.setRequiredCompletionTime(time5);
-                        node.setProcessName("鍥炶");
-                        node.setSort(5);
-                        DjJdgzNetworkLevel3ListService.insert(node);
-                    } else {
-                        result = "绗�" + j + "琛�" + "绗�" + 5 + "涓�" + "瑕佹眰瀹屾垚鏃堕棿鐨勬棩鏈熸牸寮忎笉瑙勮寖";
+                    String Pname = "";
+                    if(typeStr.equals("淇悊")){
+                        Pname = "璁惧杩斿巶";
+                    }else if(typeStr.equals("涓嶅瑁呰澶�")){
+                        Pname = "绉讳氦T闃�";
+                    }
+                    try {
+                        String date = ImportUtil.getDateStrFromCell(time5);
+
+                        if (date == null) {
+                            result = "绗�" + j + "琛�" + "鑺傜偣鏃堕棿涓嶈兘涓虹┖";
+                            ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+                            isErr = true;
+                        } else {
+                            node.setRequiredCompletionTime(date);
+                            node.setProcessName(Pname);
+                            node.setSort(5);
+                            DjJdgzNetworkLevel3ListService.insert(node);
+                        }
+                    } catch (ExcelImportException e) {
+                        result = "绗�" + j + "琛�" + "绗�" + 5 + "涓�" + "鑺傜偣鏃堕棿鐨勬棩鏈熸牸寮忎笉姝g‘";
+                        ImportUtil.updateErrMap(errMap, "鑺傜偣鏃堕棿鏃ユ湡鏍煎紡涓嶆纭�", sheetName, row1);
                         isErr = true;
                     }
                 }

--
Gitblit v1.9.1