From edc87e2fc3760cd7d1230bc058acf5620ea2c465 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期六, 02 十二月 2023 15:03:15 +0800
Subject: [PATCH] 部门分发添加,分发单型号查询

---
 consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java |   38 +++++++++++++++++++++++++-------------
 1 files changed, 25 insertions(+), 13 deletions(-)

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 a9cad8f..e890509 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
@@ -3,24 +3,29 @@
 import cn.hutool.core.convert.Convert;
 import com.consum.base.core.WhBusinessEnum;
 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.consum.model.po.LGoodsUserRecord;
+import com.consum.model.po.LWarehouseFlow;
+import com.consum.model.po.LWhFormTransfer;
+import com.consum.model.po.LWhGoodsRecord;
+import com.consum.model.po.LWhGoodsRecordDetails;
+import com.consum.model.po.LWhProcureModelUser;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.DateUtils;
 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;
-
-import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import javax.annotation.Resource;
+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;
 
 /**
  * @ClassName LWhFormTransferCoreService
@@ -34,7 +39,7 @@
 public class LWhFormTransferCoreService {
 
     @Resource
-    private LWhFormTransferServiceImpl lWhFormTransferService;
+    private LWhFormTransferService lWhFormTransferService;
     @Resource
     private LWhFormOutputCoreService lWhFormOutputCoreService;
     @Resource
@@ -127,6 +132,10 @@
         String nickName = currentUser.getNick_name();
         // 鍑哄簱鍗曟祦姘磇d
         Long outWarehouseFlowId = lWhFormTransfer.getOutWarehouseFlowId();
+        if (outWarehouseFlowId == null) {
+            log.error("璋冩嫧澶辫触锛佹湭鎵惧埌鍑哄簱鍗�");
+            return;
+        }
         // 鍏ュ簱浠撳簱绫诲瀷 0鏈烘瀯1閮ㄩ棬
         Integer inWarehouseType = lWhFormTransfer.getInWarehouseType();
         Long inWarehouseId = lWhFormTransfer.getInWarehouseId();
@@ -173,7 +182,7 @@
             Long oldRecordId = whGoodsRecord.getId();
             Long baseGoodsModelsId = whGoodsRecord.getBaseGoodsModelsId();
             allChangModelList.add(baseGoodsModelsId);
-            whGoodsRecord.setId(NumberGenerator.getLongSequenceNumber());
+            whGoodsRecord.setId(IdUtil.generateId());
             whGoodsRecord.setWarehouseType(inWarehouseType);
             whGoodsRecord.setWarehouseId(inWarehouseId);
             whGoodsRecord.setDealTime(dealTime);
@@ -183,6 +192,10 @@
             synchronized (warehouseModelLockObj) {
                 // 鏍规嵁鍑哄簱娴佹按ID 鏌ヨ 鍑哄簱鐨勭墿鍝両D
                 outGoodsIds = getGoodsidByFlowId(outWarehouseFlowId, oldRecordId);
+                if (CollectionUtils.isEmpty(outGoodsIds)) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝鏈煡璇㈠埌鐗╁搧锛�");
+                }
                 // 搴撳瓨鐗╁搧璇︽儏锛圠_WH_GOODS锛変腑 鐘舵�佽缃负1
                 lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName, goodsStatus);
 
@@ -202,7 +215,7 @@
                 lWhProcureModelUser.setTransBusinessId(whFormTransferId);
                 lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId);
                 List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser);
-                if (CollectionUtils.isEmpty(goodsUserInfo)){
+                if (CollectionUtils.isEmpty(goodsUserInfo)) {
                     continue;
                 }
                 int totalGoodsNum = goodsUserInfo.stream().filter(item -> item.getGoodsNum() != null).mapToInt(LWhProcureModelUser::getGoodsNum).sum();
@@ -249,7 +262,6 @@
             //灏嗕繚绠′粨搴撲俊鎭洿鏂板埌 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆�
             lGoodsWhRecordService.insertNewRecord(outGoodsIds, inWarehouseFlowId, dealTime);
 
-
             LWhGoodsRecordDetails lWhGoodsRecordDetails = new LWhGoodsRecordDetails();
             lWhGoodsRecordDetails.setWhGoodsRecordId(oldRecordId);
             List<LWhGoodsRecordDetails> goodsRecordDetailsList = lWhGoodsRecordDetailsService.select(lWhGoodsRecordDetails);
@@ -273,7 +285,7 @@
         lWhFormTransferService.update(lWhFormTransfer);
 
         //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉�
-        if (inWarehouseType == 0){
+        if (inWarehouseType == 0) {
             lWhWarningCoreService.updateKuCun(Convert.toShort(inWarehouseType, (short) 0), inWarehouseId, allChangModelList, null, dealTime);
         }
         log.info("璋冩嫧鍗曪細{} 鍏ュ簱瀹屾垚", whFormTransferId);

--
Gitblit v1.9.1