From fda942a13398486e58f60b8897dd168e771ac8dc Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期四, 21 十二月 2023 13:23:14 +0800
Subject: [PATCH] 机构新增和编辑

---
 consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 46 insertions(+), 11 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java b/consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java
index 171a064..39cbf33 100644
--- a/consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java
@@ -4,11 +4,19 @@
 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.*;
-import com.consum.model.po.*;
+import com.consum.base.service.GoodsBaseServiceImpl;
+import com.consum.base.service.LWarehouseFlowService;
+import com.consum.base.service.LWhGoodsRecordService;
+import com.consum.base.service.LWhGoodsService;
+import com.consum.base.service.impl.LWhGoodsRecordDetailsService;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.LWarehouseFlow;
+import com.consum.model.po.LWhGoodsRecord;
+import com.consum.model.po.UsingFormBack;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.web.ResponseValue;
+import java.util.Arrays;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
@@ -40,7 +48,7 @@
     @Resource
     private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
     @Resource
-    private LWhGoodsRecordService lWhGoodsRecordService;
+    private LWhGoodsRecordService lWhGoodsRecordServiceImpl;
     @Resource
     private LWarehouseFlowService lWarehouseFlowService;
     @Resource
@@ -85,7 +93,7 @@
         Map<String, Integer> procureModelMap = new HashMap<>();
 
         for (Object key : groupByModelIdMap.keySet()) {
-            Long modelTotalPrice = 0l;
+            Long modelTotalPrice = 0L;
             //瑕佹姤搴熺殑鎬绘暟閲�
             int modelTotalNum = 0;
 
@@ -115,7 +123,8 @@
             Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId);
             int goodsModelNum = 0;
             synchronized (warehouseModelLockObj) {
-                goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 2, null);
+                List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId));
+                goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 2, null);
                 for (Map<String, Object> depFormScrappedModel : eachFfModelList) {
                     // 璋冩嫧鍗曚俊鎭�
                     Long transBusinessId = (Long) depFormScrappedModel.get("TRANS_BUSINESS_ID");
@@ -128,7 +137,7 @@
                     // 鏍规嵁鍒嗗彂鍗曘�佸瀷鍙枫�佷娇鐢ㄤ汉淇℃伅鏌ヨ鐗╁搧淇℃伅
                     List<Map<String, Object>> scrappedGoodsList = lWhGoodsService.queryScrappedGoods(warehouseType, warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, (short) 2, counts);
                     if (CollectionUtils.isEmpty(scrappedGoodsList) || scrappedGoodsList.size() < counts) {
-                        log.error("瑕佹姤搴熺殑鐗╁搧鏁伴噺涓嶈冻锛�");
+                        log.error("瑕侀��鍥炵殑鐗╁搧鏁伴噺涓嶈冻锛�");
                         // 鎵嬪姩鍥炴粴
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         throw new RuntimeException("鎶ュ簾澶辫触!鍨嬪彿鏁伴噺涓嶈冻");
@@ -169,7 +178,7 @@
         warehouseFlow.setWarehouseId(warehouseId);
         warehouseFlow.setWarehouseName(warehouseName);
         warehouseFlow.setThisType(2);
-        warehouseFlow.setBusinessType(WhBusinessEnum.BAOFEI.getValue() + 0);
+        warehouseFlow.setBusinessType(WhBusinessEnum.BUMENTUIHUI.getValue() + 0);
         warehouseFlow.setBusinessFormId(lWhFormBackId);
         warehouseFlow.setOperatorId(userId);
         warehouseFlow.setOperatorName(nickName);
@@ -181,7 +190,7 @@
             return null;
         }
         // 鎵归噺鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撱�怢_WH_GOODS_RECORD銆�
-        lWhGoodsRecordService.insertBatch(lWhGoodsRecordList);
+        lWhGoodsRecordServiceImpl.insertBatch(lWhGoodsRecordList);
 
         // 鏇存柊鎶ュ簾鍗�
         depFormScrapped = new UsingFormBack(lWhFormBackId);
@@ -199,6 +208,31 @@
             parameterList.add(one);
         }
         goodsBaseService.execBatchUpdate("update DEP_FORM_SCRAPPED_MODEL set TOTAL_AMOUNT=? where id=?", parameterList);
+
+        //濡傛灉鏄疉绫荤墿鍝侊紝鍒欐洿鏂� 鍒嗗彂鐗╁搧浣跨敤浜恒�怢_WH_PROCURE_MODEL_USER銆� 涓� 鏍规嵁id 鏇存柊 鍦ㄧ敤鏁伴噺(USE_COUNT)
+        List<Object[]> procureModelUserIdList = new ArrayList<>();
+        for (Map<String, Object> itemMap : bfModelList) {
+            Long procureModelUserId = Convert.toLong(itemMap.get("PROCURE_MODEL_USER_ID"));
+            if (procureModelUserId==null){
+                continue;
+            }
+            Integer counts = Convert.toInt(itemMap.get("COUNTS"));
+
+//            StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT-").append(counts);
+//            sb.append(" where id=").append(procureModelUserId);
+//            sb.append(" and USE_COUNT-").append(counts).append(" >=0");
+//            goodsBaseService.update(sb.toString());
+
+            Object[] one = new Object[3];
+            one[0] = counts;
+            one[1] = procureModelUserId;
+            one[2] = counts;
+            procureModelUserIdList.add(one);
+        }
+        if (!CollectionUtils.isEmpty(procureModelUserIdList)) {
+            goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ?  where id= ? and USE_COUNT- ? >=0", procureModelUserIdList);
+        }
+
 
         //閲囪喘銆佽皟鎷ㄣ�佸嚭搴撶瓑鐨勭墿鍝佸瀷鍙枫�怢_WH_PROCURE_MODEL銆戜腑 鏍规嵁璋冩嫧鍗�+鍨嬪彿 鏇存柊 鍦ㄧ敤鏁伴噺
         List<Object[]> procureModelParameterList = new ArrayList<>();
@@ -252,7 +286,7 @@
             inWarehouseFlow.setWarehouseId(inWarehouseId);
             inWarehouseFlow.setWarehouseName(inWarehouseName);
             inWarehouseFlow.setThisType(1);
-            inWarehouseFlow.setBusinessType(WhBusinessEnum.BAOFEI.getValue() + 0);
+            inWarehouseFlow.setBusinessType(WhBusinessEnum.BUMENTUIHUI.getValue() + 0);
             inWarehouseFlow.setBusinessFormId(lWhFormBackId);
             inWarehouseFlow.setOperatorId(userId);
             inWarehouseFlow.setOperatorName(nickName);
@@ -292,7 +326,8 @@
                 List<Map<String, Object>> scrappedAllGoodsList = new ArrayList<>();
                 synchronized (warehouseModelLockObj) {
                     //鏌ヨ鏈熷垵鏁伴噺
-                    goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, inWarehouseId, baseGoodsModelsId, 1, null);
+                    List<Long> warehouseIds = new ArrayList<>(Arrays.asList(inWarehouseId));
+                    goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseIds, baseGoodsModelsId, 1, null);
                     for (Map<String, Object> depFormScrappedModel : eachFfModelList) {
                         scrappedAllGoodsList.addAll((List<Map<String, Object>>) depFormScrappedModel.get("scrappedGoodsList"));
                     }
@@ -331,7 +366,7 @@
             return null;
         }
         // 鎵归噺鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撱�怢_WH_GOODS_RECORD銆�
-        lWhGoodsRecordService.insertBatch(flowRecordArrayList);
+        lWhGoodsRecordServiceImpl.insertBatch(flowRecordArrayList);
 
         return null;
     }

--
Gitblit v1.9.1