From c1ac6d13630b04b4e11d6f383858e4f8fa64f924 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期六, 02 十二月 2023 17:24:34 +0800
Subject: [PATCH] 盘点查询返回结果修改

---
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 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 0811cfc..c21a84c 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
@@ -6,6 +6,7 @@
 import com.consum.base.core.WhBusinessEnum;
 import com.consum.base.core.param.BaseWarehouseParam1;
 import com.consum.base.core.service.LWhWarningCoreServiceImpl;
+import com.consum.base.core.utils.IdUtil;
 import com.consum.base.core.utils.LockManage;
 import com.consum.model.po.*;
 import com.iplatform.model.po.S_user_core;
@@ -14,6 +15,7 @@
 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;
 
@@ -29,7 +31,7 @@
  **/
 @Slf4j
 @Service
-@Transactional(rollbackFor = Exception.class)
+@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class LWhFormOutputCoreService {
 
     private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
@@ -71,7 +73,7 @@
      * @return 鍑哄簱鍗旾d
      */
     @Transactional(rollbackFor = Exception.class)
-    public Long createOutFormByTransId(Long whFormTransferId, S_user_core currentUser, Long dealTime) {
+    public Long createOutFormByTransId(Long whFormTransferId, WhBusinessEnum businessEnum, S_user_core currentUser, Long dealTime) {
         if (whFormTransferId == null) {
             return null;
         }
@@ -88,10 +90,11 @@
         }
 
         //鐢宠璋冩嫧鐨勭墿鍝�
-        List<LWhProcureModel> goodsModelNumList = lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, whFormTransferId);
+        List<LWhProcureModel> goodsModelNumList = lWhProcureModelService.getModelByForm(businessEnum, whFormTransferId);
         if (CollectionUtils.isEmpty(goodsModelNumList)) {
             log.error("娌℃湁瑕佸叆搴撶殑鐗╁搧");
-            return null;
+            throw new RuntimeException("娌℃湁瑕佸叆搴撶殑鐗╁搧");
+//            return null;
         }
         Long outWarehouseId = lWhFormTransfer.getOutWarehouseId();
         String outWarehouseName = lWhFormTransfer.getOutWarehouseName();
@@ -103,7 +106,7 @@
         // 璋冩嫧鍗曠墿鍝� 宸茬粡鎸夊瀷鍙峰垎濂戒簡
         goodsModelNumList.forEach(itemModelInfo -> {
             // 澶嶇敤瀵硅薄
-            itemModelInfo.setId(NumberGenerator.getLongSequenceNumber());
+            itemModelInfo.setId(IdUtil.generateId());
             itemModelInfo.setFromProcureGoodsId(null);
             itemModelInfo.setBusinessType(3);
             itemModelInfo.setBusinessId(outWarehouseFormId);
@@ -189,18 +192,24 @@
         //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
         Integer buyTypeT = null;
         Integer modGoodsTransferingStatusT = null;
-        String outputCode = lWhFormOutput.getOutputCode();
-        if ((BaseWarehouseParam1.In_OutPutTypeEnum.Transfer_Output.getValue() + "").equals(outputCode)) {
+        short businessTypeValue = businessType.getValue();
+        if (BaseWarehouseParam1.In_OutPutTypeEnum.Transfer_Output.getValue() == businessTypeValue) {
             //璋冩嫧鍑哄簱
             queryModelStatusT = 1;
             buyTypeT = 1;
             lWarehouseFlowBusinessId = lWhFormOutput.getTransBusinessId();
             modGoodsTransferingStatusT = 0;
-        } else if ((BaseWarehouseParam1.In_OutPutTypeEnum.Dept_Lending_Out.getValue() + "").equals(outputCode)) {
+        } else if (BaseWarehouseParam1.In_OutPutTypeEnum.Dept_Lending_Out.getValue() == businessTypeValue) {
             //  閮ㄩ棬浠撳簱 鍒嗗彂鍑哄簱
 //            queryModelStatusT = 2;
-        } else if ((BaseWarehouseParam1.In_OutPutTypeEnum.Fragmentary_Output.getValue() + "").equals(outputCode)) {
+            lWarehouseFlowBusinessId = lWhFormOutput.getTransBusinessId();
+        } else if (BaseWarehouseParam1.In_OutPutTypeEnum.Fragmentary_Output.getValue() == businessTypeValue) {
             //  闆舵槦鍑哄簱
+            queryModelStatusT = 1;
+            buyTypeT = null;
+            modGoodsTransferingStatusT = 4;
+        } else if (BaseWarehouseParam1.In_OutPutTypeEnum.Inventory_Output.getValue() == businessTypeValue) {
+            //  鐩樼偣鍑哄簱
             queryModelStatusT = 1;
             buyTypeT = null;
             modGoodsTransferingStatusT = 4;
@@ -213,7 +222,11 @@
         goodsModelNumList.forEach(itemModelInfo -> {
             // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙�
             Long baseGoodsModelsId = itemModelInfo.getBaseGoodsModelsId();
-            allChangModelList.add(baseGoodsModelsId);
+
+            //TODO 涓虹┖鏃朵笉鍔犲叆鏇存柊鍒楄〃
+            if (baseGoodsModelsId != null) {
+                allChangModelList.add(baseGoodsModelsId);
+            }
             // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鏌愪釜鍨嬪彿鐨勬暟閲�
             Integer counts = itemModelInfo.getCounts();
 
@@ -298,7 +311,9 @@
         lWhFormOutputService.update(lWhFormOutput);
 
         //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉�
-        lWhWarningCoreService.updateKuCun(Convert.toShort(outWarehouseType, (short) 0), outWarehouseId, allChangModelList, null, dealTime);
+        if (outWarehouseType == 0){
+            lWhWarningCoreService.updateKuCun(Convert.toShort(outWarehouseType, (short) 0), outWarehouseId, allChangModelList, null, dealTime);
+        }
         return lWarehouseFlowId;
     }
 

--
Gitblit v1.9.1