Commit 9f79b7d9 authored by duanruiming's avatar duanruiming

[update] 优化灯组查询

parent 722773ac
...@@ -21,6 +21,7 @@ import net.wanji.utc.dt.netty.NettyClient; ...@@ -21,6 +21,7 @@ import net.wanji.utc.dt.netty.NettyClient;
import net.wanji.utc.dt.pojo.dtconvert.*; import net.wanji.utc.dt.pojo.dtconvert.*;
import net.wanji.utc.dt.pojo.netty.MessageResultPojo; import net.wanji.utc.dt.pojo.netty.MessageResultPojo;
import net.wanji.utc.dt.service.controller.StaticInfoService; import net.wanji.utc.dt.service.controller.StaticInfoService;
import net.wanji.utc.dt.util.CommonUtils;
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;
...@@ -67,7 +68,7 @@ public class DTStaticInfoServiceImpl implements StaticInfoService { ...@@ -67,7 +68,7 @@ public class DTStaticInfoServiceImpl implements StaticInfoService {
SchemePhaseLightsVO schemePhaseLightsVO = new SchemePhaseLightsVO(); SchemePhaseLightsVO schemePhaseLightsVO = new SchemePhaseLightsVO();
List<BaseCrossSchemePO> crossSchemeList = getCrossSchemeList(crossId, schemeInfoPojos); List<BaseCrossSchemePO> crossSchemeList = getCrossSchemeList(crossId, schemeInfoPojos);
List<CrossPhasePO> crossPhaseList = getCrossPhaseList(crossId, phaseInfoPojos, phaseStageInfoPojos, schemeInfoPojos); List<CrossPhasePO> crossPhaseList = getCrossPhaseList(crossId, phaseInfoPojos, phaseStageInfoPojos, schemeInfoPojos);
List<CrossLightsPO> crossLightsList = getCrossLightsList(crossId, crossPhaseList, phaseInfoPojos, lightsInfoPojos); List<CrossLightsPO> crossLightsList = getCrossLightsList(crossId, phaseInfoPojos, lightsInfoPojos);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = getCrossPhaseLightsList(crossId, crossPhaseList, phaseInfoPojos, phaseStageInfoPojos); List<CrossPhaseLightsPO> crossPhaseLightsPOList = getCrossPhaseLightsList(crossId, crossPhaseList, phaseInfoPojos, phaseStageInfoPojos);
schemePhaseLightsVO.setCrossPhaseLightsPOList(crossPhaseLightsPOList); schemePhaseLightsVO.setCrossPhaseLightsPOList(crossPhaseLightsPOList);
schemePhaseLightsVO.setCrossPhaseList(crossPhaseList); schemePhaseLightsVO.setCrossPhaseList(crossPhaseList);
...@@ -99,32 +100,29 @@ public class DTStaticInfoServiceImpl implements StaticInfoService { ...@@ -99,32 +100,29 @@ public class DTStaticInfoServiceImpl implements StaticInfoService {
return crossPhaseLightsList.stream().distinct().collect(Collectors.toList()); return crossPhaseLightsList.stream().distinct().collect(Collectors.toList());
} }
private List<CrossLightsPO> getCrossLightsList(String crossId, List<CrossPhasePO> crossPhaseList, List<PhaseInfoPojo> phaseInfoPojos, List<LightsInfoPojo> lightsInfoPojos) { private List<CrossLightsPO> getCrossLightsList(String crossId, List<PhaseInfoPojo> phaseInfoPojos, List<LightsInfoPojo> lightsInfoPojos) {
List<CrossLightsPO> crossLightsList = new ArrayList<>(); List<CrossLightsPO> crossLightsList = new ArrayList<>();
for (CrossPhasePO crossPhasePO : crossPhaseList) { for (PhaseInfoPojo phaseInfoPojo : phaseInfoPojos) {
for (PhaseInfoPojo phaseInfoPojo : phaseInfoPojos) { CrossLightsPO crossLightsPO = new CrossLightsPO();
if (StringUtils.equals(crossPhasePO.getPhaseNo(), String.valueOf(phaseInfoPojo.getPhaseId()))) { Integer phaseLightsId = phaseInfoPojo.getLightsId();
CrossLightsPO crossLightsPO = new CrossLightsPO(); for (LightsInfoPojo lightsInfoPojo : lightsInfoPojos) {
Integer phaseLightsId = phaseInfoPojo.getLightsId(); Integer lightId = lightsInfoPojo.getLightId();
for (LightsInfoPojo lightsInfoPojo : lightsInfoPojos) { if (Objects.equals(phaseLightsId, lightId)) {
Integer lightId = lightsInfoPojo.getLightId(); crossLightsPO.setLightsNo(String.valueOf(lightId));
if (Objects.equals(phaseLightsId, lightId)) { crossLightsPO.setName(StringUtils.join("灯组", lightId));
crossLightsPO.setLightsNo(String.valueOf(lightId)); // Integer turnDir = LightsInfoPojo.getTurnDir(lightId, lightsInfoPojo.getType());
crossLightsPO.setName(StringUtils.join("灯组", lightId)); Integer turnDir = CommonUtils.getTurnByLightsId(lightId - 1);
Integer turnDir = LightsInfoPojo.getTurnDir(lightId, lightsInfoPojo.getType()); Integer dir = CommonUtils.getDirByLightsId(lightId - 1);
crossLightsPO.setTurn(turnDir); crossLightsPO.setTurn(turnDir);
crossLightsPO.setType(2); crossLightsPO.setType(2);
if (turnDir == 20) { if (turnDir == 20) {
crossLightsPO.setType(3); crossLightsPO.setType(3);
}
crossLightsPO.setCrossId(crossId);
Integer dir = LightsInfoPojo.getLightsDir(lightId);
crossLightsPO.setDir(dir);
crossLightsPO.setInOutType(2);
crossLightsList.add(crossLightsPO);
break;
}
} }
crossLightsPO.setCrossId(crossId);
crossLightsPO.setDir(dir);
crossLightsPO.setInOutType(2);
crossLightsList.add(crossLightsPO);
break;
} }
} }
} }
......
...@@ -124,10 +124,10 @@ public class CommonUtils { ...@@ -124,10 +124,10 @@ public class CommonUtils {
turn = 1; turn = 1;
} }
if (lightId % 4 == 1) { if (lightId % 4 == 1) {
turn = 6; turn = 2;
} }
if (lightId % 4 == 2) { if (lightId % 4 == 2) {
turn = 6; turn = 3;
} }
if (lightId % 4 == 3) { if (lightId % 4 == 3) {
turn = 20; turn = 20;
......
...@@ -69,10 +69,12 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe ...@@ -69,10 +69,12 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
}); });
List<CrossLightsPO> crossLightsList = content.getCrossLightsList(); List<CrossLightsPO> crossLightsList = content.getCrossLightsList();
crossLightsList.forEach(crossLightsPO -> { if (!CollectionUtils.isEmpty(crossLightsList)) {
crossLightsMapper.deleteOne(crossId, crossLightsPO.getName()); crossLightsMapper.deleteByCrossId(crossId);
crossLightsMapper.insertOne(crossLightsPO); crossLightsList.forEach(crossLightsPO -> {
}); crossLightsMapper.insertOne(crossLightsPO);
});
}
List<CrossPhaseLightsPO> crossPhaseLightsPOList = content.getCrossPhaseLightsPOList(); List<CrossPhaseLightsPO> crossPhaseLightsPOList = content.getCrossPhaseLightsPOList();
if (!CollectionUtils.isEmpty(crossPhaseLightsPOList)) { if (!CollectionUtils.isEmpty(crossPhaseLightsPOList)) {
crossPhaseLightsMapper.deleteByCrossId(crossPhaseLightsPOList.get(0).getCrossId()); crossPhaseLightsMapper.deleteByCrossId(crossPhaseLightsPOList.get(0).getCrossId());
...@@ -125,9 +127,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe ...@@ -125,9 +127,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
if (Objects.nonNull(content)) { if (Objects.nonNull(content)) {
if (!CollectionUtils.isEmpty(content)) { if (!CollectionUtils.isEmpty(content)) {
crossSchedulesMapper.deleteByCrossId(crossId); crossSchedulesMapper.deleteByCrossId(crossId);
content.forEach(crossSchedulesPO -> { crossSchedulesMapper.insertBatch(content);
crossSchedulesMapper.insertBatch(content);
});
} }
} }
return Result.success(content); return Result.success(content);
......
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