Commit 6dcd366d authored by duanruiming's avatar duanruiming

[update] 相位倒计时优化3

parent 9ebbc1b4
......@@ -15,6 +15,7 @@ import net.wanji.utc.dt.pojo.netty.MessageResultPojo;
import net.wanji.utc.dt.service.SignalStatusService;
import net.wanji.utc.dt.util.CommonUtils;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -220,7 +221,7 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
lightsStatusVO.setCycleLen(schemeInfoPojo.getCycle());
lightsStatusVO.setCycleCountDown(phaseStageStatusPojo.getRemainTime());
// 当相位剩余时间小于0是,运行的第二个阶段
int realRemainTime = phaseStageStatusPojo.getRemainTime() - (phaseStageTime - redTime);
int realRemainTime = phaseStageStatusPojo.getRemainTime() - redTime;
if (realRemainTime >= 0) {
lightsStatusVO.setPhaseId(String.valueOf(currentPhaseStageId));
lightsStatusVO.setCyclePhaseCountDown(realRemainTime);
......@@ -232,29 +233,12 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
nextPhaseStageInfoPojo = phaseStageInfoPojos.get(0);
}
lightsStatusVO.setPhaseId(String.valueOf(nextPhaseStageInfoPojo.getPhaseStageId()));
lightsStatusVO.setCyclePhaseCountDown(phaseStageStatusPojo.getRemainTime() + (phaseStageTime - redTime));
lightsStatusVO.setCyclePhaseCountDown(phaseStageStatusPojo.getRemainTime() + redTime);
}
}
}
}
Map<String, Object> dirLampGroupMap = new HashMap<>();
if (!CollectionUtils.isEmpty(lightsStatus)) {
for (int i = 0; i < lightsStatus.size(); i++) {
Map<Integer, String> turnColorMap = new HashMap<>();
String wjLightColor = PhaseLightColorEnum.getWjLightColor(lightsStatus.get(i));
Integer turn = CommonUtils.getTurnByLightsId(i);
turnColorMap.put(turn, wjLightColor);
String dir = String.valueOf(CommonUtils.getDirByLightsId(i));
if (dirLampGroupMap.isEmpty() || Objects.isNull(dirLampGroupMap.get(dir))) {
dirLampGroupMap.put(dir, turnColorMap);
} else {
Map<Integer, String> currentTurnColorMap = (Map<Integer, String>) dirLampGroupMap.get(dir);
currentTurnColorMap.put(turn, wjLightColor);
dirLampGroupMap.put(dir, currentTurnColorMap);
}
}
}
lightsStatusVO.setDirLampGroupMap(dirLampGroupMap);
lightsStatusVO.setDirLampGroupMap(getDirLampGroupMap(lightsStatus));
}
}
}
......@@ -262,4 +246,26 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
}
return lightsStatusVOS;
}
@NotNull
private static Map<String, Object> getDirLampGroupMap(List<String> lightsStatus) {
Map<String, Object> dirLampGroupMap = new HashMap<>();
if (!CollectionUtils.isEmpty(lightsStatus)) {
for (int i = 0; i < lightsStatus.size(); i++) {
Map<Integer, String> turnColorMap = new HashMap<>();
String wjLightColor = PhaseLightColorEnum.getWjLightColor(lightsStatus.get(i));
Integer turn = CommonUtils.getTurnByLightsId(i);
turnColorMap.put(turn, wjLightColor);
String dir = String.valueOf(CommonUtils.getDirByLightsId(i));
if (dirLampGroupMap.isEmpty() || Objects.isNull(dirLampGroupMap.get(dir))) {
dirLampGroupMap.put(dir, turnColorMap);
} else {
Map<Integer, String> currentTurnColorMap = (Map<Integer, String>) dirLampGroupMap.get(dir);
currentTurnColorMap.put(turn, wjLightColor);
dirLampGroupMap.put(dir, currentTurnColorMap);
}
}
}
return dirLampGroupMap;
}
}
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