Explorar el Código

修改bug:MVP2-472、MVP2-470、MVP2-465

donglang hace 6 días
padre
commit
dc2440814d

+ 8 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsOrderResp.java

@@ -185,9 +185,16 @@ public class LogisticsOrderResp implements Serializable {
     @Schema(description = "装卸货之间距离")
     @Schema(description = "装卸货之间距离")
     private String distanceKm;
     private String distanceKm;
 
 
+    /**
+     * 订单余量(带单位)
+     */
+    @Schema(description = "订单余量(带单位)")
+    private String orderSurplus;
+
     /**
     /**
      * 订单余量
      * 订单余量
      */
      */
     @Schema(description = "订单余量")
     @Schema(description = "订单余量")
-    private BigDecimal orderSurplus;
+    private BigDecimal remainingAmount;
+
 }
 }

+ 5 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -2877,12 +2877,13 @@ public class KwtLogisticsConsignmentService {
         logisticsOrderResp.setStatus(String.valueOf(kwtLogisticsOrder.getStatus()));
         logisticsOrderResp.setStatus(String.valueOf(kwtLogisticsOrder.getStatus()));
         logisticsOrderResp.setStatusDesc(LogisticsOrderV1Enum.getDesc(kwtLogisticsOrder.getStatus()));
         logisticsOrderResp.setStatusDesc(LogisticsOrderV1Enum.getDesc(kwtLogisticsOrder.getStatus()));
         //设置余量
         //设置余量
-        String orderSurplus = getSupAmount(kwtLogisticsOrder.getTOrderId(), tradeIdAndOrderDetailVoMap, tradeIdAndLogOrderList, logisticsOrderIdAndSubtaskList);
-        logisticsOrderResp.setOrderSurplus(orderSurplus + kwtLogisticsOrder.getUnit());
+        BigDecimal orderSurplus = getSupAmount(kwtLogisticsOrder.getTOrderId(), tradeIdAndOrderDetailVoMap, tradeIdAndLogOrderList, logisticsOrderIdAndSubtaskList);
+        logisticsOrderResp.setOrderSurplus(orderSurplus.toPlainString() + kwtLogisticsOrder.getUnit());
+        logisticsOrderResp.setRemainingAmount(orderSurplus);
         return logisticsOrderResp;
         return logisticsOrderResp;
     }
     }
 
 
-    private static String getSupAmount(Long tradeOrderId,
+    private static BigDecimal getSupAmount(Long tradeOrderId,
                                        Map<Long, OrderDetailVo> tradeIdAndOrderDetailVoMap,
                                        Map<Long, OrderDetailVo> tradeIdAndOrderDetailVoMap,
                                        Map<Long, List<KwtLogisticsOrder>> tradeIdAndLogOrderList,
                                        Map<Long, List<KwtLogisticsOrder>> tradeIdAndLogOrderList,
                                        Map<Long, List<KwtWaybillOrderSubtask>> logisticsOrderIdAndSubtaskList) {
                                        Map<Long, List<KwtWaybillOrderSubtask>> logisticsOrderIdAndSubtaskList) {
@@ -2922,7 +2923,7 @@ public class KwtLogisticsConsignmentService {
             }
             }
         }
         }
         BigDecimal subSurplus = tradeAmount.subtract(logTotatalAmount).compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : tradeAmount.subtract(logTotatalAmount);
         BigDecimal subSurplus = tradeAmount.subtract(logTotatalAmount).compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : tradeAmount.subtract(logTotatalAmount);
-        return subSurplus.setScale(2, RoundingMode.HALF_UP).toPlainString();
+        return subSurplus.setScale(2, RoundingMode.HALF_UP);
     }
     }
 
 
     public LogisticsOrderDetailResp getLogisticsOrderDetail(@Valid LogisticsOrderReq req) {
     public LogisticsOrderDetailResp getLogisticsOrderDetail(@Valid LogisticsOrderReq req) {

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

@@ -294,7 +294,7 @@ public class WaybillOrderService {
                 })
                 })
                 .filter(logisticsOrderResp -> {
                 .filter(logisticsOrderResp -> {
                     // 校验是否满足车辆任务量,满足才保留
                     // 校验是否满足车辆任务量,满足才保留
-                    return checkCurTruckLoadVolume(rTruckVo, logisticsOrderResp.getOrderSurplus());
+                    return checkCurTruckLoadVolume(rTruckVo, logisticsOrderResp.getRemainingAmount());
                 })
                 })
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
 
 
@@ -338,7 +338,7 @@ public class WaybillOrderService {
      *
      *
      * @param truckNo
      * @param truckNo
      */
      */
-    private Boolean checkCurTruckLoadVolume(RTruckVo truckNo, BigDecimal orderSurplus) {
+    private Boolean checkCurTruckLoadVolume(RTruckVo truckNo, BigDecimal remainingAmount) {
         log.info("开始校验当前车辆任务量!");
         log.info("开始校验当前车辆任务量!");
         //核定载重
         //核定载重
         BigDecimal actualWeight = truckNo.getLegalLoad();
         BigDecimal actualWeight = truckNo.getLegalLoad();
@@ -357,7 +357,7 @@ public class WaybillOrderService {
             log.info("车辆无皮重,按80%核定载重计算,车辆任务量:{}", loadVolume);
             log.info("车辆无皮重,按80%核定载重计算,车辆任务量:{}", loadVolume);
         }
         }
 
 
-        if (orderSurplus.compareTo(loadVolume) < 0) {
+        if (remainingAmount.compareTo(loadVolume) < 0) {
             // 规则2:订单余量 < 任务量 → 无法接单
             // 规则2:订单余量 < 任务量 → 无法接单
             return false;
             return false;
         }
         }
@@ -452,7 +452,9 @@ public class WaybillOrderService {
         orderResp.setStatusDesc(LogisticsOrderV1Enum.IN_TRANSIT.getCode().equals(order.getStatus()) ? "待接单" : "未知状态");
         orderResp.setStatusDesc(LogisticsOrderV1Enum.IN_TRANSIT.getCode().equals(order.getStatus()) ? "待接单" : "未知状态");
         //设置余量
         //设置余量
         BigDecimal orderSurplus = getSupAmount(order.getTOrderId(), tradeIdAndOrderDetailVoMap, tradeIdAndLogOrderList, logisticsOrderIdAndSubtaskList);
         BigDecimal orderSurplus = getSupAmount(order.getTOrderId(), tradeIdAndOrderDetailVoMap, tradeIdAndLogOrderList, logisticsOrderIdAndSubtaskList);
-        orderResp.setOrderSurplus(orderSurplus);
+        orderResp.setOrderSurplus(orderSurplus.toPlainString());
+        orderResp.setRemainingAmount(orderSurplus);
+
         return orderResp;
         return orderResp;
     }
     }