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

取消派车接口逻辑修改

lengfaqiang 2 лет назад
Родитель
Сommit
304e07485d

+ 33 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/CarWaybillEnum.java

@@ -6,16 +6,49 @@ package com.sckw.core.model.enums;
  * @date 2023-07-14 14:07:23
  */
 public enum CarWaybillEnum {
+    /**
+     * 待接单
+     */
     PENDING_ORDER(1, "pendingOrder", "1", "待接单"),
+    /**
+     * 待出车
+     */
     PENDING_VEHICLE(2, "pendingVehicle", "2", "待出车"),
+    /**
+     * 已出车
+     */
     EXIT_COMPLETED(3, "exitCompleted", "3", "已出车"),
+    /**
+     * 到达装货点
+     */
     WAIT_LOADING(4, "waitLoading", "4", "到达装货点"),
+    /**
+     * 已装货
+     */
     COMPLETION_LOADING(5, "completionLoading", "5", "已装货"),
+    /**
+     * 到达卸货点
+     */
     WAIT_UNLOADING(6, "waitUnloading", "6", "到达卸货点"),
+    /**
+     * 已卸货
+     */
     COMPLETION_UNLOADING(7, "completionUnloading", "7", "已卸货"),
+    /**
+     * 已核单
+     */
     APPROVAL_COMPLETED(8, "approvalCompleted", "8", "已核单"),
+    /**
+     * 拒接单
+     */
     REJECT_ORDER(9, "rejectOrder", "9", "拒接单"),
+    /**
+     * 拒出车
+     */
     REFUSE_TRAFFIC(10, "refuseTraffic", "10", "拒出车"),
+    /**
+     * 拒出车
+     */
     REVOKED(11, "revoked", "11", "已撤销"),
     ;
 

+ 4 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/LogisticsOrderDTO.java

@@ -2,6 +2,8 @@ package com.sckw.transport.model.dto;
 
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 /**
  * @author lfdc
  * @description 销售订单/采购订单-托运详情
@@ -16,7 +18,7 @@ public class LogisticsOrderDTO {
     private String lOrderId;
     /**
      * 物流订单no
-      */
+     */
     private String lOrderNo;
 
     /**
@@ -38,7 +40,7 @@ public class LogisticsOrderDTO {
     /**
      * 计划量
      */
-    private String amount;
+    private BigDecimal amount;
     /**
      * 运价
      */

+ 12 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -769,9 +769,20 @@ public class AcceptCarriageOrderService {
             waybillOrderMapper.update(null, new LambdaUpdateWrapper<KwtWaybillOrder>()
                     .eq(KwtWaybillOrder::getType, NumberConstant.ONE)
                     .eq(KwtWaybillOrder::getId, id)
-                    .set(KwtWaybillOrder::getDelFlag, NumberConstant.ONE)
+                    .set(KwtWaybillOrder::getStatus, CarWaybillEnum.REVOKED.getCode())
                     .set(KwtWaybillOrder::getUpdateBy, LoginUserHolder.getUserId())
                     .set(KwtWaybillOrder::getUpdateTime, new Date()));
+            /**变更单据状态*/
+            KwtWaybillOrderTrack orderTrack = new KwtWaybillOrderTrack();
+            orderTrack.setId(new IdWorker(NumberConstant.ONE).nextId());
+            orderTrack.setWOrderId(Long.parseLong(id));
+            orderTrack.setStatus(CarWaybillEnum.REVOKED.getCode());
+            orderTrack.setDelFlag(NumberConstant.ZERO);
+            orderTrack.setCreateBy(LoginUserHolder.getUserId());
+            orderTrack.setCreateTime(new Date());
+            orderTrack.setUpdateBy(LoginUserHolder.getUserId());
+            orderTrack.setUpdateTime(new Date());
+            waybillOrderTrackMapper.insert(orderTrack);
             result.put("status", HttpStatus.SUCCESS_CODE);
             result.put("message", "取消成功");
         }

+ 23 - 7
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -41,9 +41,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * @author lfdc
@@ -495,7 +493,7 @@ public class LogisticsConsignmentService {
     /**
      * 销售订单-采购订单-获取托运订单数据
      *
-     * @param id
+     * @param id       销售订单id
      * @param page
      * @param pageSize
      * @return
@@ -512,12 +510,30 @@ public class LogisticsConsignmentService {
         } else {
             throw new RuntimeException("获取贸易订单下单方式异常!");
         }
+        BigDecimal resAmount = orderDetailRes.getAmount();
         if (flag) {
+            /**数据展示*/
+            //总数
             Long count = getLogisticsOrderCount(id);
             Integer newPage = page - 1;
             List<LogisticsOrderDTO> list = getLogisticsOrderData(id, newPage, pageSize);
             PageResult build = PageResult.build(page, pageSize, count, list);
-            httpResult.setData(build);
+            /**数据统计*/
+            //计划量
+            BigDecimal amount = new BigDecimal(NumberConstant.ZERO);
+            for (LogisticsOrderDTO logisticsOrderDTO : list) {
+                amount = amount.add(logisticsOrderDTO.getAmount() == null ? new BigDecimal(NumberConstant.ZERO) : logisticsOrderDTO.getAmount());
+            }
+            //剩余调度量
+            BigDecimal residue = resAmount.subtract(amount);
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("count", count);
+            jsonObject.put("residue", residue);
+            jsonObject.put("amount", amount);
+            Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN);
+            map.put("dataList", build);
+            map.put("TableBottom", jsonObject);
+            httpResult.setData(map);
         }
         return httpResult;
     }
@@ -615,7 +631,7 @@ public class LogisticsConsignmentService {
                 log.info("物流订单单据id:{}", s);
                 jsonObject.put("message", "单据状态异常或单据不存在");
                 jsonObject.put("status", HttpStatus.GLOBAL_EXCEPTION_CODE);
-            }else {
+            } else {
                 OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(s));
                 UpdateOrderAmountParam param = new UpdateOrderAmountParam();
                 param.setTOrderId(Long.parseLong(s));
@@ -657,7 +673,7 @@ public class LogisticsConsignmentService {
                 log.info("物流订单单据id:{}", s);
                 jsonObject.put("message", "单据状态异常或单据不存在");
                 jsonObject.put("status", HttpStatus.GLOBAL_EXCEPTION_CODE);
-            }else {
+            } else {
                 OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(s));
                 UpdateOrderAmountParam param = new UpdateOrderAmountParam();
                 param.setTOrderId(Long.parseLong(s));

+ 2 - 2
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -47,8 +47,8 @@
     update_time, del_flag
     </sql>
     <select id="selectOrderList" resultType="com.sckw.transport.model.dto.LogisticsOrderDTO">
-        SELECT a.id          as lorderId,
-               a.l_order_no  as lorderNo,
+        SELECT a.id          as lOrderId,
+               a.l_order_no  as lOrderNo,
                b.`status`    as `status`,
                a.t_order_id  as tOrderId,
                a.t_order_no  as tOrderNo,