Commit 51ef5c80 authored by hanbing's avatar hanbing

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

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