Commit d18ac787 authored by duanruiming's avatar duanruiming

[update] 运行模式优化

parent 66007865
...@@ -643,11 +643,11 @@ public class SituationDetectionServiceImpl implements SituationDetectionService ...@@ -643,11 +643,11 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
if (!CollectionUtils.isEmpty(tCrossControlHists)) { if (!CollectionUtils.isEmpty(tCrossControlHists)) {
if (Objects.nonNull(operationMode)) { if (Objects.nonNull(operationMode)) {
if (operationMode == 1) { //中心优化 if (operationMode == 1) { //中心优化
List<TCrossControlHist> centerOptList = tCrossControlHists.stream().filter(tCrossControlHist -> tCrossControlHist.getType() == 5 || tCrossControlHist.getType() == 1).collect(Collectors.toList()); List<TCrossControlHist> centerOptList = tCrossControlHists.stream().filter(tCrossControlHist -> tCrossControlHist.getType() <= 5 || tCrossControlHist.getType() >= 1).collect(Collectors.toList());
BeanListUtils.populateList(centerOptList, signalOperationModeVOS, SignalOperationModeVO.class); BeanListUtils.populateList(centerOptList, signalOperationModeVOS, SignalOperationModeVO.class);
} }
if (operationMode == 2) { // 手动控制 if (operationMode == 2) { // 手动控制
List<TCrossControlHist> manualControlList = tCrossControlHists.stream().filter(item -> item.getType() < 5 && item.getType() > 1).collect(Collectors.toList()); List<TCrossControlHist> manualControlList = tCrossControlHists.stream().filter(item -> item.getType() ==7).collect(Collectors.toList());
BeanListUtils.populateList(manualControlList, signalOperationModeVOS, SignalOperationModeVO.class); BeanListUtils.populateList(manualControlList, signalOperationModeVOS, SignalOperationModeVO.class);
} }
if (operationMode == 3) { // 边缘优化 if (operationMode == 3) { // 边缘优化
......
...@@ -2,12 +2,12 @@ package net.wanji.web.task; ...@@ -2,12 +2,12 @@ package net.wanji.web.task;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.utils.tool.BeanMapUtils;
import net.wanji.databus.cache.BaseCrossInfoCache; import net.wanji.databus.cache.BaseCrossInfoCache;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.databus.po.BaseCrossInfoPO; import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.vo.SignalStatusVO; import net.wanji.databus.vo.SignalStatusVO;
import net.wanji.feign.service.UtcFeignClients; import net.wanji.feign.service.UtcFeignClients;
...@@ -29,8 +29,10 @@ import org.springframework.util.CollectionUtils; ...@@ -29,8 +29,10 @@ import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.ArrayList;
import java.util.stream.Collectors; import java.util.Date;
import java.util.List;
import java.util.Objects;
/** /**
* @author duanruiming * @author duanruiming
...@@ -44,11 +46,8 @@ public class SignalStatusTask { ...@@ -44,11 +46,8 @@ public class SignalStatusTask {
private final TDeviceStatusMapper tDeviceStatusMapper; private final TDeviceStatusMapper tDeviceStatusMapper;
private final ControlHistMapper controlHistMapper; private final ControlHistMapper controlHistMapper;
private final TDeviceStatusLogMapper tDeviceStatusLogMapper; private final TDeviceStatusLogMapper tDeviceStatusLogMapper;
private final BaseCrossInfoMapper baseCrossInfoMapper;
private final CommonEventWarnTask commonEventWarnTask;
private final BaseCrossInfoCache baseCrossInfoCache; private final BaseCrossInfoCache baseCrossInfoCache;
@Scheduled(fixedRate = 30 * 1000) @Scheduled(fixedRate = 30 * 1000)
@Transactional @Transactional
public void syncSignalStatus() { public void syncSignalStatus() {
...@@ -61,9 +60,8 @@ public class SignalStatusTask { ...@@ -61,9 +60,8 @@ public class SignalStatusTask {
return; return;
} }
// utc服务信号机状态列表 // utc服务信号机状态列表
List<Map<String, Object>> source = (List<Map<String, Object>>) jsonViewObject.getContent(); ObjectMapper mapper = new ObjectMapper();
List<SignalStatusVO> content = BeanMapUtils.mapsToObjects(source, SignalStatusVO.class); List<SignalStatusVO> content = mapper.convertValue(jsonViewObject.getContent(), new TypeReference<List<SignalStatusVO>>(){});
List<String> crossIdList = content.stream().map(SignalStatusVO::getCrossId).collect(Collectors.toList());
// 信号机状态信息 // 信号机状态信息
List<BaseCrossInfoPO> baseCrossInfoPOS = baseCrossInfoCache.getCrossInfoCache(); List<BaseCrossInfoPO> baseCrossInfoPOS = baseCrossInfoCache.getCrossInfoCache();
List<CommonEventAlarmOutVo> results = new ArrayList<>(); List<CommonEventAlarmOutVo> results = new ArrayList<>();
...@@ -76,7 +74,6 @@ public class SignalStatusTask { ...@@ -76,7 +74,6 @@ public class SignalStatusTask {
if (currentSignalStatus == 1 && !Objects.equals(0, currentFaultType)) { if (currentSignalStatus == 1 && !Objects.equals(0, currentFaultType)) {
currentSignalStatus = 2; currentSignalStatus = 2;
} }
// 更新数据库状态 // 更新数据库状态
updateSignalStatus(signalStatusVO, crossId, name, currentSignalStatus, currentFaultType, results); updateSignalStatus(signalStatusVO, crossId, name, currentSignalStatus, currentFaultType, results);
insertControlHist(signalStatusVO); insertControlHist(signalStatusVO);
...@@ -157,8 +154,9 @@ public class SignalStatusTask { ...@@ -157,8 +154,9 @@ public class SignalStatusTask {
String crossId = signalStatusVO.getCrossId(); String crossId = signalStatusVO.getCrossId();
Integer controlType = signalStatusVO.getControlType(); Integer controlType = signalStatusVO.getControlType();
TCrossControlHist tCrossControlHist = controlHistMapper.selectRecentOne(crossId); TCrossControlHist tCrossControlHist = controlHistMapper.selectRecentOne(crossId);
if (Objects.nonNull(tCrossControlHist) && !Objects.equals(controlType, tCrossControlHist.getType())) { if (Objects.nonNull(tCrossControlHist) && !Objects.equals(controlType, tCrossControlHist.getType())
controlHistMapper.insertOne(crossId, controlType, "未知"); && StringUtils.equals("未知", tCrossControlHist.getOperationUser())) {
controlHistMapper.insertOne(crossId, 7, "未知");
} }
} }
......
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