From 656d84011dfae275cb8209dad601fcb61a22ee17 Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期五, 01 十二月 2023 09:34:35 +0800
Subject: [PATCH] feat: 退回单增加机构字段

---
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java |   41 +++++++++++++++++++++++++----------------
 1 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java
index 149c587..b37a1c8 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java
@@ -3,13 +3,14 @@
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.WhBusinessEnum;
-import com.consum.base.util.IdUtil;
+import com.consum.base.core.utils.IdUtil;
 import com.consum.model.po.*;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.NumberGenerator;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
@@ -22,14 +23,15 @@
 
 /**
  * @ClassName LWhFormInventoryCoreService
- * @Author cy
  * @Date 2023/11/1
  * @Description
  * @Version 1.0
  **/
 @Slf4j
 @Service
+@Transactional(propagation = Propagation.REQUIRED)
 public class LWhFormInventoryCoreService {
+
     private LWhFormInventoryGoodsServiceImpl lWhFormInventoryGoods;
     private LWhFormOutputCoreService lWhFormOutputCoreService;
     private CodeGeneratorService codeGeneratorService;
@@ -73,12 +75,10 @@
     }
 
     /**
-     * 鏍规嵁 鐩樼偣鍗� 鐢熸垚 鍑哄簱鍗� 鍜� 鍏ュ簱鍗�
-     * 鐩樼偣鍗曚腑 鐩樼泩鐗╁搧鐢熸垚鍏ュ簱鍗曪紝鐩樹簭鐢熸垚鍑哄簱鍗�
+     * 鏍规嵁 鐩樼偣鍗� 鐢熸垚 鍑哄簱鍗� 鍜� 鍏ュ簱鍗� 鐩樼偣鍗曚腑 鐩樼泩鐗╁搧鐢熸垚鍏ュ簱鍗曪紝鐩樹簭鐢熸垚鍑哄簱鍗�
      *
      * @param whformInventoryId 鐩樼偣鍗昳d
-     * @return status true/false
-     * errMsg 閿欒娑堟伅
+     * @return status true/false errMsg 閿欒娑堟伅
      */
     @Transactional(rollbackFor = Exception.class)
     public String createInOutFormByInventoryId(Long whformInventoryId, S_user_core currentUser, FinSysTenantUser sysInfo) {
@@ -127,8 +127,8 @@
 //                    rtnMap.put("errMsg", "鍒涘缓鍏ュ簱鍗曞け璐�");
                     return "鍒涘缓鍏ュ簱鍗曞け璐�";
                 }
-                Long inFormByInventoryId = (Long) inOutMap.get("inId");
                 inOutMap.putAll(rkMap);
+                Long inFormByInventoryId = (Long) inOutMap.get("inId");
                 String errMsg = lWhFormProcureCoreService.doProcure(inFormByInventoryId, currentUser);
                 if (errMsg != null) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -152,7 +152,7 @@
                 inOutMap.putAll(ckMap);
                 Long lWhFormOutputId = (Long) inOutMap.get("outId");
                 //2.鏍规嵁鍑哄簱鍗曞嚭搴�
-                Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(lWhFormOutputId, currentUser, stopTime);
+                Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(lWhFormOutputId, WhBusinessEnum.PANDIAN, currentUser, stopTime);
                 if (lWarehouseFlowId == null) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 //                    throw new RuntimeException("鍒涘缓鍑哄簱鍗曞け璐�");
@@ -191,7 +191,7 @@
         BaseWarehouse baseWarehouse = baseWarehouseService.getById(warehouseId);
         LWhFormProcure lWhFormProcure = new LWhFormProcure();
         lWhFormProcure.setId(whFormProcureId);
-        String inCode = codeGeneratorService.createCodeByPrefix(CodeGeneratorEnum.Procure_Warehouse.getValue(), 10);
+        String inCode = codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Procure_Warehouse);
         lWhFormProcure.setBusinessFormCode(inCode);
         lWhFormProcure.setWarehouseId(warehouseId);
         lWhFormProcure.setWarehouseName(baseWarehouse.getWarehouseName());
@@ -233,7 +233,7 @@
                 continue;
             }
             // 鏌ヨ鍨嬪彿搴撳瓨
-            int goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, (short) 1, null);
+            int goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
             LWhProcureModel model = new LWhProcureModel();
             model.setId(NumberGenerator.getLongSequenceNumber());
             model.setFromProcureGoodsId(fromProcureGoodsId);
@@ -273,6 +273,7 @@
         //鍑哄叆搴搃d
         long lWhFormOutputId = IdUtil.generateId();
         lWhFormOutput.setId(lWhFormOutputId);
+        lWhFormOutput.setOutWarehouseType(0);
         lWhFormOutput.setWarehouseId(warehouseId);
         //鏍规嵁浠撳簱id鏌ヨ浠撳簱
         BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
@@ -281,11 +282,13 @@
             return null;
         }
         lWhFormOutput.setWarehouseName(warehouse.getWarehouseName());
-        String outCode = codeGeneratorService.createCodeByPrefix(CodeGeneratorEnum.OutPut_Warehouse.getValue(), 10);
+        String outCode = codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.OutPut_Warehouse);
         lWhFormOutput.setOutputCode(outCode);
         lWhFormOutput.setOutputName("鐩樼偣鍑哄簱");
-        lWhFormOutput.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
-        lWhFormOutput.setAgencyName(sysInfo.getTenantName());
+//        lWhFormOutput.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
+        lWhFormOutput.setAgencyId(null);
+//        lWhFormOutput.setAgencyName(sysInfo.getTenantName());
+        lWhFormOutput.setAgencyName(null);
         lWhFormOutput.setOperatorId(sysInfo.getId());
         lWhFormOutput.setOperatorName(sysInfo.getUserName());
 
@@ -295,6 +298,7 @@
         if (flag1 != 1) {
             return null;
         }
+        ArrayList<LWhProcureModel> lWhProcureModels = new ArrayList<>();
         for (LWhFormInventoryGoods inventoryGoods : inventoryGoodsList) {
             Long baseGoodsModelsId = inventoryGoods.getBaseGoodsModelsId();
             Integer counts = inventoryGoods.getErrorCounts();
@@ -302,15 +306,20 @@
                 continue;
             }
             //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-            int goodsNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, (short) 1, null);
+            int goodsNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
             //鏂板L_WH_PROCURE_MODEL璁板綍
             LWhProcureModel lWhProcureModel = new LWhProcureModel();
             lWhProcureModel.setId(IdUtil.generateId());
-            lWhProcureModel.setBusinessType(3);
+            lWhProcureModel.setBusinessType(WhBusinessEnum.CHUKU.getValue() + 0);
+            lWhProcureModel.setBusinessId(lWhFormOutputId);
             lWhProcureModel.setBaseGoodsModelsId(baseGoodsModelsId);
             lWhProcureModel.setCounts(counts);
             lWhProcureModel.setWorehouseCount(goodsNum);
-            lWhProcureModelService.insert(lWhProcureModel);
+//            lWhProcureModelService.insert(lWhProcureModel);
+            lWhProcureModels.add(lWhProcureModel);
+        }
+        if (!CollectionUtils.isEmpty(lWhProcureModels)) {
+            lWhProcureModelService.insertBatch(lWhProcureModels);
         }
         HashMap<String, Object> rtnMap = new HashMap<>();
         rtnMap.put("outId", lWhFormOutputId);

--
Gitblit v1.9.1