From 170c89b9b8e6d5c3117d53e7b38f782651ebfcde Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期五, 22 十二月 2023 14:04:04 +0800
Subject: [PATCH] 物品统计表中总数量改为在库数量+报废数量

---
 consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java |   64 +++++++++++++++-----------------
 1 files changed, 30 insertions(+), 34 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java b/consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java
similarity index 93%
rename from consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java
rename to consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java
index 359084a..6603f98 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java
@@ -1,4 +1,4 @@
-package com.consum.base.service.impl;
+package com.consum.base.service.core;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -15,12 +15,11 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import com.consum.base.core.WhBusinessEnum;
-import com.consum.base.core.service.LWhWarningCoreServiceImpl;
 import com.consum.base.core.type.TransferStatesType;
 import com.consum.base.core.utils.IdUtil;
 import com.consum.base.core.utils.LockManage;
 import com.consum.base.service.BaseGoodsTemplateService;
-import com.consum.base.service.GoodsBaseServiceImpl;
+import com.consum.base.service.GoodsBaseService;
 import com.consum.base.service.LGoodsUserRecordServiceImpl;
 import com.consum.base.service.LGoodsWhRecordServiceImpl;
 import com.consum.base.service.LWarehouseFlowService;
@@ -28,6 +27,7 @@
 import com.consum.base.service.LWhGoodsRecordService;
 import com.consum.base.service.LWhGoodsService;
 import com.consum.base.service.LWhProcureModelService;
+import com.consum.base.service.impl.LWhGoodsRecordDetailsService;
 import com.consum.model.po.LGoodsUserRecord;
 import com.consum.model.po.LWarehouseFlow;
 import com.consum.model.po.LWhFormTransfer;
@@ -65,7 +65,7 @@
     @Resource
     private LWhFormOutputCoreService lWhFormOutputCoreService;
     @Resource
-    private GoodsBaseServiceImpl goodsBaseService;
+    private GoodsBaseService goodsBaseService;
     @Resource
     private LWhGoodsRecordService lWhGoodsRecordServiceImpl;
     @Resource
@@ -73,13 +73,13 @@
     @Resource
     private LGoodsWhRecordServiceImpl lGoodsWhRecordService;
     @Resource
-    private LWarehouseFlowService lWarehouseFlowService;
+    private LWarehouseFlowService lWarehouseFlowServiceImpl;
     @Resource
     private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
     @Resource
     private LGoodsUserRecordServiceImpl lGoodsUserRecordService;
     @Resource
-    private LWhWarningCoreServiceImpl lWhWarningCoreService;
+    private LWhWarningCoreService lWhWarningCoreService;
 
     /**
      * 鎵ц璋冩嫧鍑哄簱鎿嶄綔
@@ -144,12 +144,13 @@
      * @param whFormTransferId
      * @param currentUser
      */
-    public Long doTransferOutPutNew(Long whFormTransferId, S_user_core currentUser) {
+    public Long doTransferOutPutNew(Long whFormTransferId, S_user_core currentUser, WhBusinessEnum whBusinessEnum)
+        throws Exception {
         LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(whFormTransferId);
         lWhFormTransfer = lWhFormTransferService.get(lWhFormTransfer);
         if (lWhFormTransfer == null || lWhFormTransfer.getStates() != 0) {
             log.error("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��");
-            return null;
+            throw new Exception("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��");
         }
 
         Long userId = currentUser.getId();
@@ -157,10 +158,10 @@
         long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis());
         // 鐢宠璋冩嫧鐨勭墿鍝�
         List<LWhProcureModel> goodsModelNumList =
-            lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, whFormTransferId);
+            lWhProcureModelService.getModelByForm(whBusinessEnum, whFormTransferId);
         if (CollectionUtils.isEmpty(goodsModelNumList)) {
             log.error("娌℃湁瑕佸嚭搴撶殑鐗╁搧");
-            return null;
+            throw new Exception("娌℃湁瑕佸嚭搴撶殑鐗╁搧");
         }
         List<LWhProcureModel> goodsModelNumUpdList = new ArrayList<>(goodsModelNumList.size());
 
@@ -178,21 +179,16 @@
         long lWarehouseFlowBusinessId = whFormTransferId;
 
         // 鐗╁搧鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛�
-        Integer queryModelStatusT = 1;
+        Integer queryModelStatus = 1;
         // 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
-        Integer buyTypeT = null;
-        Integer modGoodsTransferingStatusT = null;
-        // 璋冩嫧鍑哄簱
-        queryModelStatusT = 1;
-        buyTypeT = 1;
-        modGoodsTransferingStatusT = 0;
-
-        Integer queryModelStatus = queryModelStatusT;
-        Integer buyType = buyTypeT;
-        Integer modGoodsTransferingStatus = modGoodsTransferingStatusT;
+        Integer buyType = 1;
+        if (whBusinessEnum == WhBusinessEnum.BUMENFENFA) {
+            buyType = null;
+        }
+        Integer modGoodsStatus = 0;
 
         ArrayList<Long> allChangModelList = new ArrayList<>();
-        goodsModelNumList.forEach(itemModelInfo -> {
+        for (LWhProcureModel itemModelInfo : goodsModelNumList) {
             // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙�
             Long baseGoodsModelsId = itemModelInfo.getBaseGoodsModelsId();
             LWhProcureModel updWhProcureModel = new LWhProcureModel(itemModelInfo.getId());
@@ -244,7 +240,7 @@
                 outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId,
                     queryModelStatus, buyType, counts);
                 lWhGoodsService.modGoodsTransfering(outGoodsId, inWarehouseType, inWarehouseId, inWarehouseName,
-                    modGoodsTransferingStatus);
+                    modGoodsStatus);
                 // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS]
                 lWhGoodsRecordDetailsService.sameGoodsInsertMore(outGoodsId, whGoodsRecordId, (short)0);
             }
@@ -256,7 +252,7 @@
             lWhProcureModelService.update(lWhProcureModel);
             updWhProcureModel.setTotalAmount(totalAmount);
             goodsModelNumUpdList.add(updWhProcureModel);
-        });
+        }
         // 鏇存柊L_WH_PROCURE_MODEL琛ㄥ唴閲戦
         lWhProcureModelService.updateBatch(goodsModelNumUpdList);
 
@@ -265,14 +261,14 @@
         warehouseFlow.setWarehouseId(outWarehouseId);
         warehouseFlow.setWarehouseName(warehouseName);
         warehouseFlow.setThisType(2);
-        warehouseFlow.setBusinessType(WhBusinessEnum.DIAOBO.getValue() + 0);
+        warehouseFlow.setBusinessType(whBusinessEnum.getValue());
 
         warehouseFlow.setBusinessFormId(whFormTransferId == null ? lWarehouseFlowBusinessId : whFormTransferId);
         warehouseFlow.setOperatorId(userId);
         warehouseFlow.setOperatorName(nickName);
         warehouseFlow.setDealTime(dealTime);
         // 鎻掑叆娴佹按鎬昏〃
-        int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow);
+        int flowInsertFlag = lWarehouseFlowServiceImpl.insert(warehouseFlow);
         if (flowInsertFlag == 0) {
             return null;
         }
@@ -305,20 +301,21 @@
      * @param whFormTransferId
      * @param currentUser
      */
-    public void doTransferInPut(Long whFormTransferId, S_user_core currentUser, String inOperatorName) {
+    public void doTransferInPut(Long whFormTransferId, S_user_core currentUser, String inOperatorName)
+        throws Exception {
         LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(whFormTransferId);
         lWhFormTransfer = lWhFormTransferService.get(lWhFormTransfer);
         if (lWhFormTransfer == null || lWhFormTransfer.getStates() != 1) {
-            log.error("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��");
-            return;
+            log.info("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��");
+            throw new RuntimeException("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��");
         }
         Long userId = currentUser.getId();
         String nickName = currentUser.getNick_name();
         // 鍑哄簱鍗曟祦姘磇d
         Long outWarehouseFlowId = lWhFormTransfer.getOutWarehouseFlowId();
         if (outWarehouseFlowId == null) {
-            log.error("璋冩嫧澶辫触锛佹湭鎵惧埌鍑哄簱鍗�");
-            return;
+            log.info("璋冩嫧澶辫触锛佹湭鎵惧埌鍑哄簱鍗�");
+            throw new RuntimeException("璋冩嫧澶辫触锛佹湭鎵惧埌鍑哄簱鍗�");
         }
         // 鍏ュ簱浠撳簱绫诲瀷 0鏈烘瀯1閮ㄩ棬
         Integer inWarehouseType = lWhFormTransfer.getInWarehouseType();
@@ -356,7 +353,7 @@
         inwarehouseFlow.setOperatorId(userId);
         inwarehouseFlow.setOperatorName(nickName);
         inwarehouseFlow.setDealTime(dealTime);
-        lWarehouseFlowService.insert(inwarehouseFlow);
+        lWarehouseFlowServiceImpl.insert(inwarehouseFlow);
 
         ArrayList<Long> allChangModelList = new ArrayList<>();
         LWhGoodsRecord lWhGoodsRecord = new LWhGoodsRecord();
@@ -411,8 +408,8 @@
                         .mapToInt(LWhProcureModelUser::getGoodsNum).sum();
                     if (totalGoodsNum != outGoodsIds.size()) {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        log.info("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�");
                         throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�");
-                        // log.error("鍒涘缓鍏ュ簱鍗曞け璐�");
                     }
 
                     ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>();
@@ -486,7 +483,6 @@
                 allChangModelList, null, dealTime);
         }
         log.info("璋冩嫧鍗曪細{} 鍏ュ簱瀹屾垚", whFormTransferId);
-        return;
     }
 
     private static String GET_GOODSID_BY_FLOWID =

--
Gitblit v1.9.1