فهرست منبع

提交解绑车辆bug

chenxiaofei 4 هفته پیش
والد
کامیت
2ac5121db0

+ 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) {
+        list(Wrappers.<KwtWaybillOrderNode>lambdaQuery()
+                .in(KwtWaybillOrderNode::getWOrderId, wayBillOrderIds)
+                .in(KwtWaybillOrderNode::getOrderStatus,statusList )
+                .orderByAsc(KwtWaybillOrderNode::getCreateTime));
+    }
 }

+ 32 - 19
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));
         }
@@ -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() + "】已完成";
             }

+ 2 - 2
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),