瀏覽代碼

提交yaml文件修改

chenxiaofei 2 月之前
父節點
當前提交
6c160da8b8
共有 1 個文件被更改,包括 11 次插入8 次删除
  1. 11 8
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckService.java

+ 11 - 8
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckService.java

@@ -1421,11 +1421,11 @@ public class KwfTruckService {
         //根据车辆id查询车辆信息
         List<KwfTruck> kwfTrucks = kwfTruckRepository.queryByTruckIds(truckIds);
         //按照车辆id进行分组
-        Map<Long, List<KwfTruck>> truckIdAndTruckListMap = kwfTrucks.stream().collect(Collectors.groupingBy(KwfTruck::getId));
+        Map<Long, KwfTruck> truckIdAndTruckMap = kwfTrucks.stream().collect(Collectors.toMap(KwfTruck::getId, Function.identity(),(k1,k2)->k1));
         //获取要返回的车辆信息
         List<CapacityStatusVo.Truck> trucks = Lists.newArrayList();
         fleetIdAndFleetTruckListMap.forEach((fleetId, fleetTruckList) -> {
-            buildTruck(fleetId, fleetTruckList, fleetMap,trucks);
+            buildTruck(fleetId, fleetTruckList, fleetMap,trucks,kwfTrucks);
         });
 
         CapacityStatusVo capacityStatusVo = new CapacityStatusVo();
@@ -1433,20 +1433,23 @@ public class KwfTruckService {
         return capacityStatusVo;
     }
 
-    private static void buildTruck(Long fleetId, List<KwfFleetTruck> fleetTruckList, Map<Long, KwfFleet> fleetMap,List<CapacityStatusVo.Truck> trucks) {
+    private static void buildTruck(Long fleetId, List<KwfFleetTruck> fleetTruckList, Map<Long, KwfFleet> fleetMap,List<CapacityStatusVo.Truck> trucks,List<KwfTruck> kwfTrucks) {
         CapacityStatusVo.Truck truck = new CapacityStatusVo.Truck();
         truck.setFleetId(String.valueOf(fleetId));
         truck.setFleetName(fleetMap.getOrDefault(fleetId, new KwfFleet()).getName());
         //获取空闲车辆数
         truck.setIdleNum("0");
         truck.setRunningNum("0");
-        if (CollectionUtils.isNotEmpty(fleetTruckList)) {
-            long idleNum = fleetTruckList.stream()
-                    .filter(ft -> Objects.equals(ft.getStatus(), 0))
+        if (CollectionUtils.isNotEmpty(fleetTruckList) ) {
+            Set<Long> truckIds = fleetTruckList.stream()
+                    .map(KwfFleetTruck::getTruckId)
+                    .collect(Collectors.toSet());
+            long idleNum = kwfTrucks.stream()
+                    .filter(x -> kwfTrucks.contains(x.getId()) && Objects.equals(x.getBusinessStatus(), 0))
                     .count();
             truck.setIdleNum(String.valueOf(idleNum));
-            long runningNum = fleetTruckList.stream()
-                    .filter(ft -> Objects.equals(ft.getStatus(), 1))
+            long runningNum = kwfTrucks.stream()
+                    .filter(x -> kwfTrucks.contains(x.getId()) && Objects.equals(x.getBusinessStatus(), 1))
                     .count();
             truck.setRunningNum(String.valueOf(runningNum));
         }