Commit 1ea1cf93 authored by duanruiming's avatar duanruiming

[add] 重点路口流量问题

parent 275e5985
......@@ -130,8 +130,7 @@ public class GreenBeltServiceImpl implements GreenBeltInfoService {
vo.setStartTime(controlTime);
String crossGreenDetail = entity.getCrossGreenDetail();
Integer cycle = entity.getCycle();
List<GreenBeltInfoVO.CrossGreenDetail> crossGreenDetails = mapper.readValue(crossGreenDetail, new TypeReference<List<GreenBeltInfoVO.CrossGreenDetail>>() {
});
List<GreenBeltInfoVO.CrossGreenDetail> crossGreenDetails = mapper.readValue(crossGreenDetail, new TypeReference<List<GreenBeltInfoVO.CrossGreenDetail>>() {});
if (!CollectionUtils.isEmpty(crossGreenDetails)) {
List<GreenBeltInfoVO.CrossGreenDetail> keyCrossDetail = crossGreenDetails.stream().filter(details -> StringUtils.equalsIgnoreCase(keyCross, details.getCrossId())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(keyCrossDetail)) {
......@@ -159,7 +158,7 @@ public class GreenBeltServiceImpl implements GreenBeltInfoService {
Integer flow = crossDataHistPO.getFlow();
GreenBeltKeyCrossFlowTimeVO resultVO = new GreenBeltKeyCrossFlowTimeVO();
resultVO.setStartTime(minuteDate);
resultVO.setFlow(0);
resultVO.setFlow(flow);
resultVO.setGreenTimeRatio(0.0);
resultVO.setCrossId(tempCrossId);
resultVO.setDirName("未执行");
......
......@@ -103,12 +103,12 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
@Override
public List<GreenBeltStopTimesQueueLengthVO> greenBeltStopTimeQueueLength(Integer greenId) {
long currentTimeMillis = System.currentTimeMillis();
LambdaQueryWrapper<GreenwaveHistPO> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(GreenwaveHistPO::getGreenId, greenId);
// 查询两个小时之前的
Integer startTime = (int) (currentTimeMillis / 1000) - 3600 * 2;
queryWrapper.ge(GreenwaveHistPO::getStartTime, new Date(startTime * 1000L));
LocalDate currentDate = LocalDate.now();
LocalTime startTime = LocalTime.MIDNIGHT;
LocalDateTime startOfDay = LocalDateTime.of(currentDate, startTime);
queryWrapper.ge(GreenwaveHistPO::getStartTime, startOfDay);
List<GreenwaveHistPO> greenwaveHistPOS = greenwaveHistMapper.selectList(queryWrapper);
List<GreenBeltStopTimesQueueLengthVO> results = new ArrayList<>();
if (!CollectionUtils.isEmpty(greenwaveHistPOS)) {
......@@ -120,6 +120,7 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
vo.setStopTimes(greenwaveHistPO.getStopTimes());
vo.setCordQueueRatio(Objects.isNull(greenwaveHistPO.getCordQueueRatio()) ? 0.0 : greenwaveHistPO.getCordQueueRatio() * 100);
vo.setTravelTime(greenwaveHistPO.getTrvalTime());
vo.setRoadDirection(GreenBeltDirEnum.getDesc(greenwaveHistPO.getRoadDirection()));
results.add(vo);
}
}
......
......@@ -37,28 +37,28 @@ public class CrossMonitorTask {
* 路口实时监测
*
*/
@Scheduled(fixedRate = 1 * 60 * 1000)
public void realtimeMonitor() {
log.info("路口实时监测任务...");
//@Scheduled(fixedRate = 1 * 60 * 1000)
//public void realtimeMonitor() {
// log.info("路口实时监测任务...");
// 获取路口实时监测数据
List<CrossDataRealtimePO> crossDataRealtimePOList = listCrossDataRealtime();
log.info("路口实时数据:{}条", crossDataRealtimePOList.size());
//List<CrossDataRealtimePO> crossDataRealtimePOList = listCrossDataRealtime();
//log.info("路口实时数据:{}条", crossDataRealtimePOList.size());
// 测试时无数据暂时注释
// if(crossDataRealtimePOList.isEmpty()) {
// return ;
// }
// 获取所有信控路口异常数据(失衡/拥堵/溢出/死锁)
List<CrossDataRealtimePO> abnormalCrossList = listAbnormalCross(crossDataRealtimePOList);
log.info("加载异常路口:{}条", abnormalCrossList.size());
//List<CrossDataRealtimePO> abnormalCrossList = listAbnormalCross(crossDataRealtimePOList);
//log.info("加载异常路口:{}条", abnormalCrossList.size());
// if(abnormalCrossList.isEmpty()) {
// return ;
// }
// 调用路口实时优化
crossOptimizeService.realtimeOptimize(abnormalCrossList, crossDataRealtimePOList);
//crossOptimizeService.realtimeOptimize(abnormalCrossList, crossDataRealtimePOList);
}
//}
/**
* 获取异常路口数据
......
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