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

Merge remote-tracking branch 'origin/dev' into dev

zk 2 лет назад
Родитель
Сommit
a577efe955

+ 33 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/LogisticsConsignmentController.java

@@ -3,6 +3,7 @@ package com.sckw.transport.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.transport.model.dto.OrderFinishDTO;
 import com.sckw.transport.model.param.LogisticsConsignmentParam;
 import com.sckw.transport.service.LogisticsConsignmentService;
 import jakarta.validation.Valid;
@@ -108,6 +109,22 @@ public class LogisticsConsignmentController {
         }
     }
 
+    /**
+     * 采购订单-托运订单列表-完结订单
+     * @param OrderFinishDTO
+     * @return
+     */
+    @Validated
+    @RequestMapping(value = "/purchaseOrderFinish", method = RequestMethod.POST)
+    public HttpResult purchaseOrderFinish(@RequestBody @Validated OrderFinishDTO OrderFinishDTO) {
+        log.info("采购订单-托运订单列表-完结订单 传递参数信息:{}", JSONObject.toJSONString(OrderFinishDTO));
+        try {
+            return logisticsConsignmentService.orderFinish(OrderFinishDTO, "1");
+        } catch (Exception e) {
+            log.error("采购订单-托运订单列表-完结订单 error :{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
 
 
     /**
@@ -183,4 +200,20 @@ public class LogisticsConsignmentController {
         }
     }
 
+    /**
+     * 销售订单-托运订单列表-完结订单
+     * @param orderFinishDTO
+     * @return
+     */
+    @Validated
+    @RequestMapping(value = "/sellOrderFinish", method = RequestMethod.POST)
+    public HttpResult sellOrderFinish(@RequestBody @Validated OrderFinishDTO orderFinishDTO) {
+        log.info("采购订单-托运订单列表-完结订单 传递参数信息:{}", JSONObject.toJSONString(orderFinishDTO));
+        try {
+            return logisticsConsignmentService.orderFinish(orderFinishDTO, "2");
+        } catch (Exception e) {
+            log.error("采购订单-托运订单列表-完结订单 error :{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
 }

+ 42 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderFinishDTO.java

@@ -0,0 +1,42 @@
+package com.sckw.transport.model.dto;
+
+import jakarta.validation.constraints.*;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import java.math.BigDecimal;
+
+/**
+ * @author lfdc
+ * @description 完结订单dto
+ * @date 2023-07-25 17:07:09
+ */
+@Data
+public class OrderFinishDTO {
+    /**
+     * 数据id
+     */
+    @NotNull(message = "单据id不能为空")
+    private String id;
+    /**
+     * 备注
+     */
+    @Length(max = 200,message = "单据编号长度错误最大长度:{max}")
+    private String remark;
+    /**
+     * 总量
+     */
+
+    @Digits(integer = 10, fraction=2, message = "总量格式错误")
+    @DecimalMin(value = "0.00", message = "总量最小值不能低于0.00元")
+//    @DecimalMax(value = "10.00", message = "资金最大值不能高于10.00元")
+    @NotNull(message = "总量不可为空")
+    private BigDecimal amount;
+    /**
+     * 交付量
+     */
+    @Digits(integer = 10, fraction=2, message = "交付量格式错误")
+    @DecimalMin(value = "0.00", message = "交付量最小值不能低于0.00元")
+    @NotNull(message = "交付量不可为空")
+    private BigDecimal entrustAmount;
+}

+ 45 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -30,6 +30,7 @@ import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.LogisticsOrderDTO;
 import com.sckw.transport.model.dto.OrderCarDTO;
+import com.sckw.transport.model.dto.OrderFinishDTO;
 import com.sckw.transport.model.param.LogisticsConsignmentParam;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
@@ -691,7 +692,50 @@ public class LogisticsConsignmentService {
                 jsonObject.put("status", HttpStatus.SUCCESS_CODE);
             }
             list.add(jsonObject);
-
         });
     }
+
+    /**
+     * 采购订单/销售订单-完结订单
+     *
+     * @param orderFinishDTO 数据dto
+     * @param type           类型
+     * @return
+     */
+    public HttpResult orderFinish(OrderFinishDTO orderFinishDTO, String type) {
+        HttpResult httpResult = ValidUtil.serviceValid(orderFinishDTO);
+        if (!String.valueOf(httpResult.getCode()).equals(String.valueOf(HttpStatus.SUCCESS_CODE))) {
+            return HttpResult.error(httpResult.getMsg());
+        }
+        //1采购 2销售
+        if (String.valueOf(NumberConstant.ONE).equals(type)) {
+            purchaseOrderFinish(orderFinishDTO);
+        } else if (String.valueOf(NumberConstant.TWO).equals(type)) {
+            sellOrderFinish(orderFinishDTO);
+        } else {
+            throw new RuntimeException("完结订单-单据类型异常!");
+        }
+        return null;
+    }
+
+    /**
+     * 销售订单-完结订单
+     *
+     * @param orderFinishDTO
+     */
+    private void sellOrderFinish(OrderFinishDTO orderFinishDTO) {
+        /** 订单完结 物流运单状态为【待派车】、【运输中】可操作*/
+        /**完结拦截 必须车辆运单无正在运输中的单据才能完结*/
+        /**完结订单 不做页面填写数量与数据库数量进行计算验证*/
+
+    }
+
+    /**
+     * 采购订单-完结订单
+     *
+     * @param orderFinishDTO
+     */
+    private void purchaseOrderFinish(OrderFinishDTO orderFinishDTO) {
+
+    }
 }