donglang пре 4 недеља
родитељ
комит
e66ffdfe1d

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

@@ -638,7 +638,7 @@ public class RemoteFleetServiceImpl implements RemoteFleetService {
     @Override
     public void unbindTruck(Long entId, Long driverId) {
         KwfTruckReport truckReport = truckReportRepository.getOne(Wrappers.<KwfTruckReport>lambdaQuery()
-                .eq(KwfTruckReport::getEntId, LoginUserHolder.getEntId())
+                .eq(KwfTruckReport::getEntId, entId)
                 .eq(KwfTruckReport::getDriverId, driverId)
                 .eq(KwfTruckReport::getDelFlag, Global.NO)
                 .eq(KwfTruckReport::getStatus, Global.YES));
@@ -646,7 +646,7 @@ public class RemoteFleetServiceImpl implements RemoteFleetService {
             throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_STATUS_ERROR, "此司机无车辆解绑信息!");
         }
         truckReport.setStatus(Global.NO);
-        log.info("pc端解绑车辆请求参数 :{}", truckReport);
+        log.info("解绑车辆请求参数 :{}", truckReport);
         truckReportRepository.updateById(truckReport);
 
     }

+ 16 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/CancelHandler.java

@@ -65,21 +65,16 @@ public class CancelHandler extends AbstractWaybillOrderHandler<WaybillOrderCance
         //1.获取子运单任务量
         KwtWaybillOrderSubtask subtask = getWaybillSubtask(waybill.getId());
         BigDecimal entrustAmount = subtask.getEntrustAmount();
-        //查询运单运单信息
-        KwtWaybillOrder order = waybillOrderRepository.queryByBillOrderId(subtask.getWOrderId());
+
         //2.更新上游订单:更新物流订单运输量
         KwtLogisticsOrder logOrder = updateLogOrder(param, entrustAmount);
-        //查询司机是否存在已绑定的车辆
-        Long driverId = Optional.ofNullable(order).map(KwtWaybillOrder::getDriverId).orElse(null);
-        Long wayBillOrderId = Optional.ofNullable(order).map(KwtWaybillOrder::getId).orElse(null);
-        Long entId = Optional.ofNullable(order).map(KwtWaybillOrder::getEntId).orElse(null);
-        log.info("运单取消完成,解绑司机与车辆关系,运单id:{},企业id:{},司机id:{}", wayBillOrderId, entId, driverId);
-        remoteFleetService.unbindTruck(entId,driverId);
-//        //3.更新上游订单:更新贸易订单运输量
-//        updateTradeOrder(logOrder, entrustAmount);
-    }
 
+        //3.解绑车辆
+        unbindTruck(subtask.getWOrderId());
 
+        //4.更新上游订单:更新贸易订单运输量
+//        updateTradeOrder(logOrder, entrustAmount);
+    }
 
     /**
      * 更新上游物流订单 - 减运输量
@@ -105,6 +100,16 @@ public class CancelHandler extends AbstractWaybillOrderHandler<WaybillOrderCance
         return logOrder;
     }
 
+    /**
+     * 解绑车辆
+     * @param wOrderId
+     */
+    private void unbindTruck(Long wOrderId) {
+        //查询运单运单信息
+        KwtWaybillOrder waybillOrder = getWaybillOrder(wOrderId);
+        remoteFleetService.unbindTruck(waybillOrder.getEntId(), waybillOrder.getDriverId());
+        log.info("运单完成,解绑司机与车辆关系,运单id:{},企业id:{},司机id:{}", wOrderId, waybillOrder.getEntId(), waybillOrder.getDriverId());
+    }
 
     /**
      * 更新上游贸易订单 - 减运输量

+ 14 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/UnloadingHandler.java

@@ -85,6 +85,9 @@ public class UnloadingHandler extends AbstractWaybillOrderHandler<WaybillOrderUn
             //3. 更新物流订单
             updateTradeOrder(logisticsOrder, loadAmount, subtask);
 
+            //4. 解绑车辆
+            unbindTruck(waybill.getId());
+
         } else if (orderDetailVo.getChargeType() == 2) {
             if (param.getUnloadAmount() == null || StringUtils.isBlank(param.getUnloadUrl())) {
                 throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "卸货净重和卸货凭证不能为空!");
@@ -160,6 +163,17 @@ public class UnloadingHandler extends AbstractWaybillOrderHandler<WaybillOrderUn
         logisticsOrderRepository.updateById(logisticsOrder);
     }
 
+    /**
+     * 解绑车辆
+     * @param wOrderId
+     */
+    private void unbindTruck(Long wOrderId) {
+        //查询运单运单信息
+        KwtWaybillOrder waybillOrder = getWaybillOrder(wOrderId);
+        remoteFleetService.unbindTruck(waybillOrder.getEntId(), waybillOrder.getDriverId());
+        log.info("运单完成,解绑司机与车辆关系,运单id:{},企业id:{},司机id:{}", wOrderId, waybillOrder.getEntId(), waybillOrder.getDriverId());
+    }
+
     @Override
     protected String getProcessName() {
         return "卸货";