buhuazhen
2026-04-24 e8d0bdce89ae0937763736f75868a43bd8690985
src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -19,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;
@@ -40,6 +42,9 @@
    private IProductModelService productModelService;
    @Autowired
    private ISalesLedgerProductService salesLedgerProductService;
    @Autowired
    private StockInventoryService stockInventoryService;
    /**
     * 查询产品
     */
@@ -85,12 +90,23 @@
        }
        List<ProductModel> productModels = productModelService.selectModelListByProductIds(Lists.newArrayList(ids));
        // 检查是否有销售商品记录关联该产品
        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("该产品存在销售/采购记录,不能删除");
        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));
    }