Commit 51ef5c80 authored by hanbing's avatar hanbing

[update] 信号评价(旧)接口回放时间修改

parent bdcd727f
......@@ -413,7 +413,8 @@ public class DiagnoServiceImpl implements DiagnoService {
saveLaneInfoDTO.setCrossId(crossId);
// 路口拥堵指数
CrossDataRealtimePO crossDataRealtimePO = crossDataRealtimeMapper.selectByCrossId(crossId);
saveLaneInfoDTO.setCrossIndex(crossDataRealtimePO.getTrafficIndex());
Double trafficIndex = crossDataRealtimePO.getTrafficIndex();
saveLaneInfoDTO.setCrossIndex(Double.valueOf(String.format("%.2f", trafficIndex)));
// 构造dirList
buildDirList(crossId, saveLaneInfoDTO);
// 构造ledConfigList
......
......@@ -76,11 +76,11 @@ public class EvaluateServiceImpl implements EvaluateService {
calendar.set(Calendar.MILLISECOND, 0);
Date nowDate = calendar.getTime();
// 向前推n分钟作为结束时间
// 当前时间之前的第一个整5分钟
int leftMinute = DateUtil.minute(nowDate) % 5;
Date windowEndTime = DateUtil.offsetMinute(nowDate, -leftMinute);
// 再向前推 2*时间间隔 作为开始时间
Date windowStartTime = DateUtil.offsetMinute(windowEndTime, -2 * minutes);
// 再向前推 时间间隔加5分钟 作为开始时间
Date windowStartTime = DateUtil.offsetMinute(windowEndTime, -minutes - 5);
evaluateCrossDetailVO.setWindowStartTime(windowStartTime);
evaluateCrossDetailVO.setWindowEndTime(windowEndTime);
......@@ -220,9 +220,10 @@ public class EvaluateServiceImpl implements EvaluateService {
private Map<Integer, List<CrossDirDataHistAvgBO>> getHistData(String crossId, Integer minutes) {
// 获取当前时间之前 minutes 分钟的10位时间戳
long currentSeconds = DateUtil.currentSeconds();
long preSeconds = currentSeconds - minutes * 60 - 5 * 60; // 再向前5分钟才有数据
long preSeconds = currentSeconds - minutes * 60 - 10 * 60; // 再向前10分钟数据才能形成对比
long endSeconds = DateUtil.currentSeconds() - 10 * 60;
List<CrossDirDataHistAvgBO> crossDirDataHistAvgBOList = crossDirDataHistMapper.selectByCrossIdInOutTimestamp(
crossId, CrossInOutEnum.IN.getCode(), preSeconds);
crossId, CrossInOutEnum.IN.getCode(), preSeconds, endSeconds);
Map<Integer, List<CrossDirDataHistAvgBO>> dirObjMapHist = crossDirDataHistAvgBOList.stream()
.collect(Collectors.groupingBy(CrossDirDataHistAvgBO::getDirType));
return dirObjMapHist;
......
......@@ -24,7 +24,7 @@ public interface CrossDirDataHistMapper extends BaseMapper<CrossDirDataHistPO> {
List<CrossDirDataHistPO> selectByCrossIdDirAndTimestamp(String crossId, Integer dir, long preSeconds);
List<CrossDirDataHistAvgBO> selectByCrossIdInOutTimestamp(String crossId, Integer inOutType, long preSeconds);
List<CrossDirDataHistAvgBO> selectByCrossIdInOutTimestamp(String crossId, Integer inOutType, long preSeconds, long endSeconds);
List<CrossDirDataHistPO> selectNoPark(String crossId, Integer dir, long currentSeconds, long preSeconds);
......
......@@ -77,6 +77,7 @@
WHERE cross_id = #{crossId}
AND in_out_type = #{inOutType}
AND batch_time <![CDATA[ >= ]]> #{preSeconds}
AND batch_time <![CDATA[ < ]]> #{endSeconds}
GROUP BY dir_type
</select>
......
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