소스 검색

相机和机车列表查询

buzhanyi 1 년 전
부모
커밋
5ac53ff985

+ 1 - 1
business-service/src/main/java/com/ozs/entity/vo/CameraTreeVo.java

@@ -30,5 +30,5 @@ public class CameraTreeVo extends PageVo implements Serializable {
     /**
      * 里程位置
      */
-    private Integer mils;
+    private String mils;
 }

+ 1 - 1
business-service/src/main/java/com/ozs/entity/vo/VehicleTreeVo.java

@@ -30,7 +30,7 @@ public class VehicleTreeVo extends PageVo implements Serializable {
     /**
      * 里程位置
      */
-    private Integer mils;
+    private String mils;
 
     /**
      * 关联表中的终端编码

+ 84 - 30
business-service/src/main/java/com/ozs/service/impl/BaseDeviceDynamicManagementServiceImpl.java

@@ -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);
 
             }
         }

+ 1 - 1
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -712,7 +712,7 @@ public class BaseCameraManagementController extends BaseController {
         //cameraTreeVo = (CameraTreeVo) dataScoreUtil.setDataScore(getUserId(), cameraTreeVo);
         int count = 0;
         if (!ObjectUtils.isEmpty(cameraTreeVo.getMils())) {
-            cameraTreeVo.setMils(cameraTreeVo.getMils() * 1000);
+            cameraTreeVo.setMils(new BigDecimal(cameraTreeVo.getMils()).multiply(new BigDecimal(1000)).setScale(0, BigDecimal.ROUND_DOWN).toString());
         }
         CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(cameraTreeVo);
         List<CameraTree> children = cameraTree.getChildren();

+ 2 - 1
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseVehicleController.java

@@ -39,6 +39,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStream;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -280,7 +281,7 @@ public class BaseVehicleController extends BaseController {
     @Log(title = "首页机车列表", businessType = BusinessType.SELECT)
     public AjaxResult vehicleTree(@RequestBody VehicleTreeVo vehicleTreeVo) {
         if (!ObjectUtils.isEmpty(vehicleTreeVo.getMils())) {
-            vehicleTreeVo.setMils(vehicleTreeVo.getMils() * 1000);
+            vehicleTreeVo.setMils(new BigDecimal(vehicleTreeVo.getMils()).multiply(new BigDecimal(1000)).setScale(0, BigDecimal.ROUND_DOWN).toString());
         }
         VehicleTree vehicleTree = baseDeviceDynamicManagementService.vehicleTree(vehicleTreeVo);
         List<VehicleTree> children = vehicleTree.getChildren();