From cf3482e6a4d40713cc09d107f11092c8db2e245a Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期三, 27 五月 2026 17:18:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津_阳光彩印' into dev_天津_阳光彩印

---
 src/main/java/com/ruoyi/basic/controller/ProductController.java |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/controller/ProductController.java b/src/main/java/com/ruoyi/basic/controller/ProductController.java
index 252ab4d..7ed56c2 100644
--- a/src/main/java/com/ruoyi/basic/controller/ProductController.java
+++ b/src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
 import com.ruoyi.basic.dto.ProductDto;
 import com.ruoyi.basic.dto.ProductModelDto;
 import com.ruoyi.basic.dto.ProductModelExportDto;
@@ -18,6 +19,8 @@
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.service.ISalesLedgerProductService;
 import com.ruoyi.sales.service.ISalesLedgerService;
+import com.ruoyi.stock.pojo.StockInventory;
+import com.ruoyi.stock.service.StockInventoryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -27,6 +30,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @RestController
 @AllArgsConstructor
@@ -38,6 +42,9 @@
     private IProductModelService productModelService;
     @Autowired
     private ISalesLedgerProductService salesLedgerProductService;
+    @Autowired
+    private StockInventoryService stockInventoryService;
+
     /**
      * 鏌ヨ浜у搧
      */
@@ -81,13 +88,25 @@
         if (ids == null || ids.length == 0) {
             return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
         }
+        List<ProductModel> productModels = productModelService.selectModelListByProductIds(Lists.newArrayList(ids));
         // 妫�鏌ユ槸鍚︽湁閿�鍞晢鍝佽褰曞叧鑱旇浜у搧
-        LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.in(SalesLedgerProduct::getProductId, ids);
-        List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper);
-        if (salesLedgerProductList.size() > 0) {
-            return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄩ攢鍞�/閲囪喘璁板綍锛屼笉鑳藉垹闄�");
+        if (!productModels.isEmpty()) {
+            LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.in(SalesLedgerProduct::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList()));
+            List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper);
+            if (!salesLedgerProductList.isEmpty()) {
+                return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄩ攢鍞�/閲囪喘璁板綍锛屼笉鑳藉垹闄�");
+            }
+            LambdaQueryWrapper<StockInventory> inventoryLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            inventoryLambdaQueryWrapper.in(StockInventory::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList()));
+
+            List<StockInventory> list = stockInventoryService.list(inventoryLambdaQueryWrapper);
+            if (!list.isEmpty()) {
+                return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄥ簱瀛樿褰曪紝涓嶈兘鍒犻櫎");
+            }
+            productModelService.removeBatchByIds(productModels);
         }
+
         return toAjax(productService.delProductByIds(ids));
     }
 

--
Gitblit v1.9.3