Commit a75e5172 authored by hanbing's avatar hanbing

[add] 新信号评价-运行评价-异常事件详情,添加时间线

parent bb66610a
......@@ -186,6 +186,7 @@ public class SceneEvaluateServiceImpl implements SceneEvaluateService {
List<CrossDataHistPO> sceneCrossDataHistPOList = getCrossDataHistPOList(startTime, newEndTime, crossId);
vo.setStartTime(startTime);
vo.setTimeline(getTimeline(startTime, newEndTime));
// todo 暂时只有拥堵,后期扩展考虑增加字段
if (Objects.equals(status, CrossStatusEnum.CONGESTION.getCode())) {
Integer delayTime = calcCrossDelayTime(sceneCrossDataHistPOList);
......@@ -242,6 +243,30 @@ public class SceneEvaluateServiceImpl implements SceneEvaluateService {
return vo;
}
private List<String> getTimeline(Date startTime, Date newEndTime) {
List<String> res = new ArrayList<>();
Calendar startCal = Calendar.getInstance();
startCal.setTime(startTime);
int minute = startCal.get(Calendar.MINUTE);
int remainder = minute % 5;
startCal.add(Calendar.MINUTE, -remainder);
Calendar endCal = Calendar.getInstance();
endCal.setTime(newEndTime);
minute = endCal.get(Calendar.MINUTE);
remainder = (5 - (minute % 5)) % 5;
endCal.add(Calendar.MINUTE, remainder);
for (Calendar cal = (Calendar) startCal.clone();
cal.before(endCal) || cal.equals(endCal);
cal.add(Calendar.MINUTE, 5)) {
res.add(HOUR_SDF.format(cal.getTime()));
}
return res;
}
private List<SchemeEvaluateSchemeDetailOverallVO.OverallMetrics> buildCrossSpilloverMetrics(
List<CrossDataHistPO> sceneCrossDataHistPOList) {
List<SchemeEvaluateSchemeDetailOverallVO.OverallMetrics> res = new ArrayList<>();
......
......@@ -46,6 +46,9 @@ public class SceneEvaluateAbnormalDetailVO {
@ApiModelProperty(value = "指标数据")
List<SchemeEvaluateSchemeDetailOverallVO.OverallMetrics> overallMetricsList;
@ApiModelProperty(value = "时间轴")
List<String> timeline;
@NoArgsConstructor
@Data
public static class OverallMetrics {
......
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