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,11 +100,9 @@ public class DTStaticInfoServiceImpl implements StaticInfoService { ...@@ -99,11 +100,9 @@ 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) {
if (StringUtils.equals(crossPhasePO.getPhaseNo(), String.valueOf(phaseInfoPojo.getPhaseId()))) {
CrossLightsPO crossLightsPO = new CrossLightsPO(); CrossLightsPO crossLightsPO = new CrossLightsPO();
Integer phaseLightsId = phaseInfoPojo.getLightsId(); Integer phaseLightsId = phaseInfoPojo.getLightsId();
for (LightsInfoPojo lightsInfoPojo : lightsInfoPojos) { for (LightsInfoPojo lightsInfoPojo : lightsInfoPojos) {
...@@ -111,14 +110,15 @@ public class DTStaticInfoServiceImpl implements StaticInfoService { ...@@ -111,14 +110,15 @@ public class DTStaticInfoServiceImpl implements StaticInfoService {
if (Objects.equals(phaseLightsId, lightId)) { if (Objects.equals(phaseLightsId, lightId)) {
crossLightsPO.setLightsNo(String.valueOf(lightId)); crossLightsPO.setLightsNo(String.valueOf(lightId));
crossLightsPO.setName(StringUtils.join("灯组", lightId)); crossLightsPO.setName(StringUtils.join("灯组", lightId));
Integer turnDir = LightsInfoPojo.getTurnDir(lightId, lightsInfoPojo.getType()); // Integer turnDir = LightsInfoPojo.getTurnDir(lightId, lightsInfoPojo.getType());
Integer turnDir = CommonUtils.getTurnByLightsId(lightId - 1);
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); crossLightsPO.setCrossId(crossId);
Integer dir = LightsInfoPojo.getLightsDir(lightId);
crossLightsPO.setDir(dir); crossLightsPO.setDir(dir);
crossLightsPO.setInOutType(2); crossLightsPO.setInOutType(2);
crossLightsList.add(crossLightsPO); crossLightsList.add(crossLightsPO);
...@@ -126,8 +126,6 @@ public class DTStaticInfoServiceImpl implements StaticInfoService { ...@@ -126,8 +126,6 @@ public class DTStaticInfoServiceImpl implements StaticInfoService {
} }
} }
} }
}
}
return crossLightsList.stream().distinct().collect(Collectors.toList()); return crossLightsList.stream().distinct().collect(Collectors.toList());
} }
......
...@@ -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();
if (!CollectionUtils.isEmpty(crossLightsList)) {
crossLightsMapper.deleteByCrossId(crossId);
crossLightsList.forEach(crossLightsPO -> { crossLightsList.forEach(crossLightsPO -> {
crossLightsMapper.deleteOne(crossId, crossLightsPO.getName());
crossLightsMapper.insertOne(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