Commit 94b36411 authored by duanruiming's avatar duanruiming

[update] 手动控制优化

parent 40c6e411
package net.wanji.web.common.constant;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @author Kent HAN
* @date 2023/1/6 9:33
......@@ -10,4 +13,7 @@ public class ControlModeConst {
public static final Integer GREEN_FLASH = 6; // 绿闪
public static final Integer IS_RED = 4; // 红灯
public static final Integer IS_GREEN = 2; // 绿灯
// 中心控制标识,非中心控制为手动控制
public static final Map<String, Boolean> centerControlMap = new ConcurrentHashMap<>();
}
......@@ -6,12 +6,14 @@ import net.wanji.common.framework.Constants;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.vo.*;
import net.wanji.feign.service.UtcFeignClients;
import net.wanji.web.common.constant.ControlModeConst;
import net.wanji.web.mapper.ControlHistMapper;
import net.wanji.web.service.FeignProxyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import java.util.Objects;
/**
......@@ -162,6 +164,12 @@ public class FeignProxyServiceImpl implements FeignProxyService {
* @param userName
*/
private void insertControlHist(String crossCode, Integer type, String userName) {
Map<String, Boolean> centerControlMap = ControlModeConst.centerControlMap;
if (!Objects.equals(1, type)) {
centerControlMap.put(crossCode,true);
} else {
centerControlMap.put(crossCode,false);
}
controlHistMapper.insertOne(crossCode, type, userName);
}
}
......@@ -12,6 +12,7 @@ import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.vo.SignalStatusVO;
import net.wanji.feign.service.UtcFeignClients;
import net.wanji.web.common.constant.Constant;
import net.wanji.web.common.constant.ControlModeConst;
import net.wanji.web.entity.TCrossControlHist;
import net.wanji.web.entity.TDeviceStatusInfo;
import net.wanji.web.entity.TDeviceStatusLog;
......@@ -29,10 +30,7 @@ import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
/**
* @author duanruiming
......@@ -150,13 +148,20 @@ public class SignalStatusTask {
* @param signalStatusVO
*/
private void insertControlHist(SignalStatusVO signalStatusVO) {
// 更新控制历史表
String crossId = signalStatusVO.getCrossId();
Integer controlType = signalStatusVO.getControlType();
TCrossControlHist tCrossControlHist = controlHistMapper.selectRecentOne(crossId);
if (Objects.nonNull(tCrossControlHist) && !Objects.equals(controlType, tCrossControlHist.getType())
&& StringUtils.equals("未知", tCrossControlHist.getOperationUser())) {
controlHistMapper.insertOne(crossId, 7, "未知");
// 手动控制控制历史表
Map<String, Boolean> centerControlMap = ControlModeConst.centerControlMap;
if (!centerControlMap.isEmpty() && !centerControlMap.get(signalStatusVO.getCrossId())) {
String crossId = signalStatusVO.getCrossId();
Integer controlType = signalStatusVO.getControlType();
TCrossControlHist tCrossControlHist = controlHistMapper.selectRecentOne(crossId);
if (Objects.nonNull(tCrossControlHist)) {
if (Objects.equals(1, controlType)) {
controlHistMapper.insertOne(crossId, 1, "现场手动");
}
if (!Objects.equals(controlType, tCrossControlHist.getType())) {
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