Explorar el Código

委托量优化

donglang hace 1 mes
padre
commit
7f12e66adc

+ 19 - 9
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/enterpriseApp/AppWayBillController.java

@@ -12,6 +12,7 @@ import com.sckw.transport.service.KwtLogisticsConsignmentService;
 import com.sckw.transport.service.KwtWaybillManagementService;
 import com.sckw.transport.service.KwtWaybillManagementV1Service;
 import com.sckw.transport.service.app.WaybillOrderService;
+import io.swagger.v3.oas.annotations.Operation;
 import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -201,7 +202,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/queryTotalTake")
+    @Operation(summary = "查询完成运单和累计运输量", description = "查询司机关联的完成运单和累计运输量")
+    @PostMapping("/queryTotalTake")
     public BaseResult<OrderCirculateTotalTakeVo> queryTotalTake(@RequestBody @Valid OrderCirculateTotalTakeParam param){
         OrderCirculateTotalTakeVo totalTakeVo = logisticsConsignmentService.queryTotalTake(param);
         return BaseResult.success(totalTakeVo);
@@ -214,7 +216,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/queryTruckLogisticsOrder")
+    @Operation(summary = "查询物流订单", description = "查询司机关联车辆的物流订单")
+    @PostMapping("/queryTruckLogisticsOrder")
     public BaseResult<PageDataResult<LogisticsOrderResp>> queryTruckLogisticsOrder(@RequestBody @Valid OrderCirculateQueryParam param){
         PageDataResult<LogisticsOrderResp> LogisticsOrderList = logisticsConsignmentService.queryTruckLogisticsOrder(param);
         return BaseResult.success(LogisticsOrderList);
@@ -226,7 +229,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/orderTaking")
+    @Operation(summary = "接单", description = "物流订单接单")
+    @PostMapping("/orderTaking")
     public BaseResult orderTaking(@RequestBody @Valid OrderCirculateTakingQueryParam param){
         waybillOrderService.orderTaking(param);
         return BaseResult.success();
@@ -238,7 +242,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/cancelWaybillOrder")
+    @Operation(summary = "取消接单", description = "取消订单接单")
+    @PostMapping("/cancelWaybillOrder")
     public BaseResult cancelWaybillOrder(@RequestBody @Valid WaybillOrderCancelParam param){
         waybillOrderService.cancelWaybillOrder(param);
         return BaseResult.success();
@@ -250,7 +255,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/comeInto")
+    @Operation(summary = "到达装货地点", description = "到达装货地点-手动推推送数据")
+    @PostMapping("/comeInto")
     public BaseResult comeInto(@RequestBody @Valid WaybillOrderCmeIntoWeighParam param){
         waybillOrderService.comeInto(param);
         return BaseResult.success();
@@ -262,7 +268,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/loading")
+    @Operation(summary = "已装货", description = "已装货 -手动推推送数据")
+    @PostMapping("/loading")
     public BaseResult loading(@RequestBody @Valid WaybillOrderLoadingParam param){
         waybillOrderService.loading(param);
         return BaseResult.success();
@@ -274,7 +281,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/leave")
+    @Operation(summary = "离场过磅", description = "离场过磅(计算毛重和净重)-手动推推送数据")
+    @PostMapping("/leave")
     public BaseResult leave(@RequestBody @Valid WaybillOrderLeaveMockParam param){
         waybillOrderService.leave(param);
         return BaseResult.success();
@@ -286,7 +294,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/leavedWaybillOrder")
+    @Operation(summary = "离场", description = "离场")
+    @PostMapping("/leavedWaybillOrder")
     public BaseResult leavedWaybillOrder(@RequestBody @Valid WaybillOrderLeaveParam param){
         waybillOrderService.leavedWaybillOrder(param);
         return BaseResult.success();
@@ -298,7 +307,8 @@ public class AppWayBillController {
      * @param param
      * @return
      */
-    @GetMapping("/unloadingWaybillOrder")
+    @Operation(summary = "卸货", description = "卸货")
+    @PostMapping("/unloadingWaybillOrder")
     public BaseResult unloadingWaybillOrder(@RequestBody @Valid WaybillOrderUnloadParam param){
         waybillOrderService.unloadingWaybillOrder(param);
         return BaseResult.success();

+ 7 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/CancelHandler.java

@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.Objects;
+import java.util.Optional;
 
 /**
  * Author: donglang
@@ -76,8 +77,14 @@ public class CancelHandler extends AbstractWaybillOrderHandler<WaybillOrderCance
         if (logOrder.getEntrustAmount() == null || logOrder.getEntrustAmount().compareTo(BigDecimal.ZERO) <= 0) {
             throw new BusinessPlatfromException(ErrorCodeEnum.LOGISTICS_ORDER_AMOUNT_ERROR, "已接单物订单的总运单量不能为空或0!");
         }
+        //总接单数
+        Integer totalTake = Optional.ofNullable(logOrder.getTotalTake())
+                .map(val -> Math.max(val - 1, 0))
+                .orElse(0);
         logOrder.setEntrustAmount(logOrder.getEntrustAmount().subtract(entrustAmount));
+        logOrder.setTotalTake(totalTake);
         logisticsOrderRepository.updateById(logOrder);
+
         log.info("更新上游物流订单运输量成功, 物流订单ID:{}", logOrder.getId());
         return logOrder;
     }

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/TakingOrderHandler.java

@@ -446,7 +446,12 @@ public class TakingOrderHandler extends AbstractWaybillOrderHandler<OrderCircula
                 .map(entrust -> entrust.add(truckLoadVolume))
                 .orElse(truckLoadVolume);
 
+        Integer totalTake = Optional.ofNullable(logOrder.getTotalTake())
+                .map(val ->val + 1)
+                .orElse(0);
+
         logOrder.setEntrustAmount(totalLoadVolume);
+        logOrder.setTotalTake(totalTake);
         logisticsOrderRepository.updateById(logOrder);
         log.info("更新上游物流运输量成功, 物流订单ID:{}", logOrder.getId());
     }