From 995e1f84b4d775a1f7b9d196bc680a58dcaa3c6d Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期一, 29 十二月 2025 17:47:59 +0800
Subject: [PATCH] 修改产品维护后端接口,限制产品的删除

---
 src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
index b93e14a..f810a2c 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.basic.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.dto.ProductDto;
 import com.ruoyi.basic.dto.ProductTreeDto;
@@ -12,6 +13,12 @@
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
+import com.ruoyi.sales.mapper.SalesLedgerMapper;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.SalesLedger;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
@@ -27,6 +34,10 @@
     private ProductMapper productMapper;
 
     private ProductModelMapper productModelMapper;
+    private final SalesLedgerProductMapper salesLedgerProductMapper;
+    private final SalesLedgerMapper salesLedgerMapper;
+    private final PurchaseLedgerMapper purchaseLedgerMapper;
+
 
     @Override
     public List<ProductTreeDto> selectProductList(ProductDto productDto) {
@@ -109,6 +120,21 @@
 
     @Override
     public int delProductByIds(Long[] ids) {
+        List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(new QueryWrapper<SalesLedgerProduct>()
+                .lambda().in(SalesLedgerProduct::getProductId, ids));
+        if (salesLedgerProducts != null && salesLedgerProducts.size() > 0) {
+            salesLedgerProducts.forEach(salesLedgerProduct -> {
+                Long salesLedgerId = salesLedgerProduct.getSalesLedgerId();
+                SalesLedger salesLedger = salesLedgerMapper.selectById(salesLedgerId);
+                if (salesLedger != null) {
+                    throw new RuntimeException("宸茬粡瀛樺湪璇ヤ骇鍝佺殑閿�鍞彴璐�");
+                }
+                PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(salesLedgerId);
+                if (purchaseLedger != null) {
+                    throw new RuntimeException("宸茬粡瀛樺湪璇ヤ骇鍝佺殑閲囪喘鍙拌处");
+                }
+            });
+        }
         // 1. 鍒犻櫎瀛愯〃 product_model 涓叧鑱旂殑鏁版嵁
         LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.in(ProductModel::getProductId, ids);

--
Gitblit v1.9.3