|
@@ -11,6 +11,7 @@ import com.ozs.entity.vo.VehicleTreeVo;
|
|
|
import com.ozs.mapper.*;
|
|
|
import com.ozs.service.BaseDeviceDynamicManagementService;
|
|
|
import com.ozs.service.VehiclePositionService;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
@@ -85,9 +86,9 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
|
|
|
|
|
|
|
|
|
if (!ObjectUtils.isEmpty(map.get(o.getRailwayCode()))) {
|
|
|
- CameraTree cameraTree1 = map.get(o.getRailwayCode()+"-"+o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"));
|
|
|
+ CameraTree cameraTree1 = map.get(o.getRailwayCode() + "-" + o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"));
|
|
|
if (ObjectUtils.isEmpty(cameraTree1)) {
|
|
|
- map.put(o.getRailwayCode()+"-"+o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"), build1);
|
|
|
+ map.put(o.getRailwayCode() + "-" + o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"), build1);
|
|
|
map.get(o.getRailwayCode()).getChildren().add(build1);
|
|
|
}
|
|
|
}
|
|
@@ -101,8 +102,8 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
|
|
|
.build();
|
|
|
|
|
|
|
|
|
- if (!ObjectUtils.isEmpty(map.get(o.getRailwayCode()+"-"+o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行")))) {
|
|
|
- map.get(o.getRailwayCode()+"-"+o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行")).getChildren().add(build2);
|
|
|
+ if (!ObjectUtils.isEmpty(map.get(o.getRailwayCode() + "-" + o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行")))) {
|
|
|
+ map.get(o.getRailwayCode() + "-" + o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行")).getChildren().add(build2);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -135,7 +136,30 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
|
|
|
lambdaQueryWrapper.orderByDesc(VehiclePosition::getId);
|
|
|
List<VehiclePosition> vehiclePositions = vehiclePositionMapper.selectList(lambdaQueryWrapper);
|
|
|
if (!ObjectUtils.isEmpty(vehiclePositions) && vehiclePositions.size() > 0) {
|
|
|
- list.add(vehiclePositions.get(0));
|
|
|
+ //todo: 判断公里数和上行下行
|
|
|
+ if (ObjectUtils.isEmpty(vehicleTreeVo.getMils())
|
|
|
+ && ObjectUtils.isEmpty(vehicleTreeVo.getLineDir())) {
|
|
|
+ //都为空
|
|
|
+ list.add(vehiclePositions.get(0));
|
|
|
+ } else if (!ObjectUtils.isEmpty(vehicleTreeVo.getMils())
|
|
|
+ && vehicleTreeVo.getMils().equals(vehiclePositions.get(0).getTravelMile() + "")
|
|
|
+ && !ObjectUtils.isEmpty(vehicleTreeVo.getLineDir())
|
|
|
+ && vehicleTreeVo.getLineDir().equals(vehiclePositions.get(0).getLineDir())
|
|
|
+ ) {
|
|
|
+ //都不为空
|
|
|
+ list.add(vehiclePositions.get(0));
|
|
|
+ } else if (!ObjectUtils.isEmpty(vehicleTreeVo.getMils())
|
|
|
+ && vehicleTreeVo.getMils().equals(vehiclePositions.get(0).getTravelMile() + "")
|
|
|
+ && ObjectUtils.isEmpty(vehicleTreeVo.getLineDir())) {
|
|
|
+ //里程不为空,线路为空
|
|
|
+ list.add(vehiclePositions.get(0));
|
|
|
+ } else if (!ObjectUtils.isEmpty(vehicleTreeVo.getLineDir())
|
|
|
+ && vehicleTreeVo.getLineDir().equals(vehiclePositions.get(0).getLineDir())
|
|
|
+ && ObjectUtils.isEmpty(vehicleTreeVo.getMils())) {
|
|
|
+ //里程不为空,线路为空
|
|
|
+ list.add(vehiclePositions.get(0));
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -144,33 +168,63 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
|
|
|
List<BaseRailwayManagement> railwayList = railwayManagementMapper.selectList(new LambdaQueryWrapper());
|
|
|
if (!ObjectUtils.isEmpty(railwayList)) {
|
|
|
for (BaseRailwayManagement baseRailwayManagement : railwayList) {
|
|
|
-
|
|
|
- // 根据线路查询当前机车行驶
|
|
|
- VehicleTree build = VehicleTree.builder()
|
|
|
- .code(baseRailwayManagement.getRailwayCode())
|
|
|
- .name(baseRailwayManagement.getRailwayName())
|
|
|
- .flay(true)
|
|
|
- .children(new ArrayList<>())
|
|
|
- .build();
|
|
|
- if (list.size() > 0) {
|
|
|
- List<VehiclePosition> collect = list.stream().filter(vp -> vp.getRailwayCode().equals(baseRailwayManagement.getRailwayCode())).collect(Collectors.toList());
|
|
|
- if (!ObjectUtils.isEmpty(collect)) {
|
|
|
- collect.sort((o1, o2) -> o1.getTravelMile().compareTo(o2.getTravelMile()));
|
|
|
- List<VehicleTree> childrens = collect.stream().map(vp -> {
|
|
|
- LambdaQueryWrapper<BaseVehicle> lambdaQueryWrapper = new LambdaQueryWrapper();
|
|
|
- lambdaQueryWrapper.eq(BaseVehicle::getVehicleCode, vp.getVehicleCode());
|
|
|
- BaseVehicle baseVehicle = baseVehicleMapper.selectOne(lambdaQueryWrapper);
|
|
|
- return VehicleTree.builder()
|
|
|
- .code(vp.getTerminalCode())
|
|
|
- .name(AppendUtils.stringAppend(Integer.valueOf(vp.getTravelMile())) + "-" + (vp.getLineDir().equals("1") ? "上行" : "下行") + "-" + (ObjectUtils.isEmpty(baseVehicle) ? vp.getVehicleCode() : baseVehicle.getVehicleName()))
|
|
|
- .flay(true)
|
|
|
- .children(new ArrayList<>())
|
|
|
- .build();
|
|
|
- }).collect(Collectors.toList());
|
|
|
- build.setChildren(childrens);
|
|
|
+ if (StringUtils.isBlank(vehicleTreeVo.getRailwayCode())) {
|
|
|
+ // 根据线路查询当前机车行驶
|
|
|
+ VehicleTree build = VehicleTree.builder()
|
|
|
+ .code(baseRailwayManagement.getRailwayCode())
|
|
|
+ .name(baseRailwayManagement.getRailwayName())
|
|
|
+ .flay(true)
|
|
|
+ .children(new ArrayList<>())
|
|
|
+ .build();
|
|
|
+ if (list.size() > 0) {
|
|
|
+ List<VehiclePosition> collect = list.stream().filter(vp -> vp.getRailwayCode().equals(baseRailwayManagement.getRailwayCode())).collect(Collectors.toList());
|
|
|
+ if (!ObjectUtils.isEmpty(collect)) {
|
|
|
+ collect.sort((o1, o2) -> o1.getTravelMile().compareTo(o2.getTravelMile()));
|
|
|
+ List<VehicleTree> childrens = collect.stream().map(vp -> {
|
|
|
+ LambdaQueryWrapper<BaseVehicle> lambdaQueryWrapper = new LambdaQueryWrapper();
|
|
|
+ lambdaQueryWrapper.eq(BaseVehicle::getVehicleCode, vp.getVehicleCode());
|
|
|
+ BaseVehicle baseVehicle = baseVehicleMapper.selectOne(lambdaQueryWrapper);
|
|
|
+ return VehicleTree.builder()
|
|
|
+ .code(vp.getTerminalCode())
|
|
|
+ .name(AppendUtils.stringAppend(Integer.valueOf(vp.getTravelMile())) + "-" + (vp.getLineDir().equals("1") ? "上行" : "下行") + "-" + (ObjectUtils.isEmpty(baseVehicle) ? vp.getVehicleCode() : baseVehicle.getVehicleName()))
|
|
|
+ .mileage(vp.getTravelMile())
|
|
|
+ .flay(true)
|
|
|
+ .children(new ArrayList<>())
|
|
|
+ .build();
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ build.setChildren(childrens);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ children.add(build);
|
|
|
+ } else if (!StringUtils.isBlank(vehicleTreeVo.getRailwayCode()) && vehicleTreeVo.getRailwayCode().equals(baseRailwayManagement.getRailwayCode())) {
|
|
|
+ // 根据线路查询当前机车行驶
|
|
|
+ VehicleTree build = VehicleTree.builder()
|
|
|
+ .code(baseRailwayManagement.getRailwayCode())
|
|
|
+ .name(baseRailwayManagement.getRailwayName())
|
|
|
+ .flay(true)
|
|
|
+ .children(new ArrayList<>())
|
|
|
+ .build();
|
|
|
+ if (list.size() > 0) {
|
|
|
+ List<VehiclePosition> collect = list.stream().filter(vp -> vp.getRailwayCode().equals(baseRailwayManagement.getRailwayCode())).collect(Collectors.toList());
|
|
|
+ if (!ObjectUtils.isEmpty(collect)) {
|
|
|
+ collect.sort((o1, o2) -> o1.getTravelMile().compareTo(o2.getTravelMile()));
|
|
|
+ List<VehicleTree> childrens = collect.stream().map(vp -> {
|
|
|
+ LambdaQueryWrapper<BaseVehicle> lambdaQueryWrapper = new LambdaQueryWrapper();
|
|
|
+ lambdaQueryWrapper.eq(BaseVehicle::getVehicleCode, vp.getVehicleCode());
|
|
|
+ BaseVehicle baseVehicle = baseVehicleMapper.selectOne(lambdaQueryWrapper);
|
|
|
+ return VehicleTree.builder()
|
|
|
+ .code(vp.getTerminalCode())
|
|
|
+ .name(AppendUtils.stringAppend(Integer.valueOf(vp.getTravelMile())) + "-" + (vp.getLineDir().equals(1) ? "上行" : "下行") + "-" + (ObjectUtils.isEmpty(baseVehicle) ? vp.getVehicleCode() : baseVehicle.getVehicleName()))
|
|
|
+ .flay(true)
|
|
|
+ .mileage(vp.getTravelMile())
|
|
|
+ .children(new ArrayList<>())
|
|
|
+ .build();
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ build.setChildren(childrens);
|
|
|
+ }
|
|
|
}
|
|
|
+ children.add(build);
|
|
|
}
|
|
|
- children.add(build);
|
|
|
|
|
|
}
|
|
|
}
|