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) {
|
//对数字进行转换日期yyyy-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) {
|
//对数字进行转换日期yyyy-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) {
|
//对数字进行转换日期yyyy-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);
|
}
|
|
}
|