Commit 80e7f51d authored by duanruiming's avatar duanruiming

[update] 态势监测-转向数据优化数据结构

parent 28daef5b
...@@ -1754,20 +1754,27 @@ public class TrendServiceImpl implements TrendService { ...@@ -1754,20 +1754,27 @@ public class TrendServiceImpl implements TrendService {
for (Map.Entry<Date, List<CrossTurnDataHistPO>> entry : collect.entrySet()) { for (Map.Entry<Date, List<CrossTurnDataHistPO>> entry : collect.entrySet()) {
Date key = entry.getKey(); Date key = entry.getKey();
List<CrossTurnDataHistPO> value = entry.getValue(); List<CrossTurnDataHistPO> value = entry.getValue();
List<HotspotCrossTurnVO.TurnDetail> turnDetails = new ArrayList<>(); if (!CollectionUtils.isEmpty(value)) {
for (CrossTurnDataHistPO crossTurnDataHistPO : value) { Map<Integer, List<CrossTurnDataHistPO>> dirMap = value.stream().collect(Collectors.groupingBy(CrossTurnDataHistPO::getInDir));
HotspotCrossTurnVO.TurnDetail turnDetail = new HotspotCrossTurnVO.TurnDetail(); for (Map.Entry<Integer, List<CrossTurnDataHistPO>> dirEntry : dirMap.entrySet()) {
turnDetail.setTurn(crossTurnDataHistPO.getTurnType()); Integer dir = dirEntry.getKey();
turnDetail.setDir(crossTurnDataHistPO.getInDir()); List<CrossTurnDataHistPO> list = dirEntry.getValue();
turnDetail.setQueueLength(crossTurnDataHistPO.getQueueLength()); List<HotspotCrossTurnVO.TurnDetail> turnDetails = new ArrayList<>();
turnDetail.setFlow(crossTurnDataHistPO.getFlow()); for (CrossTurnDataHistPO crossTurnDataHistPO : list) {
turnDetails.add(turnDetail); HotspotCrossTurnVO.TurnDetail turnDetail = new HotspotCrossTurnVO.TurnDetail();
turnDetail.setTurn(crossTurnDataHistPO.getTurnType());
turnDetail.setQueueLength(crossTurnDataHistPO.getQueueLength());
turnDetail.setFlow(crossTurnDataHistPO.getFlow());
turnDetails.add(turnDetail);
}
HotspotCrossTurnVO hotspotCrossTurnVO = new HotspotCrossTurnVO();
hotspotCrossTurnVO.setCrossId(crossId);
hotspotCrossTurnVO.setDir(dir);
hotspotCrossTurnVO.setTimeStamp(key);
hotspotCrossTurnVO.setTurnList(turnDetails);
results.add(hotspotCrossTurnVO);
}
} }
HotspotCrossTurnVO hotspotCrossTurnVO = new HotspotCrossTurnVO();
hotspotCrossTurnVO.setCrossId(crossId);
hotspotCrossTurnVO.setTimeStamp(key);
hotspotCrossTurnVO.setTurnList(turnDetails);
results.add(hotspotCrossTurnVO);
} }
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -1792,8 +1799,8 @@ public class TrendServiceImpl implements TrendService { ...@@ -1792,8 +1799,8 @@ public class TrendServiceImpl implements TrendService {
Date timeStamp = entry.getKey(); Date timeStamp = entry.getKey();
List<CrossLaneDataHistPOExt> value = entry.getValue(); List<CrossLaneDataHistPOExt> value = entry.getValue();
Map<Integer, List<CrossLaneDataHistPOExt>> dirLaneMap = value.stream().collect(Collectors.groupingBy(CrossLaneDataHistPOExt::getDir)); Map<Integer, List<CrossLaneDataHistPOExt>> dirLaneMap = value.stream().collect(Collectors.groupingBy(CrossLaneDataHistPOExt::getDir));
HotspotCrossLaneVO hotspotCrossLaneVO = new HotspotCrossLaneVO();
for (Map.Entry<Integer, List<CrossLaneDataHistPOExt>> dirEntry : dirLaneMap.entrySet()) { for (Map.Entry<Integer, List<CrossLaneDataHistPOExt>> dirEntry : dirLaneMap.entrySet()) {
HotspotCrossLaneVO hotspotCrossLaneVO = new HotspotCrossLaneVO();
Integer dir = dirEntry.getKey(); Integer dir = dirEntry.getKey();
List<CrossLaneDataHistPOExt> dirList = dirEntry.getValue(); List<CrossLaneDataHistPOExt> dirList = dirEntry.getValue();
List<HotspotCrossLaneVO.LaneDetail> laneDetails = new ArrayList<>(); List<HotspotCrossLaneVO.LaneDetail> laneDetails = new ArrayList<>();
......
...@@ -17,12 +17,12 @@ import java.util.List; ...@@ -17,12 +17,12 @@ import java.util.List;
public class HotspotCrossTurnVO { public class HotspotCrossTurnVO {
private String crossId; private String crossId;
private Date timeStamp; private Date timeStamp;
private Integer dir;
private List<HotspotCrossTurnVO.TurnDetail> turnList; private List<HotspotCrossTurnVO.TurnDetail> turnList;
@Data @Data
public static class TurnDetail { public static class TurnDetail {
private String turn; private String turn;
private Integer dir;
private Double queueLength; private Double queueLength;
private Integer flow; private Integer flow;
} }
......
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