Commit fa7ac135 authored by duanruiming's avatar duanruiming

[update] 优化日计划下发,重复时段问题

parent 863a98b4
...@@ -3,6 +3,10 @@ package net.wanji.utc.dt.service.controller.impl; ...@@ -3,6 +3,10 @@ package net.wanji.utc.dt.service.controller.impl;
import cn.hutool.core.util.HexUtil; import cn.hutool.core.util.HexUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.BaseEnum;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.vo.*;
import net.wanji.utc.dt.cache.CrossInfoCache; import net.wanji.utc.dt.cache.CrossInfoCache;
import net.wanji.utc.dt.cache.SignalDataCache; import net.wanji.utc.dt.cache.SignalDataCache;
import net.wanji.utc.dt.common.constants.Constants; import net.wanji.utc.dt.common.constants.Constants;
...@@ -13,10 +17,6 @@ import net.wanji.utc.dt.pojo.dtconvert.PhaseInfoPojo; ...@@ -13,10 +17,6 @@ import net.wanji.utc.dt.pojo.dtconvert.PhaseInfoPojo;
import net.wanji.utc.dt.pojo.netty.MessageResultPojo; import net.wanji.utc.dt.pojo.netty.MessageResultPojo;
import net.wanji.utc.dt.service.controller.ControlCommandService; import net.wanji.utc.dt.service.controller.ControlCommandService;
import net.wanji.utc.dt.util.CommonUtils; import net.wanji.utc.dt.util.CommonUtils;
import net.wanji.common.enums.BaseEnum;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.vo.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -223,15 +223,21 @@ public class DTControlCommandServiceImpl implements ControlCommandService { ...@@ -223,15 +223,21 @@ public class DTControlCommandServiceImpl implements ControlCommandService {
for (PlanSendVO.Plan.Section section : sectionList) { for (PlanSendVO.Plan.Section section : sectionList) {
String schemeNo = section.getPatternNo(); String schemeNo = section.getPatternNo();
String schemeHex = String.format("%02x", Integer.valueOf(schemeNo)); String schemeHex = String.format("%02x", Integer.valueOf(schemeNo));
schemeNoSb.insert(0, schemeHex).insert(0, schemeHex); // 开始时间结束时间两个时间段,插入两次 schemeNoSb.insert(0, schemeHex);
String beginTime = section.getBeginTime(); String beginTime = section.getBeginTime();
String startHourMinuteHex = CommonUtils.getHourMinuteHex(beginTime); String startHourMinuteHex = CommonUtils.getHourMinuteHex(beginTime);
String endTime = section.getEndTime(); String endTime = section.getEndTime();
String endHourMinuteHex = CommonUtils.getHourMinuteHex(endTime); String endHourMinuteHex = CommonUtils.getHourMinuteHex(endTime);
hourMinuteSb.insert(0, startHourMinuteHex).insert(0, endHourMinuteHex);
String controlMode = section.getControlMode(); String controlMode = section.getControlMode();
String dtControlMode = SectionControlModeEnum.getDtControlMode(Integer.valueOf(controlMode)); String dtControlMode = SectionControlModeEnum.getDtControlMode(Integer.valueOf(controlMode));
controlModelSb.insert(0, dtControlMode).insert(0, dtControlMode); // 去除重复时段控制模式 万集会有重复时段,重复则不插入当前时段
if (!hourMinuteSb.toString().contains(startHourMinuteHex)) {
schemeNoSb.insert(0, schemeHex);
hourMinuteSb.insert(0, startHourMinuteHex);
controlModelSb.insert(0, dtControlMode);
}
controlModelSb.insert(0, dtControlMode);
hourMinuteSb.insert(0, endHourMinuteHex);
} }
} }
String matchStr = "0b02%s%s"; String matchStr = "0b02%s%s";
...@@ -276,6 +282,7 @@ public class DTControlCommandServiceImpl implements ControlCommandService { ...@@ -276,6 +282,7 @@ public class DTControlCommandServiceImpl implements ControlCommandService {
/** /**
* 东土调度必须同时有星期和月日类型 * 东土调度必须同时有星期和月日类型
*
* @param schedule * @param schedule
* @return * @return
*/ */
...@@ -500,7 +507,7 @@ public class DTControlCommandServiceImpl implements ControlCommandService { ...@@ -500,7 +507,7 @@ public class DTControlCommandServiceImpl implements ControlCommandService {
sb.append(String.format("04021E%s00031E0C", String.format("%02x", phaseNo))); // 延长绿时间 sb.append(String.format("04021E%s00031E0C", String.format("%02x", phaseNo))); // 延长绿时间
} }
if (i == 31) { if (i == 31) {
sb.append(String.format("04021F%s00000000000000001F0C",String.format("%02x", phaseNo))); sb.append(String.format("04021F%s00000000000000001F0C", String.format("%02x", phaseNo)));
} }
} }
} }
......
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