Commit 94b36411 authored by duanruiming's avatar duanruiming

[update] 手动控制优化

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