Commit b1c32ebd authored by hanbing's avatar hanbing

[update] 干线评价--修改干线列表生成方式

parent 1e879825
...@@ -548,12 +548,23 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -548,12 +548,23 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
private void setCrossListAndwkt(MainlineListVO mainlineListVO, Integer greenwaveId) { private void setCrossListAndwkt(MainlineListVO mainlineListVO, Integer greenwaveId) {
List<GreenwaveCrossPO> greenwaveCrossPOList = greenwaveCrossMapper.selectByGreenwaveId(greenwaveId); List<GreenwaveCrossPO> greenwaveCrossPOList = greenwaveCrossMapper.selectByGreenwaveId(greenwaveId);
Map<String, GreenwaveCrossPO> uniqueCrossIdMap = greenwaveCrossPOList.stream()
.collect(Collectors.toMap(
GreenwaveCrossPO::getCrossId,
Function.identity(),
(existing, replacement) -> existing
));
List<GreenwaveCrossPO> filteredList = new ArrayList<>(uniqueCrossIdMap.values());
filteredList.sort(Comparator.comparing(GreenwaveCrossPO::getSort));
List<CrossIdAndNameVO> crossIdAndNameVOList = new ArrayList<>(); List<CrossIdAndNameVO> crossIdAndNameVOList = new ArrayList<>();
StringBuilder wkt = new StringBuilder(); StringBuilder wkt = new StringBuilder();
for (int i = 0; i < greenwaveCrossPOList.size() - 1; i++) { for (int i = 0; i < filteredList.size() - 1; i++) {
GreenwaveCrossPO preCross = greenwaveCrossPOList.get(i); GreenwaveCrossPO preCross = filteredList.get(i);
GreenwaveCrossPO nextCross = greenwaveCrossPOList.get(i + 1); GreenwaveCrossPO nextCross = filteredList.get(i + 1);
// 构造路口列表 // 构造路口列表
String crossId = preCross.getCrossId(); String crossId = preCross.getCrossId();
...@@ -562,7 +573,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -562,7 +573,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
crossIdAndNameVO.setCrossId(crossId); crossIdAndNameVO.setCrossId(crossId);
crossIdAndNameVO.setCrossName(baseCrossInfoPO.getName()); crossIdAndNameVO.setCrossName(baseCrossInfoPO.getName());
crossIdAndNameVOList.add(crossIdAndNameVO); crossIdAndNameVOList.add(crossIdAndNameVO);
if (i == greenwaveCrossPOList.size() - 2) { if (i == filteredList.size() - 2) {
String crossId1 = nextCross.getCrossId(); String crossId1 = nextCross.getCrossId();
BaseCrossInfoPO baseCrossInfoPO1 = baseCrossInfoMapper.selectById(crossId1); BaseCrossInfoPO baseCrossInfoPO1 = baseCrossInfoMapper.selectById(crossId1);
CrossIdAndNameVO crossIdAndNameVO1 = new CrossIdAndNameVO(); CrossIdAndNameVO crossIdAndNameVO1 = new CrossIdAndNameVO();
......
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