Commit cf182fbb authored by duanruiming's avatar duanruiming

[update] 交通大脑-统计数据优化车道编号

parent d2bb982a
......@@ -50,8 +50,11 @@ public class LaneStatisticsReceive2LaneDataMapVersion2 implements CoFlatMapFunct
if (!CollectionUtils.isEmpty(dataList)) {
for (LaneStatisticsDetail detail : dataList) {
String laneNo = detail.getLaneNo();
String wjLaneId = getWjLaneId(crossId, dir, laneNo, foreignDeviceMap);
CrossLaneDataRealTimePO po = new CrossLaneDataRealTimePO();
po.setId(String.join(Constant.MIDDLE_LINE, crossId, dir, laneNo));
// todo
po.setId(wjLaneId);
//po.setId(String.join(Constant.MIDDLE_LINE, crossId, dir, laneNo));
po.setCrossId(crossId);
po.setStartTime(dateTime);
String wArrivalFlow = detail.getWArrivalFlow();
......@@ -92,6 +95,25 @@ public class LaneStatisticsReceive2LaneDataMapVersion2 implements CoFlatMapFunct
}
}
private String getWjLaneId(String crossId, String dir, String laneNo, Map<String, List<ForeignDevicePO>> foreignDeviceMap) {
if (!foreignDeviceMap.isEmpty()) {
List<ForeignDevicePO> foreignDevicePOS = foreignDeviceMap.get(crossId);
if (!CollectionUtils.isEmpty(foreignDevicePOS)) {
for (ForeignDevicePO foreignDevicePO : foreignDevicePOS) {
Integer type = foreignDevicePO.getType();
String currentDir = String.valueOf(foreignDevicePO.getDir());
String laneId = foreignDevicePO.getLaneId();
String sort = laneId.substring(laneId.length() -1);
if (Objects.equals(2, type) && StringUtils.equalsIgnoreCase(dir, currentDir)
&& StringUtils.equalsIgnoreCase(sort, laneNo) ) {
return foreignDevicePO.getLaneId();
}
}
}
}
return "";
}
@Override
public void flatMap2(Map<String, List<ForeignDevicePO>> value, Collector<String> out) throws Exception {
foreignDeviceMap.putAll(value);
......
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