24282 1 жил өмнө
parent
commit
bd81bc6d1e

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/po/InventoryFinishedOrderDetail.java

@@ -21,6 +21,11 @@ import java.math.BigDecimal;
 public class InventoryFinishedOrderDetail extends BasePo {
 public class InventoryFinishedOrderDetail extends BasePo {
 
 
     /**
     /**
+     * 编号
+     */
+    private String code;
+
+    /**
      * 成品仓库订单id
      * 成品仓库订单id
      */
      */
     private Long inventoryFinishedOrderId;
     private Long inventoryFinishedOrderId;

+ 17 - 1
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedOrderDetailServiceImpl.java

@@ -1,15 +1,19 @@
 package com.sd.business.service.inventory.impl;
 package com.sd.business.service.inventory.impl;
 
 
+import cn.hutool.core.convert.Convert;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sd.business.entity.inventory.enums.FinishedOperationTypeEnum;
 import com.sd.business.entity.inventory.enums.FinishedOperationTypeEnum;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrderDetail;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrderDetail;
 import com.sd.business.mapper.inventory.InventoryFinishedOrderDetailMapper;
 import com.sd.business.mapper.inventory.InventoryFinishedOrderDetailMapper;
 import com.sd.business.service.inventory.InventoryFinishedOrderDetailService;
 import com.sd.business.service.inventory.InventoryFinishedOrderDetailService;
+import com.sd.business.util.CodeEnum;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 
 
@@ -26,9 +30,18 @@ public class InventoryFinishedOrderDetailServiceImpl extends ServiceImpl<Invento
 
 
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     @Override
     @Override
-    public void add(List<InventoryFinishedOrder> list, FinishedOperationTypeEnum typeEnum) {
+    public synchronized void add(List<InventoryFinishedOrder> list, FinishedOperationTypeEnum typeEnum) {
+
+        String code = typeEnum.equals(FinishedOperationTypeEnum.PRODUCTION_WAREHOUSING) ?
+                CodeEnum.FINISHED_IN.getCode() : CodeEnum.FINISHED_OUT.getCode();
+
+        String prefix = code.substring(0, code.length() - 6);
+        Map<String, Integer> numMap = new HashMap<>(1);
+        numMap.put("num", Convert.toInt(code.replace(prefix, "")));
+
         List<InventoryFinishedOrderDetail> inventoryFinishedOrderDetailList = list.stream().map(item -> {
         List<InventoryFinishedOrderDetail> inventoryFinishedOrderDetailList = list.stream().map(item -> {
             InventoryFinishedOrderDetail inventoryFinishedOrderDetail = new InventoryFinishedOrderDetail();
             InventoryFinishedOrderDetail inventoryFinishedOrderDetail = new InventoryFinishedOrderDetail();
+            inventoryFinishedOrderDetail.setCode(prefix + numMap.get("num"));
             inventoryFinishedOrderDetail.setInventoryFinishedOrderId(item.getId());
             inventoryFinishedOrderDetail.setInventoryFinishedOrderId(item.getId());
             inventoryFinishedOrderDetail.setDepartmentId(item.getDepartmentId());
             inventoryFinishedOrderDetail.setDepartmentId(item.getDepartmentId());
             inventoryFinishedOrderDetail.setOrderInfoId(item.getOrderInfoId());
             inventoryFinishedOrderDetail.setOrderInfoId(item.getOrderInfoId());
@@ -36,9 +49,12 @@ public class InventoryFinishedOrderDetailServiceImpl extends ServiceImpl<Invento
             inventoryFinishedOrderDetail.setSkuSpecId(item.getSkuSpecId());
             inventoryFinishedOrderDetail.setSkuSpecId(item.getSkuSpecId());
             inventoryFinishedOrderDetail.setQuantity(item.getQuantity());
             inventoryFinishedOrderDetail.setQuantity(item.getQuantity());
             inventoryFinishedOrderDetail.setOperationType(typeEnum.getType());
             inventoryFinishedOrderDetail.setOperationType(typeEnum.getType());
+
+            numMap.put("num", numMap.get("num") + 1);
             return inventoryFinishedOrderDetail;
             return inventoryFinishedOrderDetail;
         }).collect(Collectors.toList());
         }).collect(Collectors.toList());
         saveBatch(inventoryFinishedOrderDetailList);
         saveBatch(inventoryFinishedOrderDetailList);
+
     }
     }
 
 
 }
 }

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

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.exception.ServiceException;
 import com.sd.business.service.apply.ApplyBuyService;
 import com.sd.business.service.apply.ApplyBuyService;
 import com.sd.business.service.in.InOutStorageService;
 import com.sd.business.service.in.InOutStorageService;
+import com.sd.business.service.inventory.InventoryFinishedOrderDetailService;
 import com.sd.business.service.lend.LendService;
 import com.sd.business.service.lend.LendService;
 import com.sd.business.service.order.OrderExchangeService;
 import com.sd.business.service.order.OrderExchangeService;
 import com.sd.business.service.order.OrderService;
 import com.sd.business.service.order.OrderService;
@@ -42,7 +43,11 @@ public enum CodeEnum {
     // 送货单号
     // 送货单号
     SH_CODE("SH", "-yyMMddHH-", "delivery_code", 3, OrderService.class),
     SH_CODE("SH", "-yyMMddHH-", "delivery_code", 3, OrderService.class),
     // 采购退货单号
     // 采购退货单号
-    PURCHASE_TH_CODE("TH", "-yyMMdd-", "code", 6, PurchaseReturnService.class);
+    PURCHASE_TH_CODE("TH", "-yyMMdd-", "code", 6, PurchaseReturnService.class),
+    // 成品仓入库
+    FINISHED_IN("POS", "-yyMMdd-", "code", 6, InventoryFinishedOrderDetailService.class),
+    // 成品仓出库
+    FINISHED_OUT("PWS", "-yyMMdd-", "code", 6, InventoryFinishedOrderDetailService.class);
 
 
     // 编码前缀
     // 编码前缀
     private final String prefix;
     private final String prefix;