liyong
2026-04-25 20d3e1da6517ed5e55ae3613ccbbb01f1b9eda2e
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("请传入要删除的ID");
        }
        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));
    }