From 854cbc47742ee83eb30062a12b9f3ed7c8ed0941 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期三, 20 十二月 2023 16:58:27 +0800
Subject: [PATCH] 盘点物品型号修改

---
 consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java |   62 +++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 19 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java b/consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java
index c01de5a..192da2b 100644
--- a/consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java
@@ -1,34 +1,32 @@
 package com.consum.base.core;
 
-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 org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
-
+import cn.hutool.core.convert.Convert;
 import com.consum.base.core.utils.IdUtil;
 import com.consum.base.core.utils.LockManage;
 import com.consum.base.service.GoodsBaseServiceImpl;
 import com.consum.base.service.LWarehouseFlowService;
-import com.consum.base.service.LWhGoodsRecordDetailsService;
 import com.consum.base.service.LWhGoodsRecordService;
 import com.consum.base.service.LWhGoodsService;
+import com.consum.base.service.impl.LWhGoodsRecordDetailsService;
 import com.consum.model.po.DepFormScrapped;
 import com.consum.model.po.LWarehouseFlow;
 import com.consum.model.po.LWhGoodsRecord;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.web.ResponseValue;
-
-import cn.hutool.core.convert.Convert;
+import java.util.Arrays;
 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;
 
 /**
  * @ClassName DepFormScrappedCoreServiceImpl
@@ -91,7 +89,7 @@
         Map<String, Integer> procureModelMap = new HashMap<>();
 
         for (Object key : groupByModelIdMap.keySet()) {
-            Long modelTotalPrice = 0l;
+            Long modelTotalPrice = 0L;
             //瑕佹姤搴熺殑鎬绘暟閲�
             int modelTotalNum = 0;
 
@@ -121,7 +119,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");
@@ -207,6 +206,31 @@
         }
         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<>();
         for (Map.Entry<String, Integer> entry : procureModelMap.entrySet()) {
@@ -228,7 +252,7 @@
             sb.append(modelUseingNum).append(" >=0");
             goodsBaseService.update(sb.toString());
         }
-//        goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", parameterList);
+//        goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", procureModelParameterList);
         //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉�
         //lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime);
         return null;

--
Gitblit v1.9.1