From 41dd97a3255d581d4013529730cedfb3f8f8e8ea Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期一, 27 十一月 2023 16:58:57 +0800
Subject: [PATCH] feat: 盘点

---
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java |   12 ++-
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java      |   69 +++++++++--------
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java       |   58 ++++++++------
 consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java       |    3 
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java       |    2 
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java         |   16 ++-
 consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java                |    5 +
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java      |    7 +
 consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java        |    2 
 consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java                  |    2 
 consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java   |    6 +
 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java        |    7 +
 12 files changed, 113 insertions(+), 76 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java b/consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java
index feab773..96d5f9f 100644
--- a/consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java
@@ -1,14 +1,16 @@
 package com.consum.base.core;
 
 import com.consum.base.core.param.BaseWarehouseParam;
-import com.consum.base.core.utils.SqlParameter;
 import com.consum.base.core.utils.DateUtil;
+import com.consum.base.core.utils.SqlParameter;
 import com.consum.model.po.*;
 import com.walker.infrastructure.utils.NumberGenerator;
 import com.walker.jdbc.service.BaseServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 
 import java.util.ArrayList;
@@ -20,6 +22,7 @@
  */
 @Service
 @Slf4j
+@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class WarehouseCoreService extends BaseServiceImpl {
 
     public static void main(String[] args) {
diff --git a/consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java b/consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java
index 7abdabd..9e8a73d 100644
--- a/consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java
@@ -10,6 +10,8 @@
 import com.walker.infrastructure.utils.NumberGenerator;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
@@ -26,6 +28,7 @@
  * @Version 1.0
  **/
 @Service
+@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class LWhWarningCoreServiceImpl {
 
     @Resource
@@ -129,8 +132,7 @@
 
         StringBuilder sql = new StringBuilder(KU_CUN_NORMAL_MODEL);
         if (!org.springframework.util.CollectionUtils.isEmpty(normalBaseModelIdList)) {
-            sql.append(" and BASE_GOODS_MODELS_ID in(?)");
-            params.add(org.apache.commons.lang3.StringUtils.join(normalBaseModelIdList, ","));
+            sql.append(" and BASE_GOODS_MODELS_ID in(").append( org.apache.commons.lang3.StringUtils.join(normalBaseModelIdList, ",")).append(")");
         }
         return lWhWarningService.update(sql.toString(), params.toArray());
     }
diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
index 144e817..a9989b2 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
@@ -12,6 +12,8 @@
 import org.springframework.jdbc.core.namedparam.SqlParameterSource;
 import org.springframework.jdbc.core.simple.SimpleJdbcCall;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.PostConstruct;
 import java.util.List;
@@ -26,6 +28,7 @@
  **/
 @Service
 @Slf4j
+@Transactional(propagation = Propagation.REQUIRED)
 public class LWarehouseFlowCoreService {
 
     private final JdbcTemplate jdbcTemplate;
@@ -78,8 +81,8 @@
         //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
         short buyType = lWhFormProcure.getBuyType().shortValue();
         //閲囪喘鏃堕棿
-        Long procureTime = lWhFormProcure.getProcureTime();
-
+        Long procureTime2 = lWhFormProcure.getProcureTime();
+        Long procureTime = procureTime2 == null ? dealTime : procureTime2;
         // 鎻掑叆娴佹按鎬昏〃
         int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow);
         if (flowInsertFlag == 0) {
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..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
@@ -4,27 +4,22 @@
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.WhBusinessEnum;
 import com.consum.base.core.utils.IdUtil;
-import com.consum.model.po.BaseWarehouse;
-import com.consum.model.po.FinSysTenantUser;
-import com.consum.model.po.LWhFormInventory;
-import com.consum.model.po.LWhFormInventoryGoods;
-import com.consum.model.po.LWhFormOutput;
-import com.consum.model.po.LWhFormProcure;
-import com.consum.model.po.LWhFormProcureGoods;
-import com.consum.model.po.LWhProcureModel;
+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;
+
 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,6 +29,7 @@
  **/
 @Slf4j
 @Service
+@Transactional(propagation = Propagation.REQUIRED)
 public class LWhFormInventoryCoreService {
 
     private LWhFormInventoryGoodsServiceImpl lWhFormInventoryGoods;
@@ -51,17 +47,17 @@
 
     @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 lWhFormProcureService,
+                                       BaseWarehouseServiceImpl baseWarehouseService,
+                                       LWhFormProcureGoodsService lWhFormProcureGoodsService,
+                                       LWhProcureModelService lWhProcureModelService,
+                                       BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
+                                       LWhGoodsService lWhGoodsService,
+                                       LWhFormInventoryServiceImpl lWhFormInventoryService,
+                                       LWhFormProcureCoreService lWhFormProcureCoreService,
+                                       LWhFormOutputServiceImpl lWhFormOutputService
 
     ) {
         this.lWhFormInventoryGoods = lWhFormInventoryGoods;
@@ -104,8 +100,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 +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();
@@ -156,7 +152,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);
                 if (lWarehouseFlowId == null) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 //                    throw new RuntimeException("鍒涘缓鍑哄簱鍗曞け璐�");
@@ -187,7 +183,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;
         }
@@ -268,7 +264,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 +273,7 @@
         //鍑哄叆搴搃d
         long lWhFormOutputId = IdUtil.generateId();
         lWhFormOutput.setId(lWhFormOutputId);
+        lWhFormOutput.setOutWarehouseType(0);
         lWhFormOutput.setWarehouseId(warehouseId);
         //鏍规嵁浠撳簱id鏌ヨ浠撳簱
         BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
@@ -301,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();
@@ -312,11 +310,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);
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java
index ff3142a..1561502 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java
@@ -4,10 +4,13 @@
 import com.consum.base.pojo.response.FormInventoryGoodsVO;
 import com.consum.model.po.LWhFormInventoryGoods;
 import com.walker.jdbc.service.BaseServiceImpl;
-import java.util.ArrayList;
-import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @Description 鐩樼偣鍗曠墿鍝�
@@ -16,6 +19,7 @@
  */
 @Slf4j
 @Service
+@Transactional(propagation = Propagation.REQUIRED)
 public class LWhFormInventoryGoodsServiceImpl extends BaseServiceImpl {
 
     /**
@@ -56,9 +60,9 @@
             Integer inventoryCount = inventoryGoods.getInventoryCount();
             Integer realNum = inventoryGoods.getRealNum();
             if (realNum != null) {
-                int errorCount = inventoryCount - realNum;
+                int errorCount = realNum - inventoryCount ;
                 lWhFormInventoryGoods.setInventoryCounts(realNum);
-                lWhFormInventoryGoods.setErrorCounts(errorCount);
+                lWhFormInventoryGoods.setErrorCounts(Math.abs(errorCount));
                 //鐩樼偣缁撴灉锛�1=姝e父锛�2=鐩樼泩锛�3=鐩樹簭锛�
                 lWhFormInventoryGoods.setInventoryResult((errorCount > 0) ? 2 : (errorCount < 0) ? 3 : 1);
                 goodsList.add(lWhFormInventoryGoods);
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
index 92361bb..562900c 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
@@ -21,9 +21,6 @@
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
@@ -32,6 +29,10 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description 鐩樼偣
  * @Author 鍗㈠簡闃�
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..dd3ce96 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
@@ -14,6 +14,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 +30,7 @@
  **/
 @Slf4j
 @Service
-@Transactional(rollbackFor = Exception.class)
+@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class LWhFormOutputCoreService {
 
     private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
@@ -189,21 +190,26 @@
         //閲囪喘鏂瑰紡锛�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)) {
+        } 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;
         }
         Integer queryModelStatus = queryModelStatusT;
         Integer buyType = buyTypeT;
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java
index 1a2f7c9..c06992e 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java
@@ -10,6 +10,7 @@
 import com.walker.infrastructure.utils.NumberGenerator;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
@@ -24,6 +25,7 @@
  **/
 @Service
 @Slf4j
+@Transactional(propagation= Propagation.REQUIRED)
 public class LWhFormProcureCoreService {
     @Resource
     private LWhProcureModelService lWhProcureModelService;
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java
index 5dfc08d..6e3cdcc 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java
@@ -14,6 +14,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;
 
@@ -30,6 +31,7 @@
  **/
 @Service
 @Slf4j
+@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class LWhFormScrappedCoreService {
 
     private GoodsBaseServiceImpl goodsBaseService;
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
index acc6e5c..108907d 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
@@ -14,29 +14,23 @@
 import com.consum.base.pojo.response.FormScrappedGoodsVO;
 import com.consum.base.pojo.response.GoodsModelVO;
 import com.consum.base.pojo.response.LWhFormScrappedExtendVO;
-import com.consum.model.po.BaseGoodsModels;
-import com.consum.model.po.BaseGoodsTemplate;
-import com.consum.model.po.BaseWarehouse;
-import com.consum.model.po.FinSysTenantDepartment;
-import com.consum.model.po.FinSysTenantUser;
-import com.consum.model.po.LWhFormScrapped;
-import com.consum.model.po.LWhFormScrappedGoods;
-import com.consum.model.po.SDictData;
+import com.consum.model.po.*;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description 鎶ュ簾鍗�
@@ -80,23 +74,39 @@
      * @return 1.鏂板鎶ュ簾鍗�  2.鏂板鎶ュ簾鍗曠墿鍝�
      */
 
-    public int add(LWhFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) {
+    public int add(LWhFormScrappedParam param, int warehouseType, S_user_core currentUser, FinSysTenantUser sysInfo) {
         //1.鏂板鎶ュ簾鍗曡褰�
         LWhFormScrapped lWhFormScrapped = new LWhFormScrapped();
         //鎶ュ簾鍗昳d
         long lWhFormScrappedId = IdUtil.generateId();
         lWhFormScrapped.setId(lWhFormScrappedId);
         lWhFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped));
-        lWhFormScrapped.setWarehouseType(0);
-        Long warehouseId = param.getWarehouseId();
-        lWhFormScrapped.setWarehouseId(warehouseId);
-        //鏍规嵁浠撳簱id鏌ヨ浠撳簱
-        BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
-        if (warehouse == null) {
-            log.error("浠撳簱涓嶅瓨鍦�");
-            return 0;
+        lWhFormScrapped.setWarehouseType(warehouseType);
+        // 鍏敤
+        Long warehouseId = null;
+        //浠撳簱鍚嶇О
+        String wareHouseName = null;
+        if (warehouseType == 0){
+            warehouseId = param.getWarehouseId();
+            //鏍规嵁浠撳簱id鏌ヨ浠撳簱
+            BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
+            if (warehouse == null) {
+                log.error("浠撳簱涓嶅瓨鍦�");
+                return 0;
+            }
+            wareHouseName = warehouse.getWarehouseName();
+        } else {
+            // 鏌ヨ閮ㄩ棬鍚嶇О
+            warehouseId = param.getDepartmentId();
+            FinSysTenantDepartment sysTenantDepartment = departmentService.getById(warehouseId);
+            if (sysTenantDepartment == null) {
+                log.error("閮ㄩ棬涓嶅瓨鍦�");
+                return 0;
+            }
+            wareHouseName = sysTenantDepartment.getName();
         }
-        lWhFormScrapped.setWarehouseName(warehouse.getWarehouseName());
+        lWhFormScrapped.setWarehouseId(warehouseId);
+        lWhFormScrapped.setWarehouseName(wareHouseName);
         lWhFormScrapped.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
         lWhFormScrapped.setAgencyName(sysInfo.getTenantName());
         lWhFormScrapped.setOperatorId(sysInfo.getSysUserId());
@@ -147,7 +157,7 @@
                 LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
                 scrappedGoods.setId(IdUtil.generateId());
                 //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null);
+                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null);
                 if (params.getCounts() > goodsNum) {
                     log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺");
                     return 0;
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java
index ebe999b..c5573dc 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java
@@ -11,6 +11,7 @@
 import com.walker.infrastructure.utils.NumberGenerator;
 import lombok.extern.slf4j.Slf4j;
 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 +30,7 @@
  **/
 @Service
 @Slf4j
-@Transactional(rollbackFor = Exception.class)
+@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class LWhFormTransferCoreService {
 
     @Resource
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java b/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
index cbfb40a..4aa7b31 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
@@ -240,7 +240,7 @@
     public int modGoodsTransfering(List<Long> whGoods, Integer warehouseType, Long toWarehouseId, String toWarehouseName, Integer states) {
         StringBuilder sql = new StringBuilder(MOD_GOODS_TRANSFERING_PREFIX);
         ArrayList<Object> params = new ArrayList<>();
-        if (toWarehouseId != null) {
+        if (warehouseType != null) {
             sql.append(", WAREHOUSE_TYPE=?");
             params.add(warehouseType);
         }

--
Gitblit v1.9.1