Kaynağa Gözat

提交新增合同文件校验

chenxiaofei 1 ay önce
ebeveyn
işleme
d4dcddce34

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/CarWaybillV1Enum.java

@@ -49,7 +49,7 @@ public enum CarWaybillV1Enum {
     /**
      * 已作废
      */
-    APPROVAL_TREAT(99, "已作废"),
+    APPROVAL_TREAT(99, "已取消"),
 
     ;
 

+ 2 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtLogisticsOrderController.java

@@ -144,12 +144,14 @@ public class KwtLogisticsOrderController {
     * 获取物流订单详情
     */
     @PostMapping(value = "/getLogisticsOrderDetail")
+    @Operation(summary = "获取物流订单详情", description = "获取物流订单详情")
     public BaseResult<LogisticsOrderDetailResp> getLogisticsOrderDetail(@RequestBody @Valid LogisticsOrderReq req) {
         return BaseResult.success(logisticsConsignmentService.getLogisticsOrderDetail(req));
     }
     /**
      * 根据物流订单查询已派运力
      */
+    @Operation(summary = "根据物流订单查询已派运力", description = "根据物流订单查询已派运力")
     @PostMapping(value = "/getLogisticsOrderDispatch")
     public BaseResult<PageDataResult<LogisticsOrderDispatchResp>> getLogisticsOrderDispatch(@RequestBody @Valid LogisticsOrderReq req) {
         return BaseResult.success(logisticsConsignmentService.getLogisticsOrderDispatch(req));

+ 7 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTicket.java

@@ -1,5 +1,6 @@
 package com.sckw.transport.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -106,5 +107,11 @@ public class KwtWaybillOrderTicket implements Serializable {
      */
     private Integer delFlag;
 
+    /**
+     * 上传凭证时间
+     */
+    @TableField("uploading_time")
+    private Date uploadingTime;
+
     private static final long serialVersionUID = 1L;
 }

+ 12 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/ReviewWaybillOrderReq.java

@@ -29,4 +29,16 @@ public class ReviewWaybillOrderReq implements Serializable {
     @Schema(description = "状态")
     @NotBlank(message = "状态不能为空")
     private String status;
+
+    /**
+     * 卸货量
+     */
+    @Schema(description = "卸货量")
+    private String unloadAmount;
+
+    /**
+     * 单据地址 多个用逗号隔开
+     */
+    @Schema(description = "单据地址 多个用逗号隔开")
+    private String addressUrl;
 }

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtWaybillOrderTicketRepository.java

@@ -22,4 +22,10 @@ public class KwtWaybillOrderTicketRepository extends ServiceImpl<KwtWaybillOrder
                 .eq(KwtWaybillOrderTicket::getDelFlag,0)
                 .in(KwtWaybillOrderTicket::getWAddressId, addressIds)) ;
     }
+
+    public Boolean updateByBillOrderIdAndType(KwtWaybillOrderTicket kwtWaybillOrderTicket,Integer  type) {
+       return update(kwtWaybillOrderTicket, Wrappers.<KwtWaybillOrderTicket>lambdaQuery()
+                .eq(KwtWaybillOrderTicket::getWOrderId, kwtWaybillOrderTicket.getWOrderId())
+                .eq(KwtWaybillOrderTicket::getType, type));
+    }
 }

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

@@ -2780,6 +2780,11 @@ public class KwtLogisticsConsignmentService {
         if (Objects.isNull(logisticsOrder)){
             throw new BusinessException("未找到该物流订单信息");
         }
+        List<Integer> statusList = Arrays.asList(LogisticsOrderV1Enum.WAIT_DELIVERY.getCode(),
+                LogisticsOrderV1Enum.WAIT_DELIVERY.getCode());
+        if (!statusList.contains(logisticsOrder.getStatus())){
+            throw new BusinessException("该物流订单状态不能进行派车");
+        }
         //车牌id去重
         List<DispatchCarReq.CarInfo> carInfos = req.getCarInfos();
         Set<String> truckIds = carInfos.stream()
@@ -2863,8 +2868,13 @@ public class KwtLogisticsConsignmentService {
         }
         KwtLogisticsOrder updateLogisticsOrder = new KwtLogisticsOrder();
         updateLogisticsOrder.setId(logOrderId);
+
+        if (!Arrays.asList(LogisticsOrderV1Enum.WAIT_DELIVERY, LogisticsOrderV1Enum.HAVE_RECONCILED.getCode()).contains(logisticsOrder.getStatus())){
+            throw new BusinessException("该物流订单状态不能进行完结");
+        }
         if (Objects.equals(logisticsOrder.getStatus(), LogisticsOrderV1Enum.WAIT_DELIVERY.getCode())){
-            updateLogisticsOrder.setStatus(LogisticsOrderV1Enum.HAVE_FINISHED.getCode());
+            updateLogisticsOrder.setStatus(LogisticsOrderV1Enum.HAVE_RECONCILED.getCode());
+            return logisticsOrderRepository.updateLogisticsOrder(updateLogisticsOrder);
         }
 
         //查询物流订单下的所有运单
@@ -2874,9 +2884,9 @@ public class KwtLogisticsConsignmentService {
                     CarWaybillV1Enum.WAIT_UNLOADING.getCode()) || !Objects.equals(x.getStatus(),
                     CarWaybillV1Enum.APPROVAL_TREAT.getCode()));
             if (b){
-                updateLogisticsOrder.setStatus(LogisticsOrderEnum.NEARING_COMPLETION.getCode());
-            }else if (Objects.equals(logisticsOrder.getStatus(), LogisticsOrderEnum.NEARING_COMPLETION.getCode())){
-                updateLogisticsOrder.setStatus(LogisticsOrderEnum.HAVE_FINISHED.getCode());
+                updateLogisticsOrder.setStatus(LogisticsOrderV1Enum.HAVE_FINISHED.getCode());
+            }else {
+                updateLogisticsOrder.setStatus(LogisticsOrderV1Enum.HAVE_RECONCILED.getCode());
             }
         }
         return logisticsOrderRepository.updateLogisticsOrder(updateLogisticsOrder);

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

@@ -3245,17 +3245,33 @@ public class KwtWaybillOrderV1Service {
         updateOrder.setId(billOrder.getId());
         KwtWaybillOrderSubtask updateSubtask = new KwtWaybillOrderSubtask();
         updateSubtask.setId(subtask.getId());
-        //运单当前状态是已卸货,传入的订单是已完成  驳回的订单可以通过完善单证变成已完成
-        List<Integer> statusList = Arrays.asList(CarWaybillV1Enum.COMPLETION_LOADING.getCode(),
-                CarWaybillV1Enum.COMPLETION_UNLOADING.getCode());
-        if (statusList.contains(billOrder.getStatus()) && Objects.equals(status, CarWaybillV1Enum.WAIT_UNLOADING.getCode())){
-            updateOrder.setStatus(status);
+        KwtWaybillOrderTicket kwtWaybillOrderTicket = new KwtWaybillOrderTicket();
+        //单证审核 运单当前状态是已卸货,传入的订单是已完成
+        if (Objects.equals(status, CarWaybillV1Enum.WAIT_UNLOADING.getCode()) && Objects.equals(billOrder.getStatus(), CarWaybillV1Enum.COMPLETION_LOADING.getCode())){
+            updateOrder.setStatus( status);
             updateSubtask.setStatus(status);
             boolean b = kwtWaybillOrderRepository.updateById(updateOrder) && kwtWaybillOrderSubtaskRepository.updateById(updateSubtask);
             if (!b){
-               throw new BusinessException("运单状态更新失败");
+                throw new BusinessException("审核运单失败");
+            }
+            return Boolean.TRUE;
+        }
+        // 驳回的订单可以通过完善单证变成已完成
+        if (Objects.equals(billOrder.getStatus(), CarWaybillV1Enum.COMPLETION_UNLOADING.getCode()) && Objects.equals(status,
+                CarWaybillV1Enum.WAIT_UNLOADING.getCode())){
+            updateOrder.setStatus(status);
+            updateSubtask.setStatus(status);
+            updateSubtask.setUnloadAmount(Objects.nonNull(req.getUnloadAmount()) ? new BigDecimal(req.getUnloadAmount()) : null);
+            boolean b = kwtWaybillOrderRepository.updateById(updateOrder) && kwtWaybillOrderSubtaskRepository.updateById(updateSubtask);
+            kwtWaybillOrderTicket.setWOrderId(waybillId);
+            kwtWaybillOrderTicket.setUrls(req.getAddressUrl());
+            kwtWaybillOrderTicket.setUploadingTime(new Date());
+            Boolean b1 = kwtWaybillOrderTicketRepository.updateByBillOrderIdAndType(kwtWaybillOrderTicket, 2);
+            if (!b || !b1){
+               throw new BusinessException("完整单证失败");
             }
+            return Boolean.TRUE;
         }
-        return Boolean.TRUE;
+        return Boolean.FALSE;
     }
 }

+ 2 - 1
sql/2025/11/30/2025_11_30_cxf_alert.sql

@@ -33,4 +33,5 @@ ALTER TABLE kwo_trade_order ADD consignment_way TINYINT NOT NULL default '0'  co
 ALTER TABLE kwo_trade_order_goods ADD goods_name varchar(255)   NOT NULL default ''  comment '商品名称';
 
 
-ALTER TABLE kwf_truck ADD selected_capacity tinyint NOT NULL default '0'  comment '已选运力(0-未选运力,1-已选运力)';
+
+ALTER TABLE kwt_waybill_order_ticket ADD uploading_time  datetime NULL comment '上传凭证时间';