解决启动报错

This commit is contained in:
xy
2024-09-30 09:17:45 +08:00
parent 4745b86085
commit 6811d02f6b

View File

@@ -20,7 +20,6 @@ import com.njcn.csharmonic.offline.constant.OfflineConstant;
import com.njcn.csharmonic.offline.log.Log;
import com.njcn.csharmonic.offline.log.vo.NewTaglogbuffer;
import com.njcn.csharmonic.offline.mincfg.AnalyseComtradeCfg;
import com.njcn.csharmonic.offline.mincfg.tagComtradeCfg;
import com.njcn.csharmonic.offline.vo.Response;
import com.njcn.csharmonic.pojo.dto.MakeUpDto;
import com.njcn.csharmonic.pojo.param.MakeUpParam;
@@ -38,10 +37,12 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.njcn.csharmonic.offline.log.vo.TagComtradeCfg;
import java.io.*;
import java.nio.file.Files;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
@@ -96,8 +97,8 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
for(MultipartFile file : files){
Response response = new Response();
response.setFilename(file.getOriginalFilename());
if(OfflineConstant.COMTRADE.equals(type) && file.getOriginalFilename().indexOf(OfflineConstant.CFG) != -1) {
tagComtradeCfg tagComtradeCfg = null;
if(OfflineConstant.COMTRADE.equals(type) && Objects.requireNonNull(file.getOriginalFilename()).contains(OfflineConstant.CFG)) {
TagComtradeCfg tagComtradeCfg = null;
try {
tagComtradeCfg = AnalyseComtradeCfg.analyseComtradeCfg(file);
} catch (Exception e) {
@@ -105,7 +106,7 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
response.setState(2);
}
response.setObj(tagComtradeCfg);
}else if(OfflineConstant.LOG.equals(type) && file.getOriginalFilename().indexOf(OfflineConstant.BIN) != -1){
}else if(OfflineConstant.LOG.equals(type) && Objects.requireNonNull(file.getOriginalFilename()).contains(OfflineConstant.BIN)){
List<NewTaglogbuffer> newTaglogbuffers = null;
try {
newTaglogbuffers = Log.convertLog(file);
@@ -221,9 +222,11 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
if (CollectionUtil.isNotEmpty(projectInfoList)) {
projectInfoList.forEach(item->{
String linePath = item.getName();
List<FileDto.DirInfo> lineDataList = getFileList(param.getLineId(),param.getNDid(),linePath);
if (CollectionUtil.isNotEmpty(lineDataList)) {
fileList.addAll(lineDataList.stream().map(FileDto.DirInfo::getName).collect(Collectors.toList()));
if (timeRange(param.getStartTime(),param.getEndTime(),linePath,"min")) {
List<FileDto.DirInfo> lineDataList = getFileList(param.getLineId(),param.getNDid(),linePath);
if (CollectionUtil.isNotEmpty(lineDataList)) {
fileList.addAll(lineDataList.stream().map(FileDto.DirInfo::getName).collect(Collectors.toList()));
}
}
});
}
@@ -234,13 +237,21 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
String logPath = s + "/log";
List<FileDto.DirInfo> logList = getFileList(param.getLineId(),param.getNDid(),logPath);
if (CollectionUtil.isNotEmpty(logList)) {
fileList.addAll(logList.stream().map(FileDto.DirInfo::getName).collect(Collectors.toList()));
logList.forEach(item->{
if (timeRange(param.getStartTime(),param.getEndTime(),item.getName(),"log")) {
fileList.add(item.getName());
}
});
}
//录波文件
String comtradePath = s + "/comtrade";
List<FileDto.DirInfo> comtradeList = getFileList(param.getLineId(),param.getNDid(),comtradePath);
if (CollectionUtil.isNotEmpty(comtradeList)) {
fileList.addAll(comtradeList.stream().map(FileDto.DirInfo::getName).collect(Collectors.toList()));
comtradeList.forEach(item->{
if (timeRange(param.getStartTime(),param.getEndTime(),item.getName(),"comtrade")) {
fileList.add(item.getName());
}
});
}
}
if (CollectionUtil.isNotEmpty(fileList)) {
@@ -287,6 +298,46 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
}
/**
* 时间处理
*/
public boolean timeRange(String startTime, String endTime, String filePath, String type) {
boolean result;
String data;
data = filePath.split(StrUtil.SLASH)[filePath.split(StrUtil.SLASH).length - 1];
switch (type) {
case "log":
data = data.split("\\.")[0];
break;
case "comtrade":
data = data.split("_")[1];
break;
default:
break;
}
result = judgeTimeRange(startTime,endTime,data);
return result;
}
/**
* 添加时间判断
*/
public boolean judgeTimeRange(String startTime, String endTime, String data) {
boolean result = false;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter formatterNoDelimiter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDate startDate = LocalDate.parse(startTime, formatter);
LocalDate endDate = LocalDate.parse(endTime, formatter);
LocalDate targetDate = LocalDate.parse(data, formatterNoDelimiter);
if (!targetDate.isBefore(startDate) && !targetDate.isAfter(endDate)) {
log.info("日期在指定范围内");
result = true;
}
return result;
}
/**
* 迁移文件
*/