Commit 82f74dc6 authored by duanruiming's avatar duanruiming

[update] 优化代码

parent e3ca6c44
......@@ -21,6 +21,7 @@ import net.wanji.web.po.scheme.CrossDirInfoPO;
import net.wanji.web.service.scheme.CrossConfigService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
......@@ -101,24 +102,26 @@ public class CrossConfigServiceImpl implements CrossConfigService {
for (DirListElement dirListElement : dirList) {
List<LaneListElement> laneList = dirListElement.getLaneList();
Integer dir = dirListElement.getDir();
for (LaneListElement laneListElement : laneList) {
// 根据路口ID、方向、车道代码获取车道ID
String code = laneListElement.getName(); // 车道代码
LaneInfoPO laneInfoPO = laneInfoMapper.selectByCrossIdDirCode(crossId, dir, code);
String laneId = laneInfoPO.getId();
CrossLaneLightsPO crossLaneLightsPO = new CrossLaneLightsPO();
crossLaneLightsPO.setLaneId(laneId);
crossLaneLightsPO.setCrossId(crossId);
// 根据路口ID和灯组代码获取灯组ID
String ledNum = laneListElement.getLedNum();
if (ledNum != null) {
BaseCrossLightsPO baseCrossLightsPO = baseCrossLightsMapper.selectByCrossIdAndLedNum(crossId, ledNum);
Integer lightsId = baseCrossLightsPO.getId();
crossLaneLightsPO.setLightsId(lightsId);
// 用于判断灯组号是否都配置完成
lightCodeSet.remove(ledNum);
if (!CollectionUtils.isEmpty(laneList)) {
for (LaneListElement laneListElement : laneList) {
// 根据路口ID、方向、车道代码获取车道ID
String code = laneListElement.getName(); // 车道代码
LaneInfoPO laneInfoPO = laneInfoMapper.selectByCrossIdDirCode(crossId, dir, code);
String laneId = laneInfoPO.getId();
CrossLaneLightsPO crossLaneLightsPO = new CrossLaneLightsPO();
crossLaneLightsPO.setLaneId(laneId);
crossLaneLightsPO.setCrossId(crossId);
// 根据路口ID和灯组代码获取灯组ID
String ledNum = laneListElement.getLedNum();
if (ledNum != null) {
BaseCrossLightsPO baseCrossLightsPO = baseCrossLightsMapper.selectByCrossIdAndLedNum(crossId, ledNum);
Integer lightsId = baseCrossLightsPO.getId();
crossLaneLightsPO.setLightsId(lightsId);
// 用于判断灯组号是否都配置完成
lightCodeSet.remove(ledNum);
}
crossLaneLightsPOList.add(crossLaneLightsPO);
}
crossLaneLightsPOList.add(crossLaneLightsPO);
}
}
baseCrossLaneLightsMapper.deleteByCrossId(crossId);
......
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