Commit 7bc359e4 authored by duanruiming's avatar duanruiming

[update] 优化异常处理,前端报下标越界问题

parent 861c70bd
......@@ -657,42 +657,48 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
@Override
public MainlineSchemeAnalysisVO mainlineSchemeAnalysis(MainlineSchemeAnalysisBO bo) throws Exception {
lineSchemeBuffer.clear();
String mainlineName = bo.getName();
Date boStartTime = bo.getStartTime();
Date boEndTime = bo.getEndTime();
String boStartTimeStr = sdf.format(boStartTime);
String boEndTimeStr = sdf.format(boEndTime);
int boStartTimeStamp = (int) (boStartTime.getTime() / 1000);
int boEndTimeStamp = (int) (boEndTime.getTime() / 1000);
// 根据时段查询所有发生的绿波
List<GreenwaveHistPO> greenwaveHistPOList = greenwaveHistMapper
.selectByTimeSection(boStartTimeStr, boEndTimeStr);
// 根据干线名称筛选结果
List<GreenwaveHistPO> filteredList = greenwaveHistPOList.stream()
.filter(po -> {
String name = po.getGreenwaveName();
int index = name.indexOf(':');
if (index != -1) {
String leftSide = name.substring(0, index).trim();
return leftSide.equals(mainlineName);
}
return false;
})
.collect(Collectors.toList());
MainlineSchemeAnalysisVO res = null;
try {
lineSchemeBuffer.clear();
String mainlineName = bo.getName();
Date boStartTime = bo.getStartTime();
Date boEndTime = bo.getEndTime();
String boStartTimeStr = sdf.format(boStartTime);
String boEndTimeStr = sdf.format(boEndTime);
int boStartTimeStamp = (int) (boStartTime.getTime() / 1000);
int boEndTimeStamp = (int) (boEndTime.getTime() / 1000);
// 根据时段查询所有发生的绿波
List<GreenwaveHistPO> greenwaveHistPOList = greenwaveHistMapper
.selectByTimeSection(boStartTimeStr, boEndTimeStr);
// 根据干线名称筛选结果
List<GreenwaveHistPO> filteredList = greenwaveHistPOList.stream()
.filter(po -> {
String name = po.getGreenwaveName();
int index = name.indexOf(':');
if (index != -1) {
String leftSide = name.substring(0, index).trim();
return leftSide.equals(mainlineName);
}
return false;
})
.collect(Collectors.toList());
MainlineSchemeAnalysisVO res = new MainlineSchemeAnalysisVO();
fillLineSchemeBuffer(filteredList, lineSchemeBuffer);
// 时段合并
GreenwaveMergePO greenwaveMergePO = greenwaveMergeMapper.selectByMainlineName(mainlineName);
if (ObjectUtil.isNotEmpty(greenwaveMergePO)) {
mergeLineSchemeBuffer(lineSchemeBuffer, mainlineName, greenwaveMergePO);
res = new MainlineSchemeAnalysisVO();
fillLineSchemeBuffer(filteredList, lineSchemeBuffer);
// 时段合并
GreenwaveMergePO greenwaveMergePO = greenwaveMergeMapper.selectByMainlineName(mainlineName);
if (ObjectUtil.isNotEmpty(greenwaveMergePO)) {
mergeLineSchemeBuffer(lineSchemeBuffer, mainlineName, greenwaveMergePO);
}
res.setSceneData(calcSceneData(lineSchemeBuffer));
res.setEvaluateData(calcEvaluateData(
filteredList, lineSchemeBuffer, boStartTimeStamp, boEndTimeStamp, boStartTime, boEndTime));
res.setGreenwaveData(buildGreenwaveData(lineSchemeBuffer));
res.setCrossData(calcCrossData(lineSchemeBuffer));
} catch (Exception e) {
log.error("干线方案分析执行异常:", e);
throw new Exception(e);
}
res.setSceneData(calcSceneData(lineSchemeBuffer));
res.setEvaluateData(calcEvaluateData(
filteredList, lineSchemeBuffer, boStartTimeStamp, boEndTimeStamp, boStartTime, boEndTime));
res.setGreenwaveData(buildGreenwaveData(lineSchemeBuffer));
res.setCrossData(calcCrossData(lineSchemeBuffer));
return res;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment