From c3324e194441e601d474601bd0f7ac62c120c486 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期一, 13 十一月 2023 16:17:28 +0800
Subject: [PATCH] 出库fix

---
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java |   58 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 32 insertions(+), 26 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
index 9494cc6..c5e617f 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
@@ -4,36 +4,38 @@
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.WhBusinessEnum;
 import com.consum.base.core.param.BaseWarehouseParam1;
-import com.consum.base.core.util.LockManage;
-import com.consum.model.po.*;
+import com.consum.base.core.utils.LockManage;
+import com.consum.model.po.LWarehouseFlow;
+import com.consum.model.po.LWhFormOutput;
+import com.consum.model.po.LWhFormTransfer;
+import com.consum.model.po.LWhGoodsRecord;
+import com.consum.model.po.LWhProcureModel;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.NumberGenerator;
+import java.util.List;
+import java.util.Map;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
-import java.util.List;
-import java.util.Map;
-
 /**
  * @ClassName WhFormOutputCoreService
- * @Author cy
  * @Date 2023/10/26
  * @Description
  * @Version 1.0
  **/
 @Slf4j
 @Service
+@Transactional(rollbackFor = Exception.class)
 public class LWhFormOutputCoreService {
 
     private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
     private LWhGoodsService lWhGoodsService;
     private CodeGeneratorService codeGeneratorService;
     private LWhProcureModelService lWhProcureModelService;
-    private LWhFormTransferService lWhFormTransferService;
     private LWhFormOutputService lWhFormOutputService;
     private LWarehouseFlowService lWarehouseFlowService;
     private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
@@ -41,19 +43,17 @@
 
     @Autowired
     public LWhFormOutputCoreService(BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
-                                    LWhGoodsService lWhGoodsService,
-                                    CodeGeneratorService codeGeneratorService,
-                                    LWhProcureModelService lWhProcureModelService,
-                                    LWhFormTransferService lWhFormTransferService,
-                                    LWhFormOutputService lWhFormOutputService,
-                                    LWarehouseFlowService lWarehouseFlowService,
-                                    LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
-                                    LWhGoodsRecordService lWhGoodsRecordService) {
+        LWhGoodsService lWhGoodsService,
+        CodeGeneratorService codeGeneratorService,
+        LWhProcureModelService lWhProcureModelService,
+        LWhFormOutputService lWhFormOutputService,
+        LWarehouseFlowService lWarehouseFlowService,
+        LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
+        LWhGoodsRecordService lWhGoodsRecordService) {
         this.baseGoodsTemplateService = baseGoodsTemplateService;
         this.lWhGoodsService = lWhGoodsService;
         this.codeGeneratorService = codeGeneratorService;
         this.lWhProcureModelService = lWhProcureModelService;
-        this.lWhFormTransferService = lWhFormTransferService;
         this.lWhFormOutputService = lWhFormOutputService;
         this.lWarehouseFlowService = lWarehouseFlowService;
         this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService;
@@ -73,7 +73,7 @@
             return null;
         }
         LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(whFormTransferId);
-        lWhFormTransfer = lWhFormTransferService.get(lWhFormTransfer);
+        lWhFormTransfer = lWhFormOutputService.get(lWhFormTransfer);
         if (lWhFormTransfer == null || lWhFormTransfer.getStates() != 0) {
             log.error("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��");
             return null;
@@ -115,7 +115,7 @@
         whFormOutput.setId(outWarehouseFormId);
         // 姝ゆ椂骞舵病鏈夊嚭搴�
         whFormOutput.setWarehouseFlowId(null);
-        whFormOutput.setBusinessFormCode(codeGeneratorService.createCodeByPrefix(CodeGeneratorEnum.OutPut_Warehouse.getValue(), 4));
+        whFormOutput.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.OutPut_Warehouse));
         //杩涘嚭搴撴祦姘存�昏〃 鍏ュ簱鍗旾D
         whFormOutput.setInWarehouseFlowId(null);
 //        璋冩嫧鍗旾D(璋冩嫧鏃堕渶瑕�)
@@ -168,6 +168,9 @@
         Integer outWarehouseType = lWhFormOutput.getOutWarehouseType();
         Long outWarehouseId = lWhFormOutput.getWarehouseId();
         String warehouseName = lWhFormOutput.getWarehouseName();
+        Integer inWarehouseType = lWhFormOutput.getInWarehouseType();
+        Long inWarehouseId = lWhFormOutput.getInWarehouseId();
+        String inWarehouseName = lWhFormOutput.getInWarehouseName();
 
         Long userId = currentUser.getId();
         String nickName = currentUser.getNick_name();
@@ -181,7 +184,7 @@
         short queryModelStatusT = 1;
         //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
         Short buyTypeT = null;
-        Short modGoodsTransferingStatusT = null;
+        Integer modGoodsTransferingStatusT = null;
         String outputCode = lWhFormOutput.getOutputCode();
         if ((BaseWarehouseParam1.In_OutPutTypeEnum.Transfer_Output.getValue() + "").equals(outputCode)) {
             //璋冩嫧鍑哄簱
@@ -200,11 +203,7 @@
         }
         short queryModelStatus = queryModelStatusT;
         Short buyType = buyTypeT;
-        Short modGoodsTransferingStatus = modGoodsTransferingStatusT;
-
-        // 鎺ユ敹鏂逛粨搴撲俊鎭�
-        Long inWarehouseId = lWhFormOutput.getInWarehouseId();
-        String inWarehouseName = lWhFormOutput.getInWarehouseName();
+        Integer modGoodsTransferingStatus = modGoodsTransferingStatusT;
 
         goodsModelNumList.forEach(itemModelInfo -> {
             // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙�
@@ -256,8 +255,9 @@
                 whGoodsRecord.setEndCount(goodsModelNum - counts);
 
                 //鍑哄簱鏃跺�欙紝鎸� 鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱
-                List<Long> outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType, goodsModelNum);
-                lWhGoodsService.modGoodsTransfering(outGoodsId, outWarehouseType, inWarehouseId, inWarehouseName, modGoodsTransferingStatus);
+                List<Long> outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType,
+                    goodsModelNum);
+                lWhGoodsService.modGoodsTransfering(outGoodsId, inWarehouseType, inWarehouseId, inWarehouseName, modGoodsTransferingStatus);
                 // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS]
                 lWhGoodsRecordDetailsService.sameGoodsInsertMore(outGoodsId, whGoodsRecordId, (short) 0);
                 lWhGoodsRecordService.insert(whGoodsRecord);
@@ -279,6 +279,12 @@
         if (flowInsertFlag == 0) {
             return null;
         }
+        // 鍚戝嚭搴撳崟 鎻掑叆 杩涘嚭搴撴祦姘存�昏〃ID
+        lWhFormOutput = new LWhFormOutput(outWarehouseFormId);
+        lWhFormOutput.setStates(2);
+        lWhFormOutput.setWarehouseFlowId(lWarehouseFlowId);
+        lWhFormOutputService.update(lWhFormOutput);
+
         return lWarehouseFlowId;
     }
 

--
Gitblit v1.9.1