From 20913c80c3f5fc8e533cb92b90e6f20bcd68e032 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 17:49:32 +0800
Subject: [PATCH] feat: 1、优化导入 2、部门物品台账查询对接

---
 consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java b/consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java
index 84a9f49..9e8a73d 100644
--- a/consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java
@@ -10,11 +10,14 @@
 import com.walker.infrastructure.utils.NumberGenerator;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -25,6 +28,7 @@
  * @Version 1.0
  **/
 @Service
+@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class LWhWarningCoreServiceImpl {
 
     @Resource
@@ -45,6 +49,7 @@
         if (baseModelIdList == null) {
             baseModelIdList = new ArrayList<>();
         }
+        sysInfo = sysInfo == null ? new FinSysTenantUser() : sysInfo;
         // 鑾峰彇鍒拌揪鍒伴槇鍊肩殑鐗╁搧
         List<Map<String, Object>> kuCunNotifyList = lWhWarningService.checkKuCun(warehouseType, warehouseId, baseModelIdList);
         //
@@ -53,6 +58,11 @@
             kuCunNormalModel(warehouseType, warehouseId, baseModelIdList);
             return;
         }
+        List<Long> allChangModelList = baseModelIdList.stream()
+                .distinct()
+                .collect(Collectors.toList());
+        baseModelIdList = allChangModelList;
+
         // 灏嗘暟鎹彃鍏ュ簱瀛橀璀︺�怶H_WARNING銆�
         BaseWarehouse baseWarehouses = baseWarehouseService.get(new BaseWarehouse(warehouseId));
 
@@ -105,8 +115,15 @@
 
     private String KU_CUN_NORMAL_MODEL = "update WH_WARNING set STATES=2 where WAREHOUSE_TYPE=? and BASE_WAREHOUSE_ID=?";
 
-    private int kuCunNormalModel(Short warehouseType, Long warehouseId, List<Long> baseModelIdList) {
-        if (CollectionUtils.isEmpty(baseModelIdList)) {
+    /**
+     *
+     * @param warehouseType
+     * @param warehouseId
+     * @param normalBaseModelIdList 搴撳瓨姝e父鐨�
+     * @return
+     */
+    private int kuCunNormalModel(Short warehouseType, Long warehouseId, List<Long> normalBaseModelIdList) {
+        if (CollectionUtils.isEmpty(normalBaseModelIdList)) {
             return 1;
         }
         ArrayList<Object> params = new ArrayList<>();
@@ -114,9 +131,8 @@
         params.add(warehouseId);
 
         StringBuilder sql = new StringBuilder(KU_CUN_NORMAL_MODEL);
-        if (!org.springframework.util.CollectionUtils.isEmpty(baseModelIdList)) {
-            sql.append(" and BASE_GOODS_MODELS_ID in(?)");
-            params.add(baseModelIdList);
+        if (!org.springframework.util.CollectionUtils.isEmpty(normalBaseModelIdList)) {
+            sql.append(" and BASE_GOODS_MODELS_ID in(").append( org.apache.commons.lang3.StringUtils.join(normalBaseModelIdList, ",")).append(")");
         }
         return lWhWarningService.update(sql.toString(), params.toArray());
     }

--
Gitblit v1.9.1