Просмотр исходного кода

Merge remote-tracking branch 'origin/dev_20251130' into dev_20251130

donglang 6 месяцев назад
Родитель
Сommit
b969c90a8e

+ 4 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dubbo/RemoteFleetServiceImpl.java

@@ -190,6 +190,10 @@ public class RemoteFleetServiceImpl implements RemoteFleetService {
         RTruckVo truckVo = new RTruckVo();
         KwfTruck truck = truckDao.selectById(truckId);
         BeanUtils.copyProperties(truck, truckVo);
+        TmsTruckAxleNum carAxisInfo = getCarAxisInfo(truck.getCarAxis());
+        truckVo.setCarAxisId(carAxisInfo.getId());
+        truckVo.setCarAxis(carAxisInfo.getName());
+        truckVo.setLegalLoad(carAxisInfo.getLegalLoad());
         return truckVo;
     }
 

+ 7 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtWaybillOrderNodeRepository.java

@@ -8,6 +8,7 @@ import com.sckw.transport.model.KwtWaybillOrderNode;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author PC
@@ -73,4 +74,10 @@ public class KwtWaybillOrderNodeRepository extends ServiceImpl<KwtWaybillOrderNo
     }
 
 
+    public List<KwtWaybillOrderNode> queryNodes(Set<Long> wayBillOrderIds, List<Integer> statusList) {
+       return list(Wrappers.<KwtWaybillOrderNode>lambdaQuery()
+                .in(KwtWaybillOrderNode::getWOrderId, wayBillOrderIds)
+                .in(KwtWaybillOrderNode::getOrderStatus,statusList )
+                .orderByAsc(KwtWaybillOrderNode::getCreateTime));
+    }
 }

+ 51 - 33
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -2569,7 +2569,7 @@ public class KwtLogisticsConsignmentService {
         setUnitInfo(logOrderIdUnitTypeKeyAndUnitMap, logisticsOrder, logisticsOrderDetailResp);
 
         //设置贸易信息
-        setGoodsInfo(kwpGoods, logisticsOrder, logisticsOrderDetailResp);
+        setGoodsInfo(kwpGoods, logisticsOrder, logisticsOrderDetailResp,orderDetailVo);
 
         //设置装卸货地址信息
         setAddressInfo(logOrderIdAndUnitTypeKeyAndAddressMap, logisticsOrder, logisticsOrderDetailResp);
@@ -2601,8 +2601,15 @@ public class KwtLogisticsConsignmentService {
         performanceInfoVO.setBillingMode(logisticsOrder.getBillingMode());
         performanceInfoVO.setBillingModeDesc(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(),
                 logisticsOrder.getBillingMode()));
-        performanceInfoVO.setCompletedCarNum(Objects.isNull(logisticsOrder.getTotalTake()) ? "0" : String.valueOf(logisticsOrder.getTotalTake()));
-        performanceInfoVO.setOrderAmount(String.valueOf(waybillOrderSubtasks.size()));
+        long completedCarNum = waybillOrderSubtasks.stream()
+                .filter(x -> Objects.equals(x.getStatus(), CarWaybillV1Enum.COMPLETED.getCode())).count();
+        performanceInfoVO.setCompletedCarNum(String.valueOf(completedCarNum));
+        BigDecimal orderAmount = waybillOrderSubtasks.stream().filter(x -> !Arrays.asList(CarWaybillV1Enum.COMPLETED.getCode(),
+                        CarWaybillV1Enum.CANCELLED.getCode()).contains(x.getStatus()))
+                .map(KwtWaybillOrderSubtask::getEntrustAmount)
+                .filter(x -> Objects.nonNull(x))
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+        performanceInfoVO.setOrderAmount(orderAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
         BigDecimal loadAmount = BigDecimal.ZERO;
         BigDecimal unloadAmount = BigDecimal.ZERO;
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(waybillOrderSubtasks)){
@@ -2612,26 +2619,30 @@ public class KwtLogisticsConsignmentService {
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
 
             unloadAmount = waybillOrderSubtasks.stream()
+                    .filter(x-> !Objects.equals(x.getStatus(), CarWaybillV1Enum.CANCELLED.getCode()))
                     .filter(x -> Objects.nonNull(x.getUnloadAmount()))
                     .map(KwtWaybillOrderSubtask::getUnloadAmount)
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
         }
-        performanceInfoVO.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
-        performanceInfoVO.setUnloadAmount(unloadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
+
         BigDecimal totalCarriageCost = BigDecimal.ZERO;
         if (org.apache.commons.lang3.StringUtils.equals(logisticsOrder.getBillingMode(),
                 DictEnum.CHARGING_TYPE_1.getValue())){
             totalCarriageCost = Objects.nonNull(logisticsOrder.getPrice()) ? loadAmount.multiply(logisticsOrder.getPrice()) :
                     BigDecimal.ZERO;
+            performanceInfoVO.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
+            performanceInfoVO.setUnloadAmount("-");
         }else if (org.apache.commons.lang3.StringUtils.equals(logisticsOrder.getBillingMode(),
                 DictEnum.CHARGING_TYPE_2.getValue())){
             totalCarriageCost = Objects.nonNull(logisticsOrder.getPrice()) ? unloadAmount.multiply(logisticsOrder.getPrice()) :
                     BigDecimal.ZERO;
+            performanceInfoVO.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
+            performanceInfoVO.setUnloadAmount(unloadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
         }
         performanceInfoVO.setTotalCarriageCost(totalCarriageCost.setScale(2,RoundingMode.HALF_UP).toPlainString());
         BigDecimal tradeAmount = Optional.ofNullable(orderDetailVo).map(OrderDetailVo::getAmount).orElse(BigDecimal.ZERO);
-        BigDecimal totalAmount = getTotalAmount(logOrderList);
-        BigDecimal surplusAmount = tradeAmount.subtract(totalAmount);
+       // BigDecimal totalAmount = getTotalAmount(logOrderList);
+        BigDecimal surplusAmount = tradeAmount.subtract(orderAmount.add(unloadAmount));
         performanceInfoVO.setSurplusAmount(surplusAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
 
         logisticsOrderDetailResp.setPerformanceInfoVO(performanceInfoVO);
@@ -2657,38 +2668,35 @@ public class KwtLogisticsConsignmentService {
         }
         // 筛选出状态为已完成的子运单
         List<KwtWaybillOrderSubtask> pendingUnloadSubtasks = waybillOrderSubtasks.stream()
-                .filter(subtask -> Objects.equals(subtask.getStatus(), CarWaybillV1Enum.COMPLETED.getCode()))
+                .filter(subtask -> !Objects.equals(subtask.getStatus(), CarWaybillV1Enum.CANCELLED.getCode()))
                 .collect(Collectors.toList());
 
         if (org.apache.commons.collections4.CollectionUtils.isEmpty(pendingUnloadSubtasks)) {
             return totalAmount;
         }
-        // 按装货量计费
-        if (org.apache.commons.lang3.StringUtils.equals(billingMode, DictEnum.CHARGING_TYPE_1.getValue())) {
-            totalAmount = pendingUnloadSubtasks.stream()
-                    .map(KwtWaybillOrderSubtask::getLoadAmount)
-                    .filter(x -> Objects.nonNull(x))
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
-        }
-        // 按卸货量计费
-        else if (org.apache.commons.lang3.StringUtils.equals(billingMode, DictEnum.CHARGING_TYPE_2.getValue())) {
-            totalAmount = pendingUnloadSubtasks.stream()
-                    .map(KwtWaybillOrderSubtask::getUnloadAmount)
-                    .filter(x -> Objects.nonNull(x))
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
-        }
-    return totalAmount;
+        // 已接单量
+        BigDecimal entrustAmount = pendingUnloadSubtasks.stream()
+                .map(KwtWaybillOrderSubtask::getEntrustAmount)
+                .filter(x -> Objects.nonNull(x))
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+
+        // 累计卸货量
+        BigDecimal unloadAmount = pendingUnloadSubtasks.stream()
+                .map(KwtWaybillOrderSubtask::getUnloadAmount)
+                .filter(x -> Objects.nonNull(x))
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+    return entrustAmount.add(unloadAmount);
 }
 
     private static void setAddressInfo(Map<String, KwtLogisticsOrderAddress> logOrderIdAndUnitTypeKeyAndAddressMap, KwtLogisticsOrder logisticsOrder, LogisticsOrderDetailResp logisticsOrderDetailResp) {
         LogisticsOrderDetailResp.LoadingInfoVO loadingInfoVO = new LogisticsOrderDetailResp.LoadingInfoVO();
         KwtLogisticsOrderAddress loadAdd = logOrderIdAndUnitTypeKeyAndAddressMap.getOrDefault(logisticsOrder.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(),
                 new KwtLogisticsOrderAddress());
-        loadingInfoVO.setLoadAddress(loadAdd.getDetailAddress());
+        loadingInfoVO.setLoadAddress(loadAdd.getCityName()+loadAdd.getDetailAddress());
         KwtLogisticsOrderAddress unloadAdd =
                 logOrderIdAndUnitTypeKeyAndAddressMap.getOrDefault(logisticsOrder.getId() + "-" + AddressTypeEnum.TAKE.getCode(),
                 new KwtLogisticsOrderAddress());
-        loadingInfoVO.setUnloadAddress(unloadAdd.getDetailAddress());
+        loadingInfoVO.setUnloadAddress(unloadAdd.getCityName()+unloadAdd.getDetailAddress());
         loadingInfoVO.setUnloadContacts(unloadAdd.getContacts());
         loadingInfoVO.setUnloadPhone(unloadAdd.getPhone());
         double distanceKm = DistanceUtils.calculateDistance(
@@ -2700,16 +2708,18 @@ public class KwtLogisticsConsignmentService {
         logisticsOrderDetailResp.setLoadingInfoVO(loadingInfoVO);
     }
 
-    private static void setGoodsInfo(KwpGoods kwpGoods, KwtLogisticsOrder logisticsOrder, LogisticsOrderDetailResp logisticsOrderDetailResp) {
+    private static void setGoodsInfo(KwpGoods kwpGoods, KwtLogisticsOrder logisticsOrder,
+                                     LogisticsOrderDetailResp logisticsOrderDetailResp,
+                                     OrderDetailVo orderDetailVo) {
         LogisticsOrderDetailResp.GoodsInfoVO goodsInfoVO = new LogisticsOrderDetailResp.GoodsInfoVO();
         if (Objects.nonNull(kwpGoods)){
             goodsInfoVO.setGoodsName(kwpGoods.getName());
 
         }
         goodsInfoVO.setUnitPrice(Objects.nonNull(logisticsOrder.getPrice())? logisticsOrder.getPrice().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
-        goodsInfoVO.setOrderAmount(Objects.nonNull(logisticsOrder.getAmount()) ? logisticsOrder.getAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
-        BigDecimal carriageCost = Objects.nonNull(logisticsOrder.getAmount()) && Objects.nonNull(logisticsOrder.getPrice()) ?
-                logisticsOrder.getAmount().multiply(logisticsOrder.getPrice()) : BigDecimal.ZERO;
+        goodsInfoVO.setOrderAmount(Objects.nonNull(orderDetailVo.getAmount()) ? orderDetailVo.getAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
+        BigDecimal carriageCost = Objects.nonNull(orderDetailVo.getAmount()) && Objects.nonNull(logisticsOrder.getPrice()) ?
+                orderDetailVo.getAmount().multiply(logisticsOrder.getPrice()) : BigDecimal.ZERO;
         goodsInfoVO.setCarriageCost(carriageCost.setScale(2,RoundingMode.HALF_UP).toPlainString());
         logisticsOrderDetailResp.setGoodsInfoVO(goodsInfoVO);
     }
@@ -2928,6 +2938,11 @@ public class KwtLogisticsConsignmentService {
         if (!status.contains(logisticsOrder.getStatus())){
             throw new BusinessException("该物流订单状态不能进行派车");
         }
+        //查询承运企业
+        KwtLogisticsOrderUnit kwtLogisticsOrderUnit = logisticsOrderUnitRepository.queryByLOrderIdAndUnitType(logOrderId, 2);
+        if (Objects.isNull(kwtLogisticsOrderUnit)){
+            throw new BusinessException("未找到承运企业信息");
+        }
         //车牌id去重
         List<DispatchCarReq.CarInfo> carInfos = req.getCarInfos();
         Set<String> truckIds = carInfos.stream()
@@ -2941,7 +2956,7 @@ public class KwtLogisticsConsignmentService {
         if (org.apache.commons.collections4.CollectionUtils.isEmpty(logisticsOrderCirculates)){
             //直接新增
             List<KwtLogisticsOrderCirculate> saveOrderCirculates = carInfos.stream()
-                    .map(t -> getKwtLogisticsOrderCirculate(req, t, logOrderId, logisticsOrder))
+                    .map(t -> getKwtLogisticsOrderCirculate(req, t, logOrderId, logisticsOrder,kwtLogisticsOrderUnit))
                     .collect(Collectors.toList());
             insertOrderCirculates.addAll(saveOrderCirculates);
         }else {
@@ -2950,7 +2965,7 @@ public class KwtLogisticsConsignmentService {
                     .map(KwtLogisticsOrderCirculate::getTruckId)
                     .collect(Collectors.toList());
             List<KwtLogisticsOrderCirculate> saveOrderCirculates = carInfos.stream().filter(t -> truckIdList.contains(t.getTruckId()))
-                    .map(t -> getKwtLogisticsOrderCirculate(req, t, logOrderId, logisticsOrder))
+                    .map(t -> getKwtLogisticsOrderCirculate(req, t, logOrderId, logisticsOrder,kwtLogisticsOrderUnit))
                     .collect(Collectors.toList());
             insertOrderCirculates.addAll(saveOrderCirculates);
         }
@@ -2978,9 +2993,12 @@ public class KwtLogisticsConsignmentService {
 
     @NotNull
     private static KwtLogisticsOrderCirculate getKwtLogisticsOrderCirculate(DispatchCarReq req,
-                                                                            DispatchCarReq.CarInfo carInfo, Long logOrderId, KwtLogisticsOrder logisticsOrder) {
+                                                                            DispatchCarReq.CarInfo carInfo,
+                                                                            Long logOrderId,
+                                                                            KwtLogisticsOrder logisticsOrder,
+                                                                            KwtLogisticsOrderUnit kwtLogisticsOrderUnit) {
         KwtLogisticsOrderCirculate logisticsOrderCirculate = new KwtLogisticsOrderCirculate();
-        logisticsOrderCirculate.setEntId(Long.valueOf(req.getEntId()));
+        logisticsOrderCirculate.setEntId(Long.valueOf(kwtLogisticsOrderUnit.getEntId()));
         logisticsOrderCirculate.setLOrderId(logOrderId);
         logisticsOrderCirculate.setTruckId(Long.valueOf(carInfo.getTruckId()));
         logisticsOrderCirculate.setTruckNo(carInfo.getTruckNo());

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

@@ -3029,8 +3029,20 @@ public class KwtWaybillOrderV1Service {
         }
 
         // 查询运单相关的装卸货时间信息
-        Map<String, KwtWaybillOrderTicket> subBillIdAddressIdKeyAndOrderTrackMap = getStringKwtWaybillOrderTrackMap(addressIds);
-        
+       // Map<String, KwtWaybillOrderTicket> subBillIdAddressIdKeyAndOrderTrackMap = getStringKwtWaybillOrderTrackMap(addressIds);
+
+        //查询节点获取装卸货时间
+        // 查询所有运单的节点数据,过滤出状态为“已离场”的节点
+        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)){
+            waybillOrderNodeMap = nodes.stream()
+                    .collect(Collectors.toMap(x -> x.getWOrderId() + "-" + x.getOrderStatus(), Function.identity(), (k1, k2) -> k1));
+        } else {
+            waybillOrderNodeMap = Maps.newHashMap();
+        }
+
         // 查询运单节点数据,获取离场时间
         Map<Long, KwtWaybillOrderNode> wOrderIdAndOffsiteNodeMap = getOffsiteNodeMap(wayBillOrderIds);
 
@@ -3076,7 +3088,7 @@ public class KwtWaybillOrderV1Service {
         List<WaybillOrderResp> resps = records.stream()
                 .map(record -> getWaybillOrderResp(record, waybillOrderIdAndBillOrderMap,
                         logOrderIdUnitTypeKeyAndUnitMap, finalLogOrderIdAndGoodsIdMap,
-                        kwpGoodsMap, finalSubOrderIdAddressTypeKeyAndAddressMap, subBillIdAddressIdKeyAndOrderTrackMap,
+                        kwpGoodsMap, finalSubOrderIdAddressTypeKeyAndAddressMap,  waybillOrderNodeMap,
                         finalLogIdAndOrderMap, finalDictValueAndDictResDtoMap, wOrderIdAndOffsiteNodeMap))
                 .collect(Collectors.toList());
 
@@ -3293,7 +3305,7 @@ public class KwtWaybillOrderV1Service {
                                                         Map<Long, KwtLogisticsOrderGoods> finalLogOrderIdAndGoodsIdMap,
                                                         Map<Long, KwpGoods> kwpGoodsMap,
                                                         Map<String, KwtWaybillOrderAddress> finalSubOrderIdAddressTypeKeyAndAddressMap,
-                                                        Map<String, KwtWaybillOrderTicket> finalSubBillIdAddressIdKeyAndOrderTrackMap,
+                                                        Map<String, KwtWaybillOrderNode> waybillOrderNodeMap,
                                                         Map<Long, KwtLogisticsOrder> finalLogIdAndOrderMap,
                                                         Map<String, SysDictResDto> dictValueAndDictResDtoMap,
                                                         Map<Long, KwtWaybillOrderNode> wOrderIdAndOffsiteNodeMap) {
@@ -3326,29 +3338,29 @@ public class KwtWaybillOrderV1Service {
             SysDictResDto sysDictResDto = dictValueAndDictResDtoMap.getOrDefault(kwpGoods.getGoodsType(), new SysDictResDto());
             waybillOrderResp.setGoodsName(kwpGoods.getName()+"/"+sysDictResDto.getLabel()+"/"+kwpGoods.getSpec());
         }
-        waybillOrderResp.setTaskNum(Objects.nonNull(billOrder.getEntrustAmount()) ?
-                billOrder.getEntrustAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
-        waybillOrderResp.setLoadingNetWeight(Objects.nonNull(billOrder.getLoadAmount()) ?
-                billOrder.getLoadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
+        waybillOrderResp.setTaskNum(Objects.nonNull(record.getEntrustAmount()) ?
+                record.getEntrustAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
+        waybillOrderResp.setLoadingNetWeight(Objects.nonNull(record.getLoadAmount()) ?
+                record.getLoadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
         KwtWaybillOrderAddress loadingAdd = finalSubOrderIdAddressTypeKeyAndAddressMap.getOrDefault(record.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(),
                 new KwtWaybillOrderAddress());
         waybillOrderResp.setLoadingAddress(loadingAdd.getDetailAddress());
-        waybillOrderResp.setUnloadingNetWeight(Objects.nonNull(billOrder.getUnloadAmount()) ?
-                billOrder.getUnloadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
+        waybillOrderResp.setUnloadingNetWeight(Objects.nonNull(record.getUnloadAmount()) ?
+                record.getUnloadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
         KwtWaybillOrderAddress unloadingAdd =
                 finalSubOrderIdAddressTypeKeyAndAddressMap.getOrDefault(record.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(),
                 new KwtWaybillOrderAddress());
         waybillOrderResp.setUnloadingAddress(unloadingAdd.getDetailAddress());
 
-        KwtWaybillOrderTicket loadTrack =
-                finalSubBillIdAddressIdKeyAndOrderTrackMap.getOrDefault(record.getId() + "-" + loadingAdd.getId(),
-                new KwtWaybillOrderTicket());
+        KwtWaybillOrderNode loadTrack =
+                waybillOrderNodeMap.getOrDefault(record.getWOrderId() + "-" + CarWaybillV1Enum.EXIT_COMPLETED.getCode(),
+                new KwtWaybillOrderNode());
 
         waybillOrderResp.setAcceptTime(DateUtils.format(record.getCreateTime(),DateUtils.DATE_TIME_PATTERN));
-        KwtWaybillOrderTicket unloadTrack =
-                finalSubBillIdAddressIdKeyAndOrderTrackMap.getOrDefault(record.getId() + "-" + loadingAdd.getId(),
-                        new KwtWaybillOrderTicket());
-        waybillOrderResp.setLoadingTime(DateUtils.format(loadTrack.getOperateTime(),DateUtils.DATE_TIME_PATTERN));
+        KwtWaybillOrderNode unloadTrack =
+                waybillOrderNodeMap.getOrDefault(record.getWOrderId() + "-" + CarWaybillV1Enum.COMPLETION_LOADING.getCode(),
+                        new KwtWaybillOrderNode());
+        waybillOrderResp.setLoadingTime(DateUtils.format(loadTrack.getCreateTime(),DateUtils.DATE_TIME_PATTERN));
         
         // 从节点表中获取离场时间
         KwtWaybillOrderNode offsiteNode = wOrderIdAndOffsiteNodeMap.get(record.getWOrderId());
@@ -3356,7 +3368,7 @@ public class KwtWaybillOrderV1Service {
             waybillOrderResp.setOffsiteTime(DateUtils.format(offsiteNode.getCreateTime(), DateUtils.DATE_TIME_PATTERN));
         }
         
-        waybillOrderResp.setUnloadingTime(DateUtils.format(unloadTrack.getOperateTime(),DateUtils.DATE_TIME_PATTERN));
+        waybillOrderResp.setUnloadingTime(DateUtils.format(unloadTrack.getCreateTime(),DateUtils.DATE_TIME_PATTERN));
         if (Objects.equals(record.getStatus(), CarWaybillV1Enum.COMPLETED.getCode())){
             waybillOrderResp.setCompleteTime(DateUtils.format(record.getUpdateTime(),DateUtils.DATE_TIME_PATTERN));
         }
@@ -3543,7 +3555,7 @@ public class KwtWaybillOrderV1Service {
         waybillOrderDetailResp.setTransEntName(transEnt.getFirmName());
         waybillOrderDetailResp.setCarrierEntName(carrierEnt.getFirmName());
         Optional<TradeContractUnitDto> first = tradeContractUnitDtos.stream()
-                .filter(x -> org.apache.commons.lang3.StringUtils.equals(x.getUnitType(), String.valueOf(CooperateTypeEnum.SUPPLIER.getCode())))
+                .filter(x -> org.apache.commons.lang3.StringUtils.equals(x.getUnitType(), String.valueOf(CooperateTypeEnum.PURCHASER.getCode())))
                 .findFirst();
         first.ifPresent(x->{
             waybillOrderDetailResp.setSupplyEntName(x.getFirmName());
@@ -3558,7 +3570,7 @@ public class KwtWaybillOrderV1Service {
 
         waybillOrderDetailResp.setStatus(subtask.getStatus());
         waybillOrderDetailResp.setStatusDesc(CarWaybillV1Enum.geDesc(subtask.getStatus()));
-        waybillOrderDetailResp.setLegalLoad(truck.getActualWeight());
+        waybillOrderDetailResp.setLegalLoad(truck.getLegalLoad());
         
         // 计算装货完成率 = (装货量 / 任务量) × 100%
         String loadCompleteRate = "0.00%";
@@ -3657,7 +3669,8 @@ public class KwtWaybillOrderV1Service {
             // 存储记录
             String remark = null;
             if (Objects.equals(status, CarWaybillV1Enum.REVIEW_REJECTION.getCode())){
-                 remark = "审核驳回,运单【"+ billOrder.getWOrderNo() + "】已驳回";
+                 //remark = "审核驳回,运单【"+ billOrder.getWOrderNo() + "】已驳回";
+                remark = "因【"+ req.getRemark() + "】审核未通过";
             }else {
                  remark = "审核通过,运单【"+ billOrder.getWOrderNo() + "】已完成";
             }

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

@@ -367,10 +367,10 @@ public class WaybillOrderService {
 
         //装货地址
         KwtLogisticsOrderAddress shipmentAddress = logOrderIdAndAddressMap.getOrDefault(order.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new KwtLogisticsOrderAddress());
-        orderResp.setLoadAddress(shipmentAddress.getDetailAddress());
+        orderResp.setLoadAddress(shipmentAddress.getCityName()+shipmentAddress.getDetailAddress());
         //卸货地址
         KwtLogisticsOrderAddress takeAddress = logOrderIdAndAddressMap.getOrDefault(order.getId() + "-" + AddressTypeEnum.TAKE.getCode(), new KwtLogisticsOrderAddress());
-        orderResp.setUnloadAddress(takeAddress.getDetailAddress());
+        orderResp.setUnloadAddress(takeAddress.getCityName()+takeAddress.getDetailAddress());
         //装卸地之间距离
         double distanceKm = DistanceUtils.calculateDistance(
                 Optional.ofNullable(shipmentAddress.getLng()).map(Double::valueOf).orElse(null),
@@ -821,19 +821,19 @@ public class WaybillOrderService {
 
             for (KwtLogisticsOrder kwtLogisticsOrder : kwtLogisticsOrders) {
                 List<KwtWaybillOrderSubtask> waybillOrderSubtasks = logisticsOrderIdAndSubtaskList.getOrDefault(kwtLogisticsOrder.getId(), new ArrayList<>());
-                if (StringUtils.equals(billingMode, DictEnum.CHARGING_TYPE_1.getValue())) {
-                    BigDecimal loadAmountSum = waybillOrderSubtasks.stream()
-                            .map(KwtWaybillOrderSubtask::getLoadAmount)
-                            .filter(Objects::nonNull)
-                            .reduce(BigDecimal.ZERO, BigDecimal::add);
-                    logTotatalAmount = logTotatalAmount.add(loadAmountSum);
-                } else if (StringUtils.equals(billingMode, DictEnum.CHARGING_TYPE_2.getValue())) {
-                    BigDecimal unloadAmountSum = waybillOrderSubtasks.stream()
-                            .map(KwtWaybillOrderSubtask::getUnloadAmount)
-                            .filter(Objects::nonNull)
-                            .reduce(BigDecimal.ZERO, BigDecimal::add);
-                    logTotatalAmount = logTotatalAmount.add(unloadAmountSum);
-                }
+                BigDecimal loadAmountSum = waybillOrderSubtasks.stream()
+                        .filter(x->!Arrays.asList(CarWaybillV1Enum.COMPLETED.getCode(), CarWaybillV1Enum.CANCELLED.getCode()).contains(x.getStatus()))
+                        .map(KwtWaybillOrderSubtask::getEntrustAmount)
+                        .filter(Objects::nonNull)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add);
+                //logTotatalAmount = logTotatalAmount.add(loadAmountSum);
+                BigDecimal unloadAmountSum = waybillOrderSubtasks.stream()
+                        .filter(x->!Objects.equals(x.getStatus(),CarWaybillV1Enum.CANCELLED.getCode()))
+                        .map(KwtWaybillOrderSubtask::getUnloadAmount)
+                        .filter(Objects::nonNull)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add);
+                logTotatalAmount.add(loadAmountSum.add(unloadAmountSum));
+                //logTotatalAmount = logTotatalAmount.add(unloadAmountSum);
             }
         }
         return tradeAmount.subtract(logTotatalAmount).setScale(2, RoundingMode.HALF_UP).toPlainString();