From b4c27cf4af545af1a240f56d34702d38a783062d Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期二, 12 十二月 2023 17:22:45 +0800
Subject: [PATCH] 添加分类重复验证

---
 consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java |   37 +++++++++++++++++++++++++++++++++----
 1 files changed, 33 insertions(+), 4 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 2316f69..d0239ea 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
@@ -3,7 +3,11 @@
 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.*;
+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.DepFormScrapped;
 import com.consum.model.po.LWarehouseFlow;
 import com.consum.model.po.LWhGoodsRecord;
@@ -41,7 +45,7 @@
     @Resource
     private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
     @Resource
-    private LWhGoodsRecordService lWhGoodsRecordService;
+    private LWhGoodsRecordService lWhGoodsRecordServiceImpl;
     @Resource
     private LWarehouseFlowService lWarehouseFlowService;
 
@@ -178,7 +182,7 @@
             return null;
         }
         // 鎵归噺鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撱�怢_WH_GOODS_RECORD銆�
-        lWhGoodsRecordService.insertBatch(lWhGoodsRecordList);
+        lWhGoodsRecordServiceImpl.insertBatch(lWhGoodsRecordList);
 
         // 鏇存柊鎶ュ簾鍗�
         depFormScrapped = new DepFormScrapped(lWhFormScrappedId);
@@ -199,6 +203,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<>();
@@ -221,7 +250,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