Commit 684eef49 authored by duanruiming's avatar duanruiming

[update] 实时监控异常优化

parent 44545b62
...@@ -81,7 +81,10 @@ public class CrossTurnDataRealtimeDTO { ...@@ -81,7 +81,10 @@ public class CrossTurnDataRealtimeDTO {
currentVehheadTime = 2.8; currentVehheadTime = 2.8;
} }
// 排队车辆 // 排队车辆
Double queuedVehicles = entity.getQueueLength() / currentVehheadDist; Double queuedVehicles = null;
if (Objects.nonNull(entity.getQueueLength())) {
queuedVehicles = entity.getQueueLength() / currentVehheadDist;
}
// 通行时长 // 通行时长
Double calPassTime = queuedVehicles * currentVehheadTime; Double calPassTime = queuedVehicles * currentVehheadTime;
return calPassTime; return calPassTime;
......
...@@ -2,8 +2,11 @@ package net.wanji.opt.po.trend; ...@@ -2,8 +2,11 @@ package net.wanji.opt.po.trend;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import net.wanji.opt.dto.CrossDirInfoDTO;
import net.wanji.opt.dto.CrossTurnInfoDTO;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author hfx * @author hfx
...@@ -87,4 +90,10 @@ public class CrossDataRealtimePO { ...@@ -87,4 +90,10 @@ public class CrossDataRealtimePO {
/** 修改时间 */ /** 修改时间 */
@ApiModelProperty(value = "修改时间",notes = "") @ApiModelProperty(value = "修改时间",notes = "")
private Date gmtModified ; private Date gmtModified ;
@ApiModelProperty(name = "路口方向列表",notes = "")
List<CrossDirInfoDTO> dirList;
@ApiModelProperty(name = "路口转向列表",notes = "")
List<CrossTurnInfoDTO> turnList;
} }
package net.wanji.opt.service; package net.wanji.opt.service;
import net.wanji.opt.dto.CrossDataRealtimeDTO; import net.wanji.opt.po.trend.CrossDataRealtimePO;
import java.util.List; import java.util.List;
...@@ -16,7 +16,7 @@ public interface CrossOptimizeService { ...@@ -16,7 +16,7 @@ public interface CrossOptimizeService {
* 路口实时优化 * 路口实时优化
* @return * @return
*/ */
String realtimeOptimize(List<CrossDataRealtimeDTO> abnormalCrossList); String realtimeOptimize(List<CrossDataRealtimePO> abnormalCrossList);
/** /**
* 路口方案优化 * 路口方案优化
......
...@@ -4,7 +4,6 @@ import lombok.extern.slf4j.Slf4j; ...@@ -4,7 +4,6 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.CrossStatusEnum; import net.wanji.common.enums.CrossStatusEnum;
import net.wanji.common.framework.Constants; import net.wanji.common.framework.Constants;
import net.wanji.opt.dao.mapper.trend.CrossDataRealtimeMapper; import net.wanji.opt.dao.mapper.trend.CrossDataRealtimeMapper;
import net.wanji.opt.dto.CrossDataRealtimeDTO;
import net.wanji.opt.po.trend.CrossDataRealtimePO; import net.wanji.opt.po.trend.CrossDataRealtimePO;
import net.wanji.opt.service.CrossOptimizeService; import net.wanji.opt.service.CrossOptimizeService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -46,7 +45,7 @@ public class CrossMonitorTask { ...@@ -46,7 +45,7 @@ public class CrossMonitorTask {
// } // }
// 获取所有信控路口异常数据(失衡/拥堵/溢出/死锁) // 获取所有信控路口异常数据(失衡/拥堵/溢出/死锁)
List<CrossDataRealtimeDTO> abnormalCrossList = listAbnormalCross(crossDataRealtimePOList); List<CrossDataRealtimePO> abnormalCrossList = listAbnormalCross(crossDataRealtimePOList);
log.info("加载异常路口:{}条", abnormalCrossList.size()); log.info("加载异常路口:{}条", abnormalCrossList.size());
// if(abnormalCrossList.isEmpty()) { // if(abnormalCrossList.isEmpty()) {
// return ; // return ;
...@@ -62,15 +61,15 @@ public class CrossMonitorTask { ...@@ -62,15 +61,15 @@ public class CrossMonitorTask {
* *
* @return * @return
*/ */
public List<CrossDataRealtimeDTO> listAbnormalCross(List<CrossDataRealtimePO> crossDataRealtimePOList) { public List<CrossDataRealtimePO> listAbnormalCross(List<CrossDataRealtimePO> crossDataRealtimePOList) {
List<CrossDataRealtimeDTO> dtoList = new ArrayList<>(); List<CrossDataRealtimePO> dtoList = new ArrayList<>();
CrossDataRealtimeDTO dto = null; CrossDataRealtimePO dto = null;
int status = 0; int status = 0;
for (CrossDataRealtimePO po : crossDataRealtimePOList) { for (CrossDataRealtimePO po : crossDataRealtimePOList) {
// 获取失衡、拥堵、溢出路口数据 // 获取失衡、拥堵、溢出路口数据
if (Constants.SystemParam.NO.equals(po.getIsSpillover()) || Constants.SystemParam.NO.equals(po.getIsCongestion()) || Constants.SystemParam.NO.equals(po.getIsUnbalance())) { if (Constants.SystemParam.NO.equals(po.getIsSpillover()) && Constants.SystemParam.NO.equals(po.getIsCongestion()) && Constants.SystemParam.NO.equals(po.getIsUnbalance())) {
continue; continue;
} }
...@@ -81,7 +80,7 @@ public class CrossMonitorTask { ...@@ -81,7 +80,7 @@ public class CrossMonitorTask {
} else if (Constants.SystemParam.YES.equals(po.getIsUnbalance())) { // 失衡 } else if (Constants.SystemParam.YES.equals(po.getIsUnbalance())) { // 失衡
status = CrossStatusEnum.UNBALANCE.getCode(); status = CrossStatusEnum.UNBALANCE.getCode();
} }
dto = new CrossDataRealtimeDTO(); dto = new CrossDataRealtimePO();
BeanUtils.copyProperties(po, dto); BeanUtils.copyProperties(po, dto);
dto.setCrossId(po.getCrossId()); dto.setCrossId(po.getCrossId());
dto.setStatus(status); dto.setStatus(status);
......
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