Commit 68bd44da authored by hanbing's avatar hanbing

[update] 干线评价,增加排队长度指标

parent 51b67285
...@@ -1019,6 +1019,12 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -1019,6 +1019,12 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
.average() .average()
.orElse(0.0); .orElse(0.0);
dirValue = (int) Math.round(average); dirValue = (int) Math.round(average);
} else if (Objects.equals(metricName, StrategyAndMetricsEnum.Metrics.MAX_QUEUE_LENGTH.getDescription())) {
double max = crossDirDataHistPOList.stream()
.mapToDouble(CrossDirDataHistPO::getQueueLength)
.max()
.orElse(0.0);
dirValue = (int) Math.round(max);
} }
return dirValue; return dirValue;
} }
...@@ -1349,6 +1355,26 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -1349,6 +1355,26 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
int value = (int) sumOfAverages; int value = (int) sumOfAverages;
curveElement.setValue(value);
curveElementList.add(curveElement);
}
} else if (Objects.equals(metricName, StrategyAndMetricsEnum.Metrics.MAX_QUEUE_LENGTH.getDescription())) {
for (String hourMinute : timeArray) {
MainlineSchemeEvaluateVO.CurveElement curveElement = new MainlineSchemeEvaluateVO.CurveElement();
curveElement.setMetricTime(hourMinute);
List<CrossDirDataHistPO> crossDirDataHistPOList = groupedByTime.get(hourMinute);
double sumOfMax = crossDirDataHistPOList.stream()
.collect(Collectors.groupingBy(CrossDirDataHistPO::getCrossId))
.entrySet().stream()
.mapToDouble(entry -> entry.getValue().stream()
.mapToDouble(CrossDirDataHistPO::getQueueLength)
.max()
.orElse(0.0))
.max().orElse(0.0);
int value = (int) sumOfMax;
curveElement.setValue(value); curveElement.setValue(value);
curveElementList.add(curveElement); curveElementList.add(curveElement);
} }
...@@ -1640,6 +1666,11 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -1640,6 +1666,11 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
metric.setIsShown(0); metric.setIsShown(0);
res.add(metric); res.add(metric);
MainlineSchemeAnalysisVO.Metric metric2 = new MainlineSchemeAnalysisVO.Metric();
metric2.setMetricName(StrategyAndMetricsEnum.Metrics.MAX_QUEUE_LENGTH.getDescription());
metric2.setIsShown(1);
res.add(metric2);
MainlineSchemeAnalysisVO.Metric metric1 = new MainlineSchemeAnalysisVO.Metric(); MainlineSchemeAnalysisVO.Metric metric1 = new MainlineSchemeAnalysisVO.Metric();
metric1.setMetricName(StrategyAndMetricsEnum.Metrics.UNCOORDINATE_PHASE_QUEUE.getDescription()); metric1.setMetricName(StrategyAndMetricsEnum.Metrics.UNCOORDINATE_PHASE_QUEUE.getDescription());
metric1.setIsShown(0); metric1.setIsShown(0);
...@@ -1658,6 +1689,11 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -1658,6 +1689,11 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
metric2.setIsShown(0); metric2.setIsShown(0);
res.add(metric2); res.add(metric2);
MainlineSchemeAnalysisVO.Metric metric8 = new MainlineSchemeAnalysisVO.Metric();
metric8.setMetricName(StrategyAndMetricsEnum.Metrics.MAX_QUEUE_LENGTH.getDescription());
metric8.setIsShown(1);
res.add(metric8);
MainlineSchemeAnalysisVO.Metric metric3 = new MainlineSchemeAnalysisVO.Metric(); MainlineSchemeAnalysisVO.Metric metric3 = new MainlineSchemeAnalysisVO.Metric();
metric3.setMetricName(StrategyAndMetricsEnum.Metrics.GREEN_LIGHT_EFFICIENCY.getDescription()); metric3.setMetricName(StrategyAndMetricsEnum.Metrics.GREEN_LIGHT_EFFICIENCY.getDescription());
metric3.setIsShown(1); metric3.setIsShown(1);
...@@ -1693,10 +1729,6 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -1693,10 +1729,6 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
List<GreenwaveHistPO> filteredList, Map<String, LineSchemeDTO> lineSchemeBuffer, int boStartTimeStamp, List<GreenwaveHistPO> filteredList, Map<String, LineSchemeDTO> lineSchemeBuffer, int boStartTimeStamp,
int boEndTimeStamp, Date boStartTime, Date boEndTime) { int boEndTimeStamp, Date boStartTime, Date boEndTime) {
List<CrossDataHistPO> baseCrossDataHistPOList = crossDataHistMapper.selectByStartEnd(boStartTimeStamp, boEndTimeStamp);
List<GreenwaveCrossPO> baseGreenwaveCrossPOList = greenwaveCrossMapper.selectAll();
List<BaseCrossInfoPO> baseCrossInfoPOList = baseCrossInfoMapper.selectAll();
Set<String> qualifiedSet = new HashSet<>(); Set<String> qualifiedSet = new HashSet<>();
Set<String> notQualifiedSet = new HashSet<>(); Set<String> notQualifiedSet = new HashSet<>();
......
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