Commit 7b2c314e authored by zhouleilei's avatar zhouleilei

优化 方案优化接口

parent 2ab71974
......@@ -15,7 +15,6 @@ import net.wanji.databus.dao.entity.*;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.dto.*;
import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossSchemeInfoPO;
import net.wanji.databus.po.SaveToUtcPO;
import net.wanji.databus.vo.*;
import net.wanji.feign.service.UtcFeignClients;
......@@ -642,52 +641,19 @@ public class PlanSendServiceImpl implements PlanSendService {
return ringPhasePO;
}
int schemeId = Integer.valueOf(content.getSchemeNo());
List<CrossSchemeInfoPO> crossSchemeInfoPOS = baseCrossSchemeMapper.selectSchemeInfoByCrossIdAndSchemeId(crossIdAndTimeDTO.getCrossId(), schemeId);
if (ObjectUtil.isNotEmpty(crossSchemeInfoPOS)) {
//根据相位号分组
LinkedHashMap<String, List<CrossSchemeInfoPO>> collect = crossSchemeInfoPOS.stream().collect(Collectors.groupingBy(CrossSchemeInfoPO::getPhaseNo, LinkedHashMap::new, Collectors.toList()));
Set<String> set = collect.keySet();
for (String s : set) {
List<CrossSchemeInfoPO> infoPOS = collect.get(s);
CrossSchemeInfoPO crossSchemeInfoPO = infoPOS.get(0);
SaveSchemeConfigDTO.PhaseListElement phaseListElement = new SaveSchemeConfigDTO.PhaseListElement();
phaseListElement.setPhaseId(Integer.valueOf(crossSchemeInfoPO.getPhaseId()));
phaseListElement.setPhaseNo(crossSchemeInfoPO.getPhaseNo());
phaseListElement.setGreenTime(Integer.valueOf(crossSchemeInfoPO.getGreenTime()));
phaseListElement.setYellowTime(Integer.valueOf(crossSchemeInfoPO.getYellowTime()));
phaseListElement.setRedTime(Integer.valueOf(crossSchemeInfoPO.getRedTime()));
List<SaveSchemeConfigDTO.DirListElement> dirListElements = new ArrayList<>();
Map<String, List<CrossSchemeInfoPO>> dircollect = infoPOS.stream().filter(x -> x.getDir() != null).collect(Collectors.groupingBy(CrossSchemeInfoPO::getDir));
if (ObjectUtil.isNotEmpty(dircollect)) {
Set<String> dirSet = dircollect.keySet();
for (String string : dirSet) {
List<CrossSchemeInfoPO> crossSchemeInfoPOS1 = dircollect.get(string);
CrossSchemeInfoPO po = crossSchemeInfoPOS1.get(0);
SaveSchemeConfigDTO.DirListElement dirListElement = new SaveSchemeConfigDTO.DirListElement();
dirListElement.setDir(Integer.valueOf(po.getDir()));
List<SaveSchemeConfigDTO.LaneListElement> laneList = new ArrayList<>();
Map<String, List<CrossSchemeInfoPO>> laneCollect = crossSchemeInfoPOS1.stream().filter(x -> x.getLandId() != null).collect(Collectors.groupingBy(CrossSchemeInfoPO::getLandId));
if (ObjectUtil.isNotEmpty(laneCollect)) {
Set<String> stringSet = laneCollect.keySet();
for (String s1 : stringSet) {
List<CrossSchemeInfoPO> crossSchemeInfoPOS2 = laneCollect.get(s1);
CrossSchemeInfoPO schemeInfoPO = crossSchemeInfoPOS2.get(0);
SaveSchemeConfigDTO.LaneListElement laneListElement = new SaveSchemeConfigDTO.LaneListElement();
laneListElement.setDirection(Integer.valueOf(schemeInfoPO.getDir()));
laneListElement.setLaneType(Integer.valueOf(schemeInfoPO.getLaneType()));
laneListElement.setLaneId(schemeInfoPO.getLandId());
laneListElement.setLightsId(Integer.valueOf(schemeInfoPO.getLightsId()));
laneList.add(laneListElement);
}
}
dirListElement.setLaneList(laneList);
dirListElements.add(dirListElement);
}
}
phaseListElement.setDirList(dirListElements);
oriPhaseList.add(phaseListElement);
}
CrossIdBO crossIdBO = new CrossIdBO();
crossIdBO.setCrossId(crossIdAndTimeDTO.getCrossId());
SaveSchemeConfigDTO saveSchemeConfigDTO = schemeConfigServiceImpl.listSchemeConfig(crossIdBO);
List<SaveSchemeConfigDTO.PhaseScheme> phaseSchemeList = saveSchemeConfigDTO.getPhaseSchemeList();
if (ObjectUtil.isEmpty(phaseSchemeList)){
return ringPhasePO;
}
List<SaveSchemeConfigDTO.PhaseScheme> collected = phaseSchemeList.stream().filter(x -> x.getSchemeNo().equals(content.getSchemeNo())).collect(Collectors.toList());
SaveSchemeConfigDTO.PhaseScheme phaseScheme = collected.get(0);
SaveSchemeConfigDTO.RingListElement ringListElement = phaseScheme.getRingList().get(0);
List<SaveSchemeConfigDTO.GroupListElement> groupList = ringListElement.getGroupList();
SaveSchemeConfigDTO.GroupListElement groupListElement = groupList.get(0);
oriPhaseList = groupListElement.getPhaseList();
if (ObjectUtil.isNotEmpty(oriPhaseList)) {
CrossSchemeRingsDTO crossSchemeRingsDTO = new CrossSchemeRingsDTO();
crossSchemeRingsDTO.setCrossId(crossIdAndTimeDTO.getCrossId());
......
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