ソースを参照

提交解绑车辆bug

chenxiaofei 6 ヶ月 前
コミット
34b694dcf6

+ 2 - 1
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfDriverService.java

@@ -1264,12 +1264,13 @@ public class KwfDriverService {
         //查询轴数表
         Set<Integer> truckAxleIds = associatedTrackList.stream()
                 .filter(x -> Objects.nonNull(x.getTruckAxleId()))
-                .map(x -> Long.valueOf(x.getTruckAxleId().toString()).intValue())
+                .map(x -> Integer.parseInt(x.getTruckAxleId().toString()))
                 .collect(Collectors.toSet());
         Map<Integer, TmsTruckAxleNum> truckAxleNumMap = Maps.newHashMap();
         if (CollectionUtils.isNotEmpty(truckAxleIds)) {
             List<TmsTruckAxleNum> truckAxleNumList = truckAxleNumRepository.queryByIds(truckAxleIds);
             if (CollectionUtils.isNotEmpty(truckAxleNumList)) {
+                log.info("查询轴数表结果:{}", JSON.toJSONString(truckAxleNumList));
                 truckAxleNumMap = truckAxleNumList.stream()
                         .collect(Collectors.toMap(TmsTruckAxleNum::getId, Function.identity(), (key1, key2) -> key1));
             }

+ 28 - 5
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfFleetService.java

@@ -20,6 +20,7 @@ import com.sckw.fleet.dao.KwfFleetMapper;
 import com.sckw.fleet.model.KwfFleet;
 import com.sckw.fleet.model.KwfFleetTruck;
 import com.sckw.fleet.model.KwfTruck;
+import com.sckw.fleet.model.TmsTruckAxleNum;
 import com.sckw.fleet.model.dto.KwfFleetDto;
 import com.sckw.fleet.model.request.QueryFleetReq;
 import com.sckw.fleet.model.vo.KwfFleetTruckCountVo;
@@ -27,6 +28,7 @@ import com.sckw.fleet.model.vo.KwfFleetVo;
 import com.sckw.fleet.model.vo.QueryFleetResp;
 import com.sckw.fleet.repository.KwfFleetRepository;
 import com.sckw.fleet.repository.KwfFleetTruckRepository;
+import com.sckw.fleet.repository.KwfTruckAxleNumRepository;
 import com.sckw.fleet.repository.KwfTruckRepository;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
@@ -58,6 +60,7 @@ public class KwfFleetService {
     private RemoteSystemService remoteSystemService;
     private final KwfFleetRepository kwfFleetRepository;
     private final KwfFleetTruckRepository kwfFleetTruckRepository;
+    private final KwfTruckAxleNumRepository kwfTruckAxleNumRepository;
     @Autowired
     private KwfTruckRepository kwfTruckRepository;
 
@@ -222,6 +225,7 @@ public class KwfFleetService {
         }
         Set<Long> userIds = Sets.newHashSet();
         Set<Long> fleetIds = Sets.newHashSet();
+        Set<Object> objects = Sets.newHashSet();
         records.forEach(item -> {
             userIds.add(item.getCreateBy());
             userIds.add(item.getCaptainId());
@@ -241,19 +245,34 @@ public class KwfFleetService {
         }
         //查询车辆信息
         Map<Long, KwfTruck> truckIdAndTruckMap = Maps.newHashMap();
+        Set<Integer> carAxis = Sets.newHashSet();
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(truckIds)){
             List<KwfTruck> trucks = kwfTruckRepository.queryByTruckIds(truckIds);
             if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(trucks)){
                 truckIdAndTruckMap = trucks.stream()
                         .collect(Collectors.toMap(BaseModel::getId,
                         Function.identity(), (e1, e2) -> e1));
+                carAxis = trucks.stream()
+                        .filter(x-> org.apache.commons.lang3.StringUtils.isNotBlank(x.getCarAxis()))
+                        .map(x->Integer.parseInt(x.getCarAxis()))
+                        .collect(Collectors.toSet());
             }
         }
+        //查询车辆轴数
+        Map<Integer, TmsTruckAxleNum> tmsTruckAxleNumMap  = Maps.newHashMap();
+        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(carAxis)){
+            List<TmsTruckAxleNum> tmsTruckAxleNums = kwfTruckAxleNumRepository.queryByIds(carAxis);
+            tmsTruckAxleNumMap = Optional.ofNullable(tmsTruckAxleNums)
+                    .orElse(List.of())
+                    .stream()
+                    .collect(Collectors.toMap(TmsTruckAxleNum::getId, Function.identity(), (k1, k2) -> k1));
+        }
 
         Map<Long, List<KwfFleetTruck>> finalFleetIdAndKwfFleetTruckList = fleetIdAndKwfFleetTruckList;
         Map<Long, KwfTruck> finalTruckIdAndTruckMap = truckIdAndTruckMap;
+        Map<Integer, TmsTruckAxleNum> finalTmsTruckAxleNumMap = tmsTruckAxleNumMap;
         List<QueryFleetResp> fleets = records.stream()
-                .map(item -> getQueryFleetResp(item, userIdAndUserCacheResDtoMap, finalFleetIdAndKwfFleetTruckList, finalTruckIdAndTruckMap))
+                .map(item -> getQueryFleetResp(item, userIdAndUserCacheResDtoMap, finalFleetIdAndKwfFleetTruckList, finalTruckIdAndTruckMap, finalTmsTruckAxleNumMap))
                 .toList();
         return PageDataResult.of(page, fleets);
     }
@@ -281,7 +300,10 @@ public class KwfFleetService {
 
     @NotNull
     private static QueryFleetResp getQueryFleetResp(KwfFleet item,
-                                                    Map<Long, UserCacheResDto> userIdAndUserCacheResDtoMap, Map<Long, List<KwfFleetTruck>> finalFleetIdAndKwfFleetTruckList,Map<Long, KwfTruck> truckIdAndTruckMap) {
+                                                    Map<Long, UserCacheResDto> userIdAndUserCacheResDtoMap,
+                                                    Map<Long, List<KwfFleetTruck>> finalFleetIdAndKwfFleetTruckList,
+                                                    Map<Long, KwfTruck> truckIdAndTruckMap,
+                                                    Map<Integer, TmsTruckAxleNum> tmsTruckAxleNumMap) {
         QueryFleetResp fleet = new QueryFleetResp();
         fleet.setId(item.getId());
         fleet.setEntId(item.getEntId());
@@ -300,7 +322,7 @@ public class KwfFleetService {
         fleet.setRemark(item.getRemark());
         List<KwfFleetTruck> trucks = finalFleetIdAndKwfFleetTruckList.getOrDefault(item.getId(), new ArrayList<>());
         List<QueryFleetResp.TruckInfo> truckInfos = trucks.stream()
-                .map(x -> getTruckInfo(truckIdAndTruckMap, x))
+                .map(x -> getTruckInfo(truckIdAndTruckMap, x,tmsTruckAxleNumMap))
                 .collect(Collectors.toList());
         fleet.setTruckInfo(truckInfos);
         fleet.setTruckNum(trucks.size());
@@ -308,12 +330,13 @@ public class KwfFleetService {
         return fleet;
     }
 
-    private static QueryFleetResp.TruckInfo getTruckInfo(Map<Long, KwfTruck> truckIdAndTruckMap, KwfFleetTruck x) {
+    private static QueryFleetResp.TruckInfo getTruckInfo(Map<Long, KwfTruck> truckIdAndTruckMap, KwfFleetTruck x,Map<Integer, TmsTruckAxleNum> tmsTruckAxleNumMap) {
         QueryFleetResp.TruckInfo truckInfo = new QueryFleetResp.TruckInfo();
         KwfTruck truck = truckIdAndTruckMap.getOrDefault(x.getTruckId(), new KwfTruck());
+        TmsTruckAxleNum truckAxleNum = tmsTruckAxleNumMap.getOrDefault(Integer.parseInt(truck.getCarAxis()), new TmsTruckAxleNum());
         truckInfo.setTruckId(truck.getId());
         truckInfo.setTruckNo(truck.getTruckNo());
-        truckInfo.setAxleNum(truck.getCarAxis());
+        truckInfo.setAxleNum(truckAxleNum.getName());
         return truckInfo;
     }
 

+ 10 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -2466,20 +2466,19 @@ public class KwtLogisticsConsignmentService {
         OrderDetailVo orderDetailVo = tradeIdAndOrderDetailVoMap.getOrDefault(kwtLogisticsOrder.getTOrderId(), new OrderDetailVo());
         logisticsOrderResp.setAmount(Objects.nonNull(orderDetailVo.getAmount()) ?
                 orderDetailVo.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
-        BigDecimal expectedTransportPrice = BigDecimal.ZERO;
-        BigDecimal actualTransportPrice = BigDecimal.ZERO;
-        expectedTransportPrice =
-                Objects.nonNull(kwtLogisticsOrder.getPrice()) && Objects.nonNull(kwtLogisticsOrder.getAmount()) ?
-                    kwtLogisticsOrder.getPrice().multiply(kwtLogisticsOrder.getLoadAmount()) : BigDecimal.ZERO;
-        actualTransportPrice = Objects.nonNull(kwtLogisticsOrder.getPrice()) && Objects.nonNull(kwtLogisticsOrder.getTotalUnloadAmount()) ?
-                kwtLogisticsOrder.getPrice().multiply(kwtLogisticsOrder.getTotalUnloadAmount()) : BigDecimal.ZERO;
+
+        BigDecimal expectedTransportPrice =
+                Objects.nonNull(kwtLogisticsOrder.getPrice()) && Objects.nonNull(orderDetailVo.getAmount()) ?
+                    kwtLogisticsOrder.getPrice().multiply(orderDetailVo.getAmount()) : BigDecimal.ZERO;
+        BigDecimal actualTransportPrice = Objects.nonNull(kwtLogisticsOrder.getPrice()) && Objects.nonNull(kwtLogisticsOrder.getUnloadAmount()) ?
+                kwtLogisticsOrder.getPrice().multiply(kwtLogisticsOrder.getUnloadAmount()) : BigDecimal.ZERO;
 
         logisticsOrderResp.setExpectedTransportPrice(expectedTransportPrice.setScale(2,RoundingMode.HALF_UP).toPlainString());
         logisticsOrderResp.setActualTransportPrice(actualTransportPrice.setScale(2,RoundingMode.HALF_UP).toPlainString());
-        logisticsOrderResp.setLoadAmount(Objects.nonNull(kwtLogisticsOrder.getTotalLoadAmount()) ?
-                kwtLogisticsOrder.getTotalLoadAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
-        logisticsOrderResp.setUnloadAmount(Objects.nonNull(kwtLogisticsOrder.getTotalUnloadAmount()) ?
-                kwtLogisticsOrder.getTotalUnloadAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
+        logisticsOrderResp.setLoadAmount(Objects.nonNull(kwtLogisticsOrder.getLoadAmount()) ?
+                kwtLogisticsOrder.getLoadAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
+        logisticsOrderResp.setUnloadAmount(Objects.nonNull(kwtLogisticsOrder.getUnloadAmount()) ?
+                kwtLogisticsOrder.getUnloadAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
 
         KwtLogisticsOrderAddress loadAdd = finalLogisticsOrderIdAndUnitTypeKeyAndAddressMap.getOrDefault(kwtLogisticsOrder.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new KwtLogisticsOrderAddress());
         logisticsOrderResp.setLoadAddress(loadAdd.getCityName()+loadAdd.getDetailAddress());

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -3036,7 +3036,7 @@ public class KwtWaybillOrderV1Service {
         List<Integer> statusList = Arrays.asList(CarWaybillV1Enum.EXIT_COMPLETED.getCode(), CarWaybillV1Enum.COMPLETION_LOADING.getCode());
         List<KwtWaybillOrderNode> nodes = kwtWaybillOrderNodeRepository.queryNodes(wayBillOrderIds, statusList);
         Map<String, KwtWaybillOrderNode> waybillOrderNodeMap;
-        if (CollectionUtils.isEmpty(nodes)){
+        if (CollectionUtils.isNotEmpty(nodes)){
             waybillOrderNodeMap = nodes.stream()
                     .collect(Collectors.toMap(x -> x.getWOrderId() + "-" + x.getOrderStatus(), Function.identity(), (k1, k2) -> k1));
         } else {

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/WaybillOrderService.java

@@ -832,7 +832,7 @@ public class WaybillOrderService {
                         .map(KwtWaybillOrderSubtask::getUnloadAmount)
                         .filter(Objects::nonNull)
                         .reduce(BigDecimal.ZERO, BigDecimal::add);
-                logTotatalAmount.add(loadAmountSum.add(unloadAmountSum));
+                logTotatalAmount = logTotatalAmount.add(loadAmountSum).add(unloadAmountSum);
                 //logTotatalAmount = logTotatalAmount.add(unloadAmountSum);
             }
         }