Commit 8d0eb7b8 authored by duanruiming's avatar duanruiming

[update] 优化海信灯态代码结构

parent 8ebc081a
...@@ -173,6 +173,23 @@ public class SignalStatusServiceImpl implements SignalStatusService { ...@@ -173,6 +173,23 @@ public class SignalStatusServiceImpl implements SignalStatusService {
lightsStatusVO.setPhasePlanId(String.valueOf(planId)); lightsStatusVO.setPhasePlanId(String.valueOf(planId));
List<CrossSchemePhaseCountDownDTO> crossSchemePhaseCountDownList = CrossSchemePhaseTimeCountCache.crossSchemePhaseCountDownList; List<CrossSchemePhaseCountDownDTO> crossSchemePhaseCountDownList = CrossSchemePhaseTimeCountCache.crossSchemePhaseCountDownList;
setLightsStatusVOPhaseNoAndCountDown(lightsStatusVO, crossId, runTime, planId, crossSchemePhaseCountDownList);
SignalDataCache.runningStateInfoCache.put(crossId, lightsStatusVO);
}
}
}
}
}
/**
* 通过周期倒计时判断当前相位号,相位倒计时时间
* @param lightsStatusVO
* @param crossId
* @param runTime
* @param planId
* @param crossSchemePhaseCountDownList
*/
private static void setLightsStatusVOPhaseNoAndCountDown(LightsStatusVO lightsStatusVO, String crossId, int runTime, int planId, List<CrossSchemePhaseCountDownDTO> crossSchemePhaseCountDownList) {
if (!CollectionUtils.isEmpty(crossSchemePhaseCountDownList)) { if (!CollectionUtils.isEmpty(crossSchemePhaseCountDownList)) {
for (CrossSchemePhaseCountDownDTO dto : crossSchemePhaseCountDownList) { for (CrossSchemePhaseCountDownDTO dto : crossSchemePhaseCountDownList) {
String crossIdCache = dto.getCrossId(); String crossIdCache = dto.getCrossId();
...@@ -196,11 +213,6 @@ public class SignalStatusServiceImpl implements SignalStatusService { ...@@ -196,11 +213,6 @@ public class SignalStatusServiceImpl implements SignalStatusService {
} }
} }
} }
SignalDataCache.runningStateInfoCache.put(crossId, lightsStatusVO);
}
}
}
}
} }
/** /**
...@@ -229,9 +241,7 @@ public class SignalStatusServiceImpl implements SignalStatusService { ...@@ -229,9 +241,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
} }
} }
} }
log.error("当前路口:{},方案号:{},相位号:{}", crossId, planId, phaseNo);
return phaseNo; return phaseNo;
} }
} }
...@@ -54,7 +54,7 @@ public class HisensePhaseCountDownTask { ...@@ -54,7 +54,7 @@ public class HisensePhaseCountDownTask {
String currentTime = String.valueOf(new Date().getTime()); String currentTime = String.valueOf(new Date().getTime());
if (StringUtils.equalsIgnoreCase(schemeStartTime, currentTime)) { if (StringUtils.equalsIgnoreCase(schemeStartTime, currentTime)) {
crossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, Integer.valueOf(nextSectionSchemeNo)); crossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, Integer.valueOf(nextSectionSchemeNo));
executeNextSectionScheme(crossId, lightsStatusVO, "1", crossSchemePO); executeNextSectionScheme(crossId, lightsStatusVO, crossSchemePO);
lightsStatusVO.setCycleLen(crossSchemePO.getCycle()); lightsStatusVO.setCycleLen(crossSchemePO.getCycle());
} else { } else {
executeNextPeriod(crossId, lightsStatusVO, phaseId, crossSchemePO); executeNextPeriod(crossId, lightsStatusVO, phaseId, crossSchemePO);
...@@ -71,17 +71,18 @@ public class HisensePhaseCountDownTask { ...@@ -71,17 +71,18 @@ public class HisensePhaseCountDownTask {
* @description 通过日计划缓存,切换下一个时段方案 * @description 通过日计划缓存,切换下一个时段方案
* @param crossId * @param crossId
* @param lightsStatusVO * @param lightsStatusVO
* @param phaseId
* @param crossSchemePO * @param crossSchemePO
*/ */
private void executeNextSectionScheme(String crossId, LightsStatusVO lightsStatusVO, String phaseId, CrossSchemePO crossSchemePO) { private void executeNextSectionScheme(String crossId, LightsStatusVO lightsStatusVO, CrossSchemePO crossSchemePO) {
if (Objects.nonNull(crossSchemePO)) { if (Objects.nonNull(crossSchemePO)) {
List<CrossPhasePO> nextSchemePhaseList = crossPhaseMapper.selectByCrossIdAndPlanId(crossId, String.valueOf(crossSchemePO.getId())); List<CrossPhasePO> nextSchemePhaseList = crossPhaseMapper.selectByCrossIdAndPlanId(crossId, String.valueOf(crossSchemePO.getId()));
Integer phaseTime = 0; Integer phaseTime = 0;
String phaseId = null;
if (!CollectionUtils.isEmpty(nextSchemePhaseList)) { if (!CollectionUtils.isEmpty(nextSchemePhaseList)) {
for (CrossPhasePO crossPhasePO : nextSchemePhaseList) { for (CrossPhasePO crossPhasePO : nextSchemePhaseList) {
if (StringUtils.equalsIgnoreCase(phaseId, crossPhasePO.getPhaseNo())) { if (Objects.equals(1, crossPhasePO.getSort())) {
phaseTime = crossPhasePO.getPhaseTime(); phaseTime = crossPhasePO.getPhaseTime();
phaseId = crossPhasePO.getPhaseNo();
} }
} }
} }
...@@ -139,6 +140,9 @@ public class HisensePhaseCountDownTask { ...@@ -139,6 +140,9 @@ public class HisensePhaseCountDownTask {
String phaseNo = String.valueOf(phaseDirTurnPojo.getPhaseNo()); String phaseNo = String.valueOf(phaseDirTurnPojo.getPhaseNo());
if (StringUtils.equalsIgnoreCase(schemeNo, currentSchemeNo) && StringUtils.equalsIgnoreCase(currentPhaseNo, String.valueOf(phaseNo))) { if (StringUtils.equalsIgnoreCase(schemeNo, currentSchemeNo) && StringUtils.equalsIgnoreCase(currentPhaseNo, String.valueOf(phaseNo))) {
PhaseCountDownDTO phaseCountDownDTO = getPhaseCountDownDTO(crossId, schemeNo, phaseNo); PhaseCountDownDTO phaseCountDownDTO = getPhaseCountDownDTO(crossId, schemeNo, phaseNo);
if (Objects.isNull(phaseCountDownDTO)) {
continue;
}
Integer yellowTime = phaseCountDownDTO.getYellowTime(); Integer yellowTime = phaseCountDownDTO.getYellowTime();
Integer redTime = phaseCountDownDTO.getRedTime(); Integer redTime = phaseCountDownDTO.getRedTime();
Map<Integer, List<CrossLightsPO>> dirTurnMap = phaseDirTurnPojo.getDirTurnMap(); Map<Integer, List<CrossLightsPO>> dirTurnMap = phaseDirTurnPojo.getDirTurnMap();
......
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