Commit 2eb20bf2 authored by hanbing's avatar hanbing

[update] 城市大脑-干线方案分析返回零值

parent 03cd7b68
...@@ -14,7 +14,7 @@ import java.util.Date; ...@@ -14,7 +14,7 @@ import java.util.Date;
@Data @Data
@ApiModel(value = "MainlineSchemeEvaluateBO", description = "干线方案评价") @ApiModel(value = "MainlineSchemeEvaluateBO", description = "干线方案评价")
public class MainlineSchemeEvaluateBO { public class MainlineSchemeEvaluateBO {
@ApiModelProperty(value = "方案名称") @ApiModelProperty(value = "绿波名称")
private String greenwaveName; private String greenwaveName;
@ApiModelProperty(value = "方向名称") @ApiModelProperty(value = "方向名称")
......
...@@ -763,6 +763,11 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -763,6 +763,11 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
// 根据时段查询所有发生的绿波 // 根据时段查询所有发生的绿波
List<GreenwaveHistPO> greenwaveHistPOList = greenwaveHistMapper List<GreenwaveHistPO> greenwaveHistPOList = greenwaveHistMapper
.selectByTimeSection(boStartTimeStr, boEndTimeStr); .selectByTimeSection(boStartTimeStr, boEndTimeStr);
if (CollectionUtil.isEmpty(greenwaveHistPOList)) {
return emptyResMainlineSchemeAnalysis();
}
// 根据干线名称筛选结果 // 根据干线名称筛选结果
List<GreenwaveHistPO> filteredList = greenwaveHistPOList.stream() List<GreenwaveHistPO> filteredList = greenwaveHistPOList.stream()
.filter(po -> { .filter(po -> {
...@@ -796,6 +801,39 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -796,6 +801,39 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
return res; return res;
} }
private MainlineSchemeAnalysisVO emptyResMainlineSchemeAnalysis() {
MainlineSchemeAnalysisVO res = new MainlineSchemeAnalysisVO();
List<MainlineSchemeAnalysisVO.DirectionData> sceneData = new ArrayList<>();
MainlineSchemeAnalysisVO.DirectionData directionData = new MainlineSchemeAnalysisVO.DirectionData();
directionData.setName("");
directionData.setTimes(0);
sceneData.add(directionData);
res.setSceneData(sceneData);
List<MainlineSchemeAnalysisVO.CrossData> crossData= new ArrayList<>();
MainlineSchemeAnalysisVO.CrossData crossDataElement = new MainlineSchemeAnalysisVO.CrossData();
crossDataElement.setName("");
crossDataElement.setTimes(0);
crossData.add(crossDataElement);
res.setCrossData(crossData);
List<String> evaluateData = new ArrayList<>();
evaluateData.add("符合控制策略方案数 0个");
evaluateData.add("不符合控制策略方案数 0个");
res.setEvaluateData(evaluateData);
List<MainlineSchemeAnalysisVO.GreenwaveData> greenwaveData = new ArrayList<>();
MainlineSchemeAnalysisVO.GreenwaveData greenwaveDataElement = new MainlineSchemeAnalysisVO.GreenwaveData();
greenwaveDataElement.setName("");
greenwaveDataElement.setGreenwaveId(0);
greenwaveDataElement.setDirList(new ArrayList<>());
greenwaveData.add(greenwaveDataElement);
res.setGreenwaveData(greenwaveData);
return res;
}
private void fillLineSchemeBuffer(List<GreenwaveHistPO> filteredList, Map<String, LineSchemeDTO> lineSchemeBuffer) private void fillLineSchemeBuffer(List<GreenwaveHistPO> filteredList, Map<String, LineSchemeDTO> lineSchemeBuffer)
throws Exception { throws Exception {
...@@ -919,6 +957,11 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -919,6 +957,11 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
@Override @Override
public MainlineSchemeEvaluateVO mainlineSchemeEvaluate(MainlineSchemeEvaluateBO bo) { public MainlineSchemeEvaluateVO mainlineSchemeEvaluate(MainlineSchemeEvaluateBO bo) {
String greenwaveName = bo.getGreenwaveName(); String greenwaveName = bo.getGreenwaveName();
if (ObjectUtil.isEmpty(greenwaveName)) {
return buildEmptyRes();
}
LineSchemeDTO lineSchemeDTO = lineSchemeBuffer.get(greenwaveName); LineSchemeDTO lineSchemeDTO = lineSchemeBuffer.get(greenwaveName);
Integer greenwaveId = lineSchemeDTO.getGreenwaveId(); Integer greenwaveId = lineSchemeDTO.getGreenwaveId();
String dirName = bo.getDirName(); String dirName = bo.getDirName();
...@@ -950,6 +993,16 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -950,6 +993,16 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
return res; return res;
} }
private MainlineSchemeEvaluateVO buildEmptyRes() {
MainlineSchemeEvaluateVO res = new MainlineSchemeEvaluateVO();
res.setTimeSection("");
res.setStrategyName("");
res.setGreenwaveCrossList(new ArrayList<>());
res.setCurveElementList(new ArrayList<>());
res.setEvaluateList(new ArrayList<>());
return res;
}
@Override @Override
public List<MainlineCrossEvaluateVO> mainlineCrossEvaluate(MainlineCrossEvaluateBO bo) { public List<MainlineCrossEvaluateVO> mainlineCrossEvaluate(MainlineCrossEvaluateBO bo) {
String greenwaveName = bo.getGreenwaveName(); String greenwaveName = bo.getGreenwaveName();
...@@ -1058,8 +1111,20 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -1058,8 +1111,20 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
List<GreenwaveHistPO> greenwaveHistPOList = List<GreenwaveHistPO> greenwaveHistPOList =
greenwaveHistMapper.selectByIdAndTimeSection(greenwaveId, boStartTimeStr, boEndTimeStr); greenwaveHistMapper.selectByIdAndTimeSection(greenwaveId, boStartTimeStr, boEndTimeStr);
// 找出拥堵时段
List<MainlineRunningAnalyseVO> congestionList = new ArrayList<>(); List<MainlineRunningAnalyseVO> congestionList = new ArrayList<>();
// 返回零值
if (CollectionUtil.isEmpty(greenwaveHistPOList)) {
MainlineRunningAnalyseVO vo = new MainlineRunningAnalyseVO();
vo.setStatus(3);
vo.setTimeSpan("");
vo.setDuration(0);
vo.setStartTime(null);
vo.setEndTime(null);
congestionList.add(vo);
return congestionList;
}
// 找出拥堵时段
for (GreenwaveHistPO po : greenwaveHistPOList) { for (GreenwaveHistPO po : greenwaveHistPOList) {
if (po.getStatus() == 3) { if (po.getStatus() == 3) {
MainlineRunningAnalyseVO vo = new MainlineRunningAnalyseVO(); MainlineRunningAnalyseVO vo = new MainlineRunningAnalyseVO();
......
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