From 3836720e3b0fc9ab884d178e0ac27e942b175da2 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期二, 05 十二月 2023 15:23:01 +0800
Subject: [PATCH] 报废单添加金额字段

---
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java |   92 ++++++++++++++++++++++++++--------------------
 1 files changed, 52 insertions(+), 40 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 62796d9..f0b40e6 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
@@ -1,5 +1,18 @@
 package com.consum.base.service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+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;
+
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.WhBusinessEnum;
@@ -14,17 +27,8 @@
 import com.consum.model.po.LWhProcureModel;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.NumberGenerator;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
+
 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 org.springframework.util.CollectionUtils;
 
 /**
  * @ClassName LWhFormInventoryCoreService
@@ -34,42 +38,43 @@
  **/
 @Slf4j
 @Service
+@Transactional(propagation = Propagation.REQUIRED)
 public class LWhFormInventoryCoreService {
 
     private LWhFormInventoryGoodsServiceImpl lWhFormInventoryGoods;
     private LWhFormOutputCoreService lWhFormOutputCoreService;
     private CodeGeneratorService codeGeneratorService;
-    private LWhFormProcureService lWhFormProcureService;
-    private BaseWarehouseServiceImpl baseWarehouseService;
-    private LWhFormProcureGoodsService lWhFormProcureGoodsService;
+    private LWhFormProcureService lWhFormProcureServiceImpl;
+    private BaseWarehouseService baseWarehouseService;
+    private LWhFormProcureGoodsService lWhFormProcureGoodsServiceImpl;
     private LWhProcureModelService lWhProcureModelService;
-    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
+    private BaseGoodsTemplateService baseGoodsTemplateService;
     private LWhGoodsService lWhGoodsService;
-    private LWhFormInventoryServiceImpl lWhFormInventoryService;
+    private LWhFormInventoryService lWhFormInventoryService;
     private LWhFormProcureCoreService lWhFormProcureCoreService;
-    private LWhFormOutputServiceImpl lWhFormOutputService;
+    private LWhFormOutputService lWhFormOutputService;
 
     @Autowired
     public LWhFormInventoryCoreService(LWhFormInventoryGoodsServiceImpl lWhFormInventoryGoods,
-        LWhFormOutputCoreService lWhFormOutputCoreService,
-        CodeGeneratorService codeGeneratorService,
-        LWhFormProcureService lWhFormProcureService,
-        BaseWarehouseServiceImpl baseWarehouseService,
-        LWhFormProcureGoodsService lWhFormProcureGoodsService,
-        LWhProcureModelService lWhProcureModelService,
-        BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
-        LWhGoodsService lWhGoodsService,
-        LWhFormInventoryServiceImpl lWhFormInventoryService,
-        LWhFormProcureCoreService lWhFormProcureCoreService,
-        LWhFormOutputServiceImpl lWhFormOutputService
+                                       LWhFormOutputCoreService lWhFormOutputCoreService,
+                                       CodeGeneratorService codeGeneratorService,
+                                       LWhFormProcureService lWhFormProcureServiceImpl,
+                                       BaseWarehouseService baseWarehouseService,
+                                       LWhFormProcureGoodsService lWhFormProcureGoodsServiceImpl,
+                                       LWhProcureModelService lWhProcureModelService,
+                                       BaseGoodsTemplateService baseGoodsTemplateService,
+                                       LWhGoodsService lWhGoodsService,
+                                       LWhFormInventoryService lWhFormInventoryService,
+                                       LWhFormProcureCoreService lWhFormProcureCoreService,
+                                       LWhFormOutputService lWhFormOutputService
 
     ) {
         this.lWhFormInventoryGoods = lWhFormInventoryGoods;
         this.lWhFormOutputCoreService = lWhFormOutputCoreService;
         this.codeGeneratorService = codeGeneratorService;
-        this.lWhFormProcureService = lWhFormProcureService;
+        this.lWhFormProcureServiceImpl = lWhFormProcureServiceImpl;
         this.baseWarehouseService = baseWarehouseService;
-        this.lWhFormProcureGoodsService = lWhFormProcureGoodsService;
+        this.lWhFormProcureGoodsServiceImpl = lWhFormProcureGoodsServiceImpl;
         this.lWhProcureModelService = lWhProcureModelService;
         this.baseGoodsTemplateService = baseGoodsTemplateService;
         this.lWhGoodsService = lWhGoodsService;
@@ -104,8 +109,8 @@
             return "娌℃湁鎵惧埌鐩樼偣鍗曠粨鏋滅墿鍝�";
         }
         Map<Integer, List<LWhFormInventoryGoods>> inventoryGoodsMap = lWhFormInventoryGoods.stream()
-            .filter(goods -> goods.getInventoryResult() == 2 || goods.getInventoryResult() == 3)
-            .collect(Collectors.groupingBy(LWhFormInventoryGoods::getInventoryResult));
+                .filter(goods -> goods.getInventoryResult() == 2 || goods.getInventoryResult() == 3)
+                .collect(Collectors.groupingBy(LWhFormInventoryGoods::getInventoryResult));
         if (CollectionUtils.isEmpty(lWhFormInventoryGoods)) {
 //            rtnMap.put("status", true);
             return null;
@@ -131,8 +136,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();
@@ -156,7 +161,7 @@
                 inOutMap.putAll(ckMap);
                 Long lWhFormOutputId = (Long) inOutMap.get("outId");
                 //2.鏍规嵁鍑哄簱鍗曞嚭搴�
-                Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(lWhFormOutputId, WhBusinessEnum.CAIGOU, currentUser, stopTime);
+                Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(lWhFormOutputId, WhBusinessEnum.PANDIAN, currentUser, stopTime,null);
                 if (lWarehouseFlowId == null) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 //                    throw new RuntimeException("鍒涘缓鍑哄簱鍗曞け璐�");
@@ -187,7 +192,7 @@
      * @param currentUser
      */
     private Map<String, Object> createInFormByInventoryId(Long warehouseId, Long procureTime, List<LWhFormInventoryGoods> inventoryGoodsList,
-        S_user_core currentUser) {
+                                                          S_user_core currentUser) {
         if (CollectionUtils.isEmpty(inventoryGoodsList)) {
             return null;
         }
@@ -207,7 +212,7 @@
         lWhFormProcure.setStates(1);
         lWhFormProcure.setAgencyId(baseWarehouse.getAgencyId());
         lWhFormProcure.setAgencyName(baseWarehouse.getAgencyName());
-        int result = lWhFormProcureService.insert(lWhFormProcure);
+        int result = lWhFormProcureServiceImpl.insert(lWhFormProcure);
         if (result == 0) {
             return null;
         }
@@ -239,7 +244,7 @@
             // 鏌ヨ鍨嬪彿搴撳瓨
             int goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
             LWhProcureModel model = new LWhProcureModel();
-            model.setId(NumberGenerator.getLongSequenceNumber());
+            model.setId(IdUtil.generateId());
             model.setFromProcureGoodsId(fromProcureGoodsId);
             model.setBusinessType(WhBusinessEnum.CAIGOU.getValue() + 0);
             model.setBusinessId(whFormProcureId);
@@ -251,7 +256,7 @@
             whProcureModeLlist.add(model);
             procureGoodList.add(procureGood);
         }
-        lWhFormProcureGoodsService.insertBatch(procureGoodList);
+        lWhFormProcureGoodsServiceImpl.insertBatch(procureGoodList);
         lWhProcureModelService.insertBatch(whProcureModeLlist);
 
         HashMap<String, Object> rtnMap = new HashMap<>();
@@ -268,7 +273,7 @@
      * @param currentUser
      */
     private Map<String, Object> createOutFormByInventoryId(Long warehouseId, Long procureTime, List<LWhFormInventoryGoods> inventoryGoodsList,
-        S_user_core currentUser, FinSysTenantUser sysInfo) {
+                                                           S_user_core currentUser, FinSysTenantUser sysInfo) {
         if (CollectionUtils.isEmpty(inventoryGoodsList)) {
             return null;
         }
@@ -277,6 +282,7 @@
         //鍑哄叆搴搃d
         long lWhFormOutputId = IdUtil.generateId();
         lWhFormOutput.setId(lWhFormOutputId);
+        lWhFormOutput.setOutWarehouseType(0);
         lWhFormOutput.setWarehouseId(warehouseId);
         //鏍规嵁浠撳簱id鏌ヨ浠撳簱
         BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
@@ -301,6 +307,7 @@
         if (flag1 != 1) {
             return null;
         }
+        ArrayList<LWhProcureModel> lWhProcureModels = new ArrayList<>();
         for (LWhFormInventoryGoods inventoryGoods : inventoryGoodsList) {
             Long baseGoodsModelsId = inventoryGoods.getBaseGoodsModelsId();
             Integer counts = inventoryGoods.getErrorCounts();
@@ -312,11 +319,16 @@
             //鏂板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