Commit d18ac787 authored by duanruiming's avatar duanruiming

[update] 运行模式优化

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