From bf5b01b14dc7bfc214e646425a62f5593890d7e3 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期六, 08 十一月 2025 22:05:37 +0800
Subject: [PATCH] 清洗数据库日期错误,并且导入日期通用化处理
---
src/main/resources/mapper/progressTrack/DjJdgzDismantTrackDao.xml | 6
src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java | 38 +-
src/main/java/com/example/server/utils/ExcelImportException.java | 40 ++
src/main/java/com/example/server/utils/ImportUtil.java | 190 +++++++++++++
src/main/java/com/example/server/utils/ImportErrMessage.java | 29 ++
lib/sqlite-jdbc-3.32.3.2.jar | 0
src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java | 209 +++++++-------
src/main/java/com/example/server/utils/NumToDate.java | 133 +++++++++
src/main/java/com/example/server/progressTrack/service/DjJdgzDismantTrackService.java | 144 +++++----
src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml | 2
src/main/java/com/example/client/Main.java | 17 +
11 files changed, 613 insertions(+), 195 deletions(-)
diff --git a/lib/sqlite-jdbc-3.32.3.2.jar b/lib/sqlite-jdbc-3.32.3.2.jar
new file mode 100644
index 0000000..37bdd96
--- /dev/null
+++ b/lib/sqlite-jdbc-3.32.3.2.jar
Binary files differ
diff --git a/src/main/java/com/example/client/Main.java b/src/main/java/com/example/client/Main.java
index 7e8a0ee..a92cef7 100644
--- a/src/main/java/com/example/client/Main.java
+++ b/src/main/java/com/example/client/Main.java
@@ -1,6 +1,7 @@
package com.example.client;
import com.example.client.service.*;
+import com.example.server.utils.NumToDate;
import com.teamdev.jxbrowser.chromium.*;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,6 +24,8 @@
public class Main extends JFrame implements MouseListener {
@Autowired
private SetUIFontService setUIFontService;
+ @Autowired
+ private NumToDate numToDate;
@Autowired
private MenuService treeServise;
private final JPopupMenu menu = new JPopupMenu();
@@ -55,6 +58,20 @@
}
public void Start(Integer role, Long userId) throws HeadlessException {
+ final java.util.concurrent.ExecutorService executor = java.util.concurrent.Executors.newSingleThreadExecutor(r -> {
+ Thread t = new Thread(r, "numToDate-thread");
+ t.setDaemon(true);
+ return t;
+ });
+ executor.submit(() -> {
+ try {
+ numToDate.numDate();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ } finally {
+ executor.shutdown();
+ }
+ });
//鑾峰彇灞忓箷瀹介珮
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
Rectangle rect = ge.getMaximumWindowBounds();
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..10a1939 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.*;
/**
@@ -93,15 +84,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 +115,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 +184,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 +213,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 +242,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 +271,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 +353,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 +414,6 @@
}
public List<StatistDismantDto> getStatist2(Long level1Id, Long id) {
- return baseDao.getStatist2(level1Id,id);
+ return baseDao.getStatist2(level1Id, id);
}
}
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;
}
}
diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
index 15b99ea..6339b3b 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
@@ -14,16 +14,10 @@
import com.example.server.progressTrack.model.DjJdgzTrackRecord;
import com.example.server.teamGroup.service.SysTeamGroupClassService;
import com.example.server.user.service.UserService;
-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;
@@ -360,7 +354,8 @@
String trackLocationStr = ImportUtil.getCellValue(row, 5, pattern);
String currentStatusStr = ImportUtil.getCellValue(row, 6, pattern);
String hasDelayRiskStr = ImportUtil.getCellValue(row, 7, pattern);
- String estimatedCompletionTimeStr = ImportUtil.getCellValue(row, 8, pattern);
+ Cell estimatedCompletionTimeStr = row.getCell(8);
+ //String estimatedCompletionTimeStr = ImportUtil.getCellValue(row, 8, pattern);
String problemStr = ImportUtil.getCellValue(row, 9, pattern);
String followupPlanStr = ImportUtil.getCellValue(row, 10, pattern);
String remarkStr = ImportUtil.getCellValue(row, 11, pattern);
@@ -441,17 +436,20 @@
data.setHasDelayRisk(hasDelayRiskMap.get(hasDelayRiskStr));
}
- if (StringUtils.isNotBlank(estimatedCompletionTimeStr)) {
- if (estimatedCompletionTimeStr.matches("[0-9/]+")) {
- estimatedCompletionTimeStr = estimatedCompletionTimeStr.replace("/", "-");
- data.setEstimatedCompletionTime(estimatedCompletionTimeStr);
- } else if (estimatedCompletionTimeStr.matches("[0-9.]+")) {
- estimatedCompletionTimeStr = estimatedCompletionTimeStr.replace(".", "-");
- data.setEstimatedCompletionTime(estimatedCompletionTimeStr);
- } else if (estimatedCompletionTimeStr.matches("[0-9-]+")) {
- data.setEstimatedCompletionTime(estimatedCompletionTimeStr);
- } else {
- result = "绗�" + j + "琛�" + "绗�" + 1 + "涓�" + "棰勮瀹屾垚鏃堕棿鏃ユ湡鏍煎紡涓嶈鑼�";
+ if (estimatedCompletionTimeStr != null) {
+ try {
+ String date = ImportUtil.getDateStrFromCell(estimatedCompletionTimeStr);
+
+ if (date == null) {
+ result = "绗�" + j + "琛�" + "棰勮瀹屾垚鏃堕棿涓嶈兘涓虹┖";
+ ImportUtil.updateErrMap(errMap, "棰勮瀹屾垚鏃堕棿涓嶈兘涓虹┖", sheetName, row1);
+ isErr = true;
+ } else {
+ data.setEstimatedCompletionTime(date);
+ }
+ } catch (ExcelImportException e) {
+ result = "绗�" + j + "琛�" + "绗�" + 1 + "涓�" + "棰勮瀹屾垚鏃堕棿鏃ユ湡鏍煎紡涓嶆纭�";
+ ImportUtil.updateErrMap(errMap, "棰勮瀹屾垚鏃堕棿鏃ユ湡鏍煎紡涓嶆纭�", sheetName, row1);
isErr = true;
}
}
diff --git a/src/main/java/com/example/server/utils/ExcelImportException.java b/src/main/java/com/example/server/utils/ExcelImportException.java
new file mode 100644
index 0000000..97a3030
--- /dev/null
+++ b/src/main/java/com/example/server/utils/ExcelImportException.java
@@ -0,0 +1,40 @@
+package com.example.server.utils;
+
+public class ExcelImportException extends Exception {
+ private static final long serialVersionUID = 1L;
+
+ private int code;
+ private String msg;
+
+ public ExcelImportException(int code, String msg) {
+ this.code = code;
+ this.msg = msg;
+ }
+
+ public ExcelImportException(String msg) {
+ super(msg);
+ this.msg = msg;
+ }
+
+ public ExcelImportException(String msg, Throwable e) {
+ super(msg, e);
+ this.msg = msg;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+}
diff --git a/src/main/java/com/example/server/utils/ImportErrMessage.java b/src/main/java/com/example/server/utils/ImportErrMessage.java
new file mode 100644
index 0000000..6df91ba
--- /dev/null
+++ b/src/main/java/com/example/server/utils/ImportErrMessage.java
@@ -0,0 +1,29 @@
+package com.example.server.utils;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ImportErrMessage implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("sheet鍚嶇О")
+ private String sheetName;
+
+// @ApiModelProperty("閿欒鍘熷洜")
+// private String errCause;
+
+ @ApiModelProperty("鍐呭(琛屾暟)")
+ private String lineNumber;
+
+ public ImportErrMessage() {
+ }
+
+ public ImportErrMessage(String sheetName, String lineNumber) {
+ this.sheetName = sheetName;
+ this.lineNumber = lineNumber;
+ }
+}
diff --git a/src/main/java/com/example/server/utils/ImportUtil.java b/src/main/java/com/example/server/utils/ImportUtil.java
index 72b0eea..b36ec60 100644
--- a/src/main/java/com/example/server/utils/ImportUtil.java
+++ b/src/main/java/com/example/server/utils/ImportUtil.java
@@ -1,14 +1,20 @@
package com.example.server.utils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
import java.text.DateFormat;
+import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.*;
+
+import static org.apache.commons.lang3.ObjectUtils.isEmpty;
+
public class ImportUtil {
@@ -77,4 +83,188 @@
}
return cellStr;
}
+
+ /**
+ * 鍒ゆ柇鏃堕棿鏍煎紡鏄惁姝g‘
+ *
+ * @param value
+ * @param format
+ * @return
+ */
+ public static boolean isDate(String value, String format) {
+
+ SimpleDateFormat sdf = null;
+ ParsePosition pos = new ParsePosition(0);//鎸囧畾浠庢墍浼犲瓧绗︿覆鐨勯浣嶅紑濮嬭В鏋�
+
+ if (value == null || isEmpty(format)) {
+ return false;
+ }
+ try {
+ sdf = new SimpleDateFormat(format);
+ sdf.setLenient(false);
+ Date date = sdf.parse(value, pos);
+ if (date == null) {
+ return false;
+ } else {
+ //鏇翠负涓ヨ皑鐨勬棩鏈�,濡�2011-03-024璁や负鏄笉鍚堟硶鐨�
+ if (pos.getIndex() > sdf.format(date).length()) {
+ return false;
+ }
+ return true;
+ }
+ } catch (Exception e) {
+ return false;
+ }
+ }
+ /**
+ * 瀵煎叆寮傚父澶勭悊
+ * @param errMap
+ * @param errSting
+ * @param sheetName
+ * @param row
+ */
+ public static void updateErrMap(Map<String, Object> errMap, String errSting, String sheetName, int row) {
+ if (!errMap.containsKey(errSting)) {
+ errMap.put(errSting, new ImportErrMessage(sheetName, row + "銆�"));
+ } else {
+ ImportErrMessage importErrMessage1 = (ImportErrMessage) errMap.get(errSting);
+ importErrMessage1.setLineNumber(importErrMessage1.getLineNumber() + row + "銆�");
+ }
+ }
+ /**
+ * 浠嶦xcel鐨勬棩鏈熷瓧娈靛鍏ユ暟鎹�
+ * 1. 濡傛灉Excel鍗曞厓鏍间负绌猴紝鍒欒繑鍥瀗ull
+ * 2. 鏃犺Excel鍗曞厓鏍兼牸寮忔槸浠�涔堬紝鍙鏄棩鏈熷唴瀹癸紝閮借兘瀵煎叆锛岃繑鍥濪ate瀵硅薄锛堝崟鍏冩牸涓烘枃鏈牸寮忔椂鏀寔yyyy-mm-dd銆亂yyy/mm/dd銆亂yyy.mm.dd鍙妝yyy骞碝M鏈坉d鏃ユ牸寮忥級
+ * 3. 濡傛灉Excel鍗曞厓鏍煎唴瀹逛笉鏄棩鏈燂紝鍒欐姏鍑篍xcelImportException
+ */
+ public static Date getDateFromCell(Cell cell) throws ExcelImportException {
+ if (cell == null) return null;
+
+ //瀹氫箟鏃堕棿鏍煎紡
+ List<String> DateFormatList = new ArrayList<>();
+ DateFormatList.add("yyyy骞碝M鏈坉d鏃�");
+ DateFormatList.add("yyyy/MM/dd");
+ DateFormatList.add("yyyy-MM-dd");
+ DateFormatList.add("yyyy.MM.dd");
+ List<SimpleDateFormat> formatList = new ArrayList<>();
+ formatList.add(new SimpleDateFormat("yyyy骞碝M鏈坉d鏃�"));//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓
+ formatList.add(new SimpleDateFormat("yyyy/MM/dd"));//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓
+ formatList.add(new SimpleDateFormat("yyyy-MM-dd"));//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓
+ formatList.add(new SimpleDateFormat("yyyy.MM.dd"));//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓
+
+ switch (cell.getCellType()) {
+ case STRING:
+ String strValue = cell.getStringCellValue();
+ if (StringUtils.isBlank(strValue)) return null;
+
+ strValue = strValue.trim();
+ try {
+ for (int i = 0; i < DateFormatList.size(); i++) {
+ if (ImportUtil.isDate(strValue, DateFormatList.get(i))) {
+ Date date = formatList.get(i).parse(strValue);
+ if (date != null) {
+ return date;
+ }
+ }
+ }
+ } catch (ParseException pe) {
+ throw new ExcelImportException("璇ュ崟鍏冩牸鏃ユ湡鏍煎紡涓嶆纭�");
+ }
+ throw new ExcelImportException("璇ュ崟鍏冩牸鏃ユ湡鏍煎紡涓嶆纭�");
+
+ case NUMERIC:
+ if (DateUtil.isCellDateFormatted(cell)) {
+ // 姝e父鏃ユ湡鏍煎紡
+ Date date = cell.getDateCellValue();
+ return date;
+ } else {
+ // 妫�鏌ユ槸鍚︽槸鏁板瓧褰㈠紡鐨勬棩鏈�
+ double numericValue = cell.getNumericCellValue();
+ if (isLikelyExcelDate(numericValue)) {
+ // 灏咵xcel鏁板瓧鏃ユ湡杞崲涓篔ava鏃ユ湡
+ Date date = DateUtil.getJavaDate(numericValue);
+ return date;
+ } else {
+ // 纭疄鏄櫘閫氭暟瀛�
+ throw new ExcelImportException("璇ュ崟鍏冩牸鍐呭涓嶆槸鏃ユ湡");
+ }
+ }
+
+ default:
+ throw new ExcelImportException("璇ュ崟鍏冩牸鍐呭涓嶆槸鏃ユ湡");
+ }
+ }
+
+ public static String getDateStrFromCell(Cell cell) throws ExcelImportException {
+ if (cell == null) return null;
+
+ //瀹氫箟鏃堕棿鏍煎紡
+ List<String> DateFormatList = new ArrayList<>();
+ DateFormatList.add("yyyy骞碝M鏈坉d鏃�");
+ DateFormatList.add("yyyy/MM/dd");
+ DateFormatList.add("yyyy-MM-dd");
+ DateFormatList.add("yyyy.MM.dd");
+ List<SimpleDateFormat> formatList = new ArrayList<>();
+ formatList.add(new SimpleDateFormat("yyyy骞碝M鏈坉d鏃�"));//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓
+ formatList.add(new SimpleDateFormat("yyyy/MM/dd"));//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓
+ formatList.add(new SimpleDateFormat("yyyy-MM-dd"));//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓
+ formatList.add(new SimpleDateFormat("yyyy.MM.dd"));//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓
+
+ switch (cell.getCellType()) {
+ case STRING:
+ String strValue = cell.getStringCellValue();
+ if (StringUtils.isBlank(strValue)) return null;
+
+ strValue = strValue.trim();
+ try {
+ for (int i = 0; i < DateFormatList.size(); i++) {
+ if (ImportUtil.isDate(strValue, DateFormatList.get(i))) {
+ Date date = formatList.get(i).parse(strValue);
+ if (date != null) {
+ return dateToString(date);
+ }
+ }
+ }
+ } catch (ParseException pe) {
+ throw new ExcelImportException("璇ュ崟鍏冩牸鏃ユ湡鏍煎紡涓嶆纭�");
+ }
+ throw new ExcelImportException("璇ュ崟鍏冩牸鏃ユ湡鏍煎紡涓嶆纭�");
+
+ case NUMERIC:
+ if (DateUtil.isCellDateFormatted(cell)) {
+ // 姝e父鏃ユ湡鏍煎紡
+ Date date = cell.getDateCellValue();
+ return dateToString(date);
+ } else {
+ // 妫�鏌ユ槸鍚︽槸鏁板瓧褰㈠紡鐨勬棩鏈�
+ double numericValue = cell.getNumericCellValue();
+ if (isLikelyExcelDate(numericValue)) {
+ // 灏咵xcel鏁板瓧鏃ユ湡杞崲涓篔ava鏃ユ湡
+ Date date = DateUtil.getJavaDate(numericValue);
+ return dateToString(date);
+ } else {
+ // 纭疄鏄櫘閫氭暟瀛�
+ throw new ExcelImportException("璇ュ崟鍏冩牸鍐呭涓嶆槸鏃ユ湡");
+ }
+ }
+
+ default:
+ throw new ExcelImportException("璇ュ崟鍏冩牸鍐呭涓嶆槸鏃ユ湡");
+ }
+ }
+ /**
+ * 鍒ゆ柇鏁板�兼槸鍚﹀彲鑳芥槸Excel鏃ユ湡
+ * Excel鏃ユ湡閫氬父鍦ㄤ竴瀹氳寖鍥村唴锛堝36526-73051瀵瑰簲2000-21000骞达級
+ */
+ private static boolean isLikelyExcelDate(double value) {
+ // Excel鏃ユ湡浠�1900-01-01寮�濮嬶紝搴忓垪鍙�1
+ // 鐜颁唬鏃ユ湡閫氬父鍦�36526-73051鑼冨洿鍐�
+ return value >= 36526 && value < 73051;
+ }
+
+ private static String dateToString (Date date) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ return sdf.format(date);
+ }
+
}
diff --git a/src/main/java/com/example/server/utils/NumToDate.java b/src/main/java/com/example/server/utils/NumToDate.java
new file mode 100644
index 0000000..807b554
--- /dev/null
+++ b/src/main/java/com/example/server/utils/NumToDate.java
@@ -0,0 +1,133 @@
+package com.example.server.utils;
+
+import com.example.server.progressTrack.model.DjJdgzDismantTrack;
+import com.example.server.progressTrack.model.DjJdgzNetworkLevel3;
+import com.example.server.progressTrack.model.DjJdgzNetworkLevel3List;
+import com.example.server.progressTrack.model.DjJdgzTrackRecord;
+import com.example.server.progressTrack.service.DjJdgzDismantTrackService;
+import com.example.server.progressTrack.service.DjJdgzNetworkLevel3ListService;
+import com.example.server.progressTrack.service.DjJdgzNetworkLevel3Service;
+import com.example.server.progressTrack.service.DjJdgzTrackRecordService;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.regex.Pattern;
+
+@Component
+public class NumToDate {
+ @Autowired
+ private DjJdgzNetworkLevel3ListService level3ListService;
+ @Autowired
+ private DjJdgzTrackRecordService recordService;
+ @Autowired
+ private DjJdgzDismantTrackService dismantTrackService;
+
+ public void numDate() {
+ Pattern numPattern = Pattern.compile("^\\d+$");
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ List<DjJdgzNetworkLevel3List> list = level3ListService.getList(null);
+ List<DjJdgzTrackRecord> list1 = recordService.getList(null, null, null, null, null, null, null, null);
+ List<DjJdgzDismantTrack> list2 = dismantTrackService.getList(null, null);
+ for (DjJdgzNetworkLevel3List item : list) {
+ String requiredCompletionTime = item.getRequiredCompletionTime();
+ String actualCompletion = item.getActualCompletion();
+ //鍒ゆ柇鏄惁涓烘暟瀛�
+ boolean matches = false;
+ boolean matches2 = false;
+ if (StringUtils.isNotBlank(requiredCompletionTime)) {
+ matches = numPattern.matcher(requiredCompletionTime).matches();
+ }
+ if (StringUtils.isNotBlank(actualCompletion)) {
+ matches2 = numPattern.matcher(actualCompletion).matches();
+ }
+
+ if (matches) {
+ //瀵规暟瀛楄繘琛岃浆鎹㈡棩鏈焬yyy-mm-dd
+ Date date = excelToDateUsingPOI(Double.parseDouble(requiredCompletionTime));
+ String formatDate = sdf.format(date);
+ item.setRequiredCompletionTime(formatDate);
+ level3ListService.update(item);
+ }
+ if (matches2) {
+ Date date2 = excelToDateUsingPOI(Double.parseDouble(actualCompletion));
+ String formatDate2 = sdf.format(date2);
+ item.setActualCompletion(formatDate2);
+ level3ListService.update(item);
+ }
+ }
+ for (DjJdgzTrackRecord item : list1) {
+ String estimatedCompletionTime = item.getEstimatedCompletionTime();
+ boolean matches = false;
+ if (StringUtils.isNotBlank(estimatedCompletionTime)) {
+ matches = numPattern.matcher(estimatedCompletionTime).matches();
+ }
+ if (matches) {
+ //瀵规暟瀛楄繘琛岃浆鎹㈡棩鏈焬yyy-mm-dd
+ Date date = excelToDateUsingPOI(Double.parseDouble(estimatedCompletionTime));
+ String formatDate = sdf.format(date);
+ item.setEstimatedCompletionTime(formatDate);
+ recordService.update(item);
+ }
+ }
+ for (DjJdgzDismantTrack item : list2) {
+ String dismantTime = item.getDismantTime();
+ String exitTime = item.getExitTime();
+ String warehouseTime = item.getWarehouseTime();
+ String returnWeightTime = item.getReturnWeightTime();
+ //鍒ゆ柇鏄惁涓烘暟瀛�
+ boolean matches = false;
+ boolean matches2 = false;
+ boolean matches3 = false;
+ boolean matches4 = false;
+ if (StringUtils.isNotBlank(dismantTime)) {
+ matches = numPattern.matcher(dismantTime).matches();
+ }
+ if (StringUtils.isNotBlank(exitTime)) {
+ matches2 = numPattern.matcher(exitTime).matches();
+ }
+ if (StringUtils.isNotBlank(warehouseTime)) {
+ matches3 = numPattern.matcher(warehouseTime).matches();
+ }
+ if (StringUtils.isNotBlank(returnWeightTime)) {
+ matches4 = numPattern.matcher(returnWeightTime).matches();
+ }
+ if (matches) {
+ //瀵规暟瀛楄繘琛岃浆鎹㈡棩鏈焬yyy-mm-dd
+ Date date = excelToDateUsingPOI(Double.parseDouble(dismantTime));
+ String formatDate = sdf.format(date);
+ item.setDismantTime(formatDate);
+ dismantTrackService.update(item);
+ }
+ if (matches2) {
+ Date date2 = excelToDateUsingPOI(Double.parseDouble(exitTime));
+ String formatDate2 = sdf.format(date2);
+ item.setExitTime(formatDate2);
+ dismantTrackService.update(item);
+ }
+ if (matches3) {
+ Date date3 = excelToDateUsingPOI(Double.parseDouble(warehouseTime));
+ String formatDate3 = sdf.format(date3);
+ item.setWarehouseTime(formatDate3);
+ dismantTrackService.update(item);
+ }
+ if (matches4) {
+ Date date4 = excelToDateUsingPOI(Double.parseDouble(returnWeightTime));
+ String formatDate4 = sdf.format(date4);
+ item.setReturnWeightTime(formatDate4);
+ dismantTrackService.update(item);
+ }
+ }
+ }
+
+ public static Date excelToDateUsingPOI(double excelDate) {
+ return DateUtil.getJavaDate(excelDate);
+ }
+
+}
diff --git a/src/main/resources/mapper/progressTrack/DjJdgzDismantTrackDao.xml b/src/main/resources/mapper/progressTrack/DjJdgzDismantTrackDao.xml
index 1401c75..f03847a 100644
--- a/src/main/resources/mapper/progressTrack/DjJdgzDismantTrackDao.xml
+++ b/src/main/resources/mapper/progressTrack/DjJdgzDismantTrackDao.xml
@@ -9,8 +9,10 @@
<select id="getList" resultType="com.example.server.progressTrack.model.DjJdgzDismantTrack">
select *
from dj_jdgz_dismant_track
- where LEVEL3_NETWORK_ID = ${level3Id}
- and is_delete = 0
+ where is_delete = 0
+ <if test="level3Id!=null">
+ and LEVEL3_NETWORK_ID = ${level3Id}
+ </if>
<if test="cabinId!=null">
and cabin_id = ${cabinId}
</if>
diff --git a/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml b/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml
index 102d3af..5f49518 100644
--- a/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml
+++ b/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml
@@ -86,7 +86,9 @@
AND e.IS_DELETE = 0
AND f.IS_DELETE = 0
AND g.IS_DELETE = 0
+ <if test="level1NetworkId!=null">
AND g.id = ${level1NetworkId}
+ </if>
<if test="deptId!=null">
and c.dept_id = ${deptId}
</if>
--
Gitblit v1.9.1