From ceecebe477faf5a45b19f3b258f7add8f93b4583 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期二, 05 十二月 2023 10:00:24 +0800
Subject: [PATCH] 代码优化 结构调整

---
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java |   66 +++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 27 deletions(-)

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 06a2a59..c1a5c9e 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
@@ -1,6 +1,19 @@
 package com.consum.base.service;
 
+import java.util.ArrayList;
+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 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.LWarehouseFlow;
 import com.consum.model.po.LWhFormScrapped;
@@ -8,15 +21,9 @@
 import com.consum.model.po.LWhGoodsRecord;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.CollectionUtils;
-import com.walker.infrastructure.utils.NumberGenerator;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
+
+import cn.hutool.core.convert.Convert;
 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;
 
 /**
  * @ClassName LWhFormScrappedCoreService
@@ -26,32 +33,36 @@
  **/
 @Service
 @Slf4j
+@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class LWhFormScrappedCoreService {
 
     private GoodsBaseServiceImpl goodsBaseService;
     private LWhFormScrappedGoodsService lWhFormScrappedGoodsService;
-    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
+    private BaseGoodsTemplateService baseGoodsTemplateService;
     private LWhGoodsService lWhGoodsService;
     private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
-    private LWhGoodsRecordService lWhGoodsRecordService;
+    private LWhGoodsRecordService lWhGoodsRecordServiceImpl;
     private LWarehouseFlowService lWarehouseFlowService;
+    private LWhWarningCoreServiceImpl lWhWarningCoreService;
 
     @Autowired
     public LWhFormScrappedCoreService(GoodsBaseServiceImpl goodsBaseService,
-        LWhFormScrappedGoodsService lWhFormScrappedGoodsService,
-        BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
-        LWhGoodsService lWhGoodsService,
-        LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
-        LWhGoodsRecordService lWhGoodsRecordService,
-        LWarehouseFlowService lWarehouseFlowService) {
+                                      LWhFormScrappedGoodsService lWhFormScrappedGoodsService,
+                                      BaseGoodsTemplateService baseGoodsTemplateService,
+                                      LWhGoodsService lWhGoodsService,
+                                      LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
+                                      LWhGoodsRecordService lWhGoodsRecordServiceImpl,
+                                      LWarehouseFlowService lWarehouseFlowService,
+                                      LWhWarningCoreServiceImpl lWhWarningCoreService) {
 //        this.lWhFormScrappedService = lWhFormScrappedService;
         this.lWhFormScrappedGoodsService = lWhFormScrappedGoodsService;
         this.baseGoodsTemplateService = baseGoodsTemplateService;
         this.lWhGoodsService = lWhGoodsService;
         this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService;
-        this.lWhGoodsRecordService = lWhGoodsRecordService;
+        this.lWhGoodsRecordServiceImpl = lWhGoodsRecordServiceImpl;
         this.lWarehouseFlowService = lWarehouseFlowService;
         this.goodsBaseService = goodsBaseService;
+        this.lWhWarningCoreService = lWhWarningCoreService;
     }
 
 
@@ -80,7 +91,7 @@
         Long warehouseId = lWhFormScrapped.getWarehouseId();
         String warehouseName = lWhFormScrapped.getWarehouseName();
         // 娴佹按璁板綍鎬昏〃ID
-        long lWarehouseFlowId = NumberGenerator.getLongSequenceNumberNano();
+        long lWarehouseFlowId = IdUtil.generateId();
 
         //瑕佹姤搴熺殑鐗╁搧
         LWhFormScrappedGoods goods = new LWhFormScrappedGoods();
@@ -92,11 +103,14 @@
         }
 
         // 鎸夊瀷鍙峰垎缁�
+        ArrayList<Long> allChangModelList = new ArrayList<>();
+
         Map<Long, List<LWhFormScrappedGoods>> modelGroup = formScrappedGoods.stream()
-            .collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId));
+                .collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId));
         for (Map.Entry<Long, List<LWhFormScrappedGoods>> entry : modelGroup.entrySet()) {
             //瑙勬牸鍨嬪彿缂栧彿
             Long baseGoodsModelsId = entry.getKey();
+            allChangModelList.add(baseGoodsModelsId);
             //瀵规瘡缁勪腑瑕佹姤搴熺殑鏁伴噺姹傚拰
             List<LWhFormScrappedGoods> modelGoodsList = entry.getValue();
             //鏌ヨ鍨嬪彿淇℃伅
@@ -107,7 +121,7 @@
             String goodsName = (String) tempGoodsInfo.get("goodsname");
             String modelName = (String) tempGoodsInfo.get("modelname");
             // 鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撹褰� L_WH_GOODS_RECORD
-            long whGoodsRecordId = NumberGenerator.getLongSequenceNumberNano();
+            long whGoodsRecordId = IdUtil.generateId();
             LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord();
             whGoodsRecord.setId(whGoodsRecordId);
             whGoodsRecord.setWarehouseType(warehouseType);
@@ -140,7 +154,7 @@
                         String userName = formScrappedGood.getUserName();
                         // 鏍规嵁鍒嗗彂鍗曘�佽鏍煎瀷鍙风紪鍙枫�佷娇鐢ㄤ汉鍛樺悕绉帮紝杩涜鎶ュ簾
                         srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, transBusinessId, userName, baseGoodsModelsId,
-                            (short) 2, counts);
+                                (short) 2, counts);
                     }
                     if (CollectionUtils.isEmpty(srappedGoodsIds) || srappedGoodsIds.size() < counts) {
                         log.error("瑕佹姤搴熺殑鐗╁搧鏁伴噺涓嶈冻锛�");
@@ -157,7 +171,7 @@
                     // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS]
                     lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 2);
                 }
-                lWhGoodsRecordService.insert(whGoodsRecord);
+                lWhGoodsRecordServiceImpl.insert(whGoodsRecord);
             }
 
         }
@@ -180,17 +194,15 @@
         }
         // 鏇存柊鎶ュ簾鍗�
         lWhFormScrapped = new LWhFormScrapped(formScrappedId);
-        lWhFormScrapped = goodsBaseService.get(lWhFormScrapped);
-        if (lWhFormScrapped != null && lWhFormScrapped.getStates() != 0) {
-            log.error("鎶ュ簾澶辫触锛佽妫�鏌ユ姤搴熷崟鐘舵��");
-            return null;
-        }
         lWhFormScrapped.setLWarehouseFlowId(lWarehouseFlowId);
         lWhFormScrapped.setStates(1);
         lWhFormScrapped.setOperatorId(userId);
         lWhFormScrapped.setOperatorName(nickName);
         lWhFormScrapped.setDealTime(dealTime);
         goodsBaseService.update(lWhFormScrapped);
+
+        //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉�
+        lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime);
         return lWarehouseFlowId;
     }
 

--
Gitblit v1.9.1