Commit 79b138b9 authored by zhoushiguang's avatar zhoushiguang

Merge remote-tracking branch 'origin/master'

parents b42fdf05 73f9652f
package net.wanji.web.common.enums;
import lombok.Getter;
import lombok.Setter;
/**
* @author zhouleilei
* @date 2024/12/7 22:03
*/
public enum CrossDirChangeEnum {
ONE(1, 5,"北"),
TWO(2, 6,"东北"),
THREE(3, 7,"东"),
FOUR(4, 8,"东南"),
FIVE(5, 1,"南"),
SIX(6, 2,"西南"),
SEVEN(7, 3,"西"),
EIGHT(8, 4,"西北");
@Getter
@Setter
private final int code;
@Getter
@Setter
private final int dir;
@Getter
@Setter
private final String msg;
CrossDirChangeEnum(int code,int dir, String msg) {
this.code = code;
this.dir = dir;
this.msg = msg;
}
public static CrossDirChangeEnum getMsgByCode(int code) {
for (CrossDirChangeEnum value : CrossDirChangeEnum.values()) {
if (value.code == code) {
return value;
}
}
return null;
}
}
......@@ -15,10 +15,10 @@ 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;
import net.wanji.web.common.enums.CrossDirChangeEnum;
import net.wanji.web.dto.*;
import net.wanji.web.po.RingPhasePO;
import net.wanji.web.service.FeignProxyService;
......@@ -642,53 +642,29 @@ 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)) {
//修改方向
oriPhaseList.forEach(x -> {
List<SaveSchemeConfigDTO.DirListElement> dirList = x.getDirList();
if (ObjectUtil.isNotNull(dirList)){
dirList.forEach(dir -> {
dir.setDir(CrossDirChangeEnum.getMsgByCode(dir.getDir()).getDir());
});
}
});
CrossSchemeRingsDTO crossSchemeRingsDTO = new CrossSchemeRingsDTO();
crossSchemeRingsDTO.setCrossId(crossIdAndTimeDTO.getCrossId());
crossSchemeRingsDTO.setPattern(String.valueOf(schemeId));
......
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