From 87ff2a60723119530d071f6ed6b16fc2f3f023ca Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期二, 05 十二月 2023 16:32:05 +0800
Subject: [PATCH] 报废单导出金额信息

---
 consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java |   72 ++++++++++++++++++++---------------
 1 files changed, 41 insertions(+), 31 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/impl/LWhFormScrappedCoreService.java
similarity index 77%
rename from consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java
rename to consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java
index c1a5c9e..1442df9 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java
@@ -1,4 +1,4 @@
-package com.consum.base.service;
+package com.consum.base.service.impl;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -15,6 +15,12 @@
 import com.consum.base.core.service.LWhWarningCoreServiceImpl;
 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.LWarehouseFlowService;
+import com.consum.base.service.LWhFormScrappedGoodsService;
+import com.consum.base.service.LWhGoodsRecordService;
+import com.consum.base.service.LWhGoodsService;
 import com.consum.model.po.LWarehouseFlow;
 import com.consum.model.po.LWhFormScrapped;
 import com.consum.model.po.LWhFormScrappedGoods;
@@ -47,14 +53,11 @@
 
     @Autowired
     public LWhFormScrappedCoreService(GoodsBaseServiceImpl goodsBaseService,
-                                      LWhFormScrappedGoodsService lWhFormScrappedGoodsService,
-                                      BaseGoodsTemplateService baseGoodsTemplateService,
-                                      LWhGoodsService lWhGoodsService,
-                                      LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
-                                      LWhGoodsRecordService lWhGoodsRecordServiceImpl,
-                                      LWarehouseFlowService lWarehouseFlowService,
-                                      LWhWarningCoreServiceImpl lWhWarningCoreService) {
-//        this.lWhFormScrappedService = lWhFormScrappedService;
+        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;
@@ -64,7 +67,6 @@
         this.goodsBaseService = goodsBaseService;
         this.lWhWarningCoreService = lWhWarningCoreService;
     }
-
 
     /**
      * 鏍规嵁 鎶ュ簾鍗曘�怢_WH_FORM_SCRAPPED銆� 鎶ュ簾鐗╁搧
@@ -93,7 +95,7 @@
         // 娴佹按璁板綍鎬昏〃ID
         long lWarehouseFlowId = IdUtil.generateId();
 
-        //瑕佹姤搴熺殑鐗╁搧
+        // 瑕佹姤搴熺殑鐗╁搧
         LWhFormScrappedGoods goods = new LWhFormScrappedGoods();
         goods.setFormScrappedId(formScrappedId);
         List<LWhFormScrappedGoods> formScrappedGoods = lWhFormScrappedGoodsService.select(goods);
@@ -105,21 +107,21 @@
         // 鎸夊瀷鍙峰垎缁�
         ArrayList<Long> allChangModelList = new ArrayList<>();
 
-        Map<Long, List<LWhFormScrappedGoods>> modelGroup = formScrappedGoods.stream()
-                .collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId));
+        Map<Long, List<LWhFormScrappedGoods>> modelGroup =
+            formScrappedGoods.stream().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();
-            //鏌ヨ鍨嬪彿淇℃伅
+            // 鏌ヨ鍨嬪彿淇℃伅
             Map<String, Object> tempGoodsInfo = baseGoodsTemplateService.queryGoodsInfoByModelId(baseGoodsModelsId);
-            //瑕佹姤搴熺殑鎬绘暟閲�
+            // 瑕佹姤搴熺殑鎬绘暟閲�
             int modelTotalNum = modelGoodsList.stream().mapToInt(LWhFormScrappedGoods::getCounts).sum();
-            Long tempGoodsId = (Long) tempGoodsInfo.get("goodsid");
-            String goodsName = (String) tempGoodsInfo.get("goodsname");
-            String modelName = (String) tempGoodsInfo.get("modelname");
+            Long tempGoodsId = (Long)tempGoodsInfo.get("goodsid");
+            String goodsName = (String)tempGoodsInfo.get("goodsname");
+            String modelName = (String)tempGoodsInfo.get("modelname");
             // 鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撹褰� L_WH_GOODS_RECORD
             long whGoodsRecordId = IdUtil.generateId();
             LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord();
@@ -132,36 +134,43 @@
             whGoodsRecord.setBaseGoodsModelsId(baseGoodsModelsId);
             whGoodsRecord.setBaseGoodsModelsName(modelName);
             whGoodsRecord.setDealTime(dealTime);
-            //鏈璋冩暣绫诲瀷 1=璋冨锛�2=璋冨噺
+            // 鏈璋冩暣绫诲瀷 1=璋冨锛�2=璋冨噺
             whGoodsRecord.setThisType(2);
             whGoodsRecord.setThisCount(modelTotalNum);
 
-            //閫氳繃LockManage鑾峰緱閿�
+            // 閫氳繃LockManage鑾峰緱閿�
             Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId);
             synchronized (warehouseModelLockObj) {
                 for (LWhFormScrappedGoods formScrappedGood : modelGoodsList) {
-                    //鎶ュ簾鏁伴噺
+                    // 鎶ュ簾鏁伴噺
                     Integer counts = formScrappedGood.getCounts();
-                    //鎶ュ簾鍗曠紪鍙�
+                    // 鎶ュ簾鍗曠紪鍙�
                     Long transBusinessId = formScrappedGood.getTransBusinessId();
 
                     int goodsModelNum = 0;
                     List<Long> srappedGoodsIds = null;
                     if (warehouseType == null || warehouseType == 0) {
-                        srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, null, null, baseGoodsModelsId, (short) 1, counts);
+                        srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, null, null,
+                            baseGoodsModelsId, (short)1, counts);
                     } else {
-                        //浣跨敤浜哄憳鍚嶇О
+                        // 浣跨敤浜哄憳鍚嶇О
                         String userName = formScrappedGood.getUserName();
                         // 鏍规嵁鍒嗗彂鍗曘�佽鏍煎瀷鍙风紪鍙枫�佷娇鐢ㄤ汉鍛樺悕绉帮紝杩涜鎶ュ簾
-                        srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, transBusinessId, userName, baseGoodsModelsId,
-                                (short) 2, counts);
+                        srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId,
+                            transBusinessId, userName, baseGoodsModelsId, (short)2, counts);
                     }
+
                     if (CollectionUtils.isEmpty(srappedGoodsIds) || srappedGoodsIds.size() < counts) {
                         log.error("瑕佹姤搴熺殑鐗╁搧鏁伴噺涓嶈冻锛�");
                         // 鎵嬪姩鍥炴粴
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         throw new RuntimeException("鎶ュ簾澶辫触!鍨嬪彿鏁伴噺涓嶈冻");
                     }
+                    // 閫氳繃鐗╁搧id鏌ヨ鎵�鏈夊晢鍝佺殑鎬婚噾棰�
+                    long amount = lWhGoodsService.queryGoodsPriceById(srappedGoodsIds);
+                    LWhFormScrappedGoods lWhFormScrappedGoods = new LWhFormScrappedGoods(formScrappedGood.getId());
+                    lWhFormScrappedGoods.setTotalAmount((int)amount);
+                    lWhFormScrappedGoodsService.update(lWhFormScrappedGoods);
 
                     whGoodsRecord.setInitialCount(goodsModelNum);
                     whGoodsRecord.setEndCount(goodsModelNum - counts);
@@ -169,7 +178,7 @@
                     // 璁剧疆鐗╁搧涓烘姤搴熺姸鎬�
                     lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3);
                     // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS]
-                    lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 2);
+                    lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short)2);
                 }
                 lWhGoodsRecordServiceImpl.insert(whGoodsRecord);
             }
@@ -201,8 +210,9 @@
         lWhFormScrapped.setDealTime(dealTime);
         goodsBaseService.update(lWhFormScrapped);
 
-        //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉�
-        lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime);
+        // 褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉�
+        lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType, (short)0), warehouseId, allChangModelList,
+            null, dealTime);
         return lWarehouseFlowId;
     }
 

--
Gitblit v1.9.1