浏览代码

新增订单送货单号接口

fgd 1 年之前
父节点
当前提交
04769b584e

+ 17 - 0
sd-business/src/main/java/com/sd/business/controller/order/OrderController.java

@@ -142,4 +142,21 @@ public class OrderController {
         return orderService.getOrderWlnCodeStr(dto);
     }
 
+
+    /**
+     * 获取订单送货单号
+     */
+    @PostMapping("/getOrderDeliveryCode")
+    public String getOrderDeliveryCode() {
+        return orderService.getOrderDeliveryCode();
+    }
+
+    /**
+     * 保存订单送货单号
+     * @param orderDto
+     */
+    @PostMapping("/saveOrderDeliveryCode")
+    public void saveOrderDeliveryCode(@RequestBody OrderInfoDto orderDto) {
+        orderService.saveOrderDeliveryCode(orderDto);
+    }
 }

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderInfo.java

@@ -297,4 +297,9 @@ public class OrderInfo extends BasePo {
      */
     private Integer delFlag;
 
+    /**
+     * 送货单号
+     */
+    private String deliveryCode;
+
 }

+ 11 - 0
sd-business/src/main/java/com/sd/business/service/order/OrderService.java

@@ -104,4 +104,15 @@ public interface OrderService extends BaseService<OrderInfo> {
      */
     Boolean isExistOrderSkuBom(Long orderId);
 
+    /**
+     * 获取订单送货单号
+     * @return
+     */
+    String getOrderDeliveryCode();
+
+    /**
+     * 保存订单送货单号
+     * @param dto
+     */
+    void saveOrderDeliveryCode(OrderInfoDto dto);
 }

+ 27 - 2
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -51,6 +51,7 @@ import com.sd.business.service.price.PriceBillingStandardDetailService;
 import com.sd.business.service.price.PriceBillingStandardService;
 import com.sd.business.service.sku.SkuSpecService;
 import com.sd.business.service.statement.StatementOfAccountService;
+import com.sd.business.util.CodeEnum;
 import com.sd.framework.util.Assert;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -253,7 +254,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
     public void add(OrderInfoDto orderDto) {
         List<OrderSkuDto> orderSkuList = orderDto.getOrderSkuList();
         // 自建订单判断库存
-        if (ObjectUtil.equals(orderDto.getType(), 1)) {
+        if (ObjectUtil.equals(orderDto.getType(), 1) && ObjectUtil.notEqual(orderDto.getStatus(), OrderStatusEnum.DRAFT.getKey())) {
             this.checkSkuInventory(orderSkuList);
         }
 
@@ -314,7 +315,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
     public void edit(OrderInfoDto orderDto) {
         List<OrderSkuDto> orderSkuList = orderDto.getOrderSkuList();
         // 自建订单判断库存
-        if (ObjectUtil.equals(orderDto.getType(), 1)) {
+        if (ObjectUtil.equals(orderDto.getType(), 1)
+                && ObjectUtil.notEqual(orderDto.getStatus(), OrderStatusEnum.DRAFT.getKey())
+                && ObjectUtil.notEqual(orderDto.getStatus(), OrderStatusEnum.COMPLETION_PRODUCTION.getKey())) {
             this.checkSkuInventory(orderSkuList);
         }
 
@@ -713,6 +716,28 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         return flag;
     }
 
+    @Override
+    public String getOrderDeliveryCode() {
+        return CodeEnum.SH_CODE.getCode();
+    }
+
+    @Override
+    public void saveOrderDeliveryCode(OrderInfoDto dto) {
+        OrderInfo orderInfo = this.getById(dto.getId());
+        if (orderInfo == null) {
+            throw new ServiceException("未找到订单");
+        }
+        if (StrUtil.isBlank(dto.getDeliveryCode())) {
+            throw new ServiceException("送货单号不能为空");
+        }
+        OrderInfo one = this.getOne(q -> q.eq(OrderInfo::getDeliveryCode, dto.getDeliveryCode()));
+        if (one != null) {
+            throw new ServiceException("送货单号重复,请重新生成!");
+        }
+        this.update(q -> q.set(OrderInfo::getDeliveryCode, dto.getDeliveryCode())
+                .eq(BaseIdPo::getId, dto.getId()));
+    }
+
     /**
      * 删除订单以及订单关联数据
      */

+ 4 - 1
sd-business/src/main/java/com/sd/business/util/CodeEnum.java

@@ -11,6 +11,7 @@ import com.sd.business.service.apply.ApplyBuyService;
 import com.sd.business.service.in.InOutStorageService;
 import com.sd.business.service.lend.LendService;
 import com.sd.business.service.order.OrderExchangeService;
+import com.sd.business.service.order.OrderService;
 import com.sd.business.service.purchase.PurchaseService;
 import com.sd.business.service.statement.StatementOfAccountService;
 import lombok.Getter;
@@ -36,7 +37,9 @@ public enum CodeEnum {
     // 退货单号
     TH_CODE("TH", "-yyMMdd-", "code", 6, OrderExchangeService.class),
     // 换货单号
-    HH_CODE("HH", "-yyMMdd-", "code", 6, OrderExchangeService.class);
+    HH_CODE("HH", "-yyMMdd-", "code", 6, OrderExchangeService.class),
+    // 送货单号
+    SH_CODE("SH", "-yyMMddHH-", "delivery_code", 3, OrderService.class);
 
     // 编码前缀
     private final String prefix;

+ 2 - 0
sd-business/src/main/resources/mapper/order/OrderMapper.xml

@@ -5,6 +5,7 @@
     <select id="getPage" resultType="com.sd.business.entity.order.vo.OrderInfoVo">
         select o.id,
                o.source,
+               o.type,
                o.code,
                o.wln_uid,
                o.wln_code,
@@ -43,6 +44,7 @@
                o.postcode,
                o.department_id,
                o.express_delivery_id,
+               o.delivery_code,
                o.remark,
                o.create_user,
                o.create_time,