Commit 684eef49 authored by duanruiming's avatar duanruiming

[update] 实时监控异常优化

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