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 |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 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 9825b39..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;
@@ -10,8 +11,17 @@
 import com.ruoyi.basic.pojo.ProductModel;
 import com.ruoyi.basic.service.IProductService;
 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;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -24,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) {
@@ -48,6 +62,8 @@
         }
         return tree;
     }
+
+
 
     // 閫掑綊鏋勫缓瀛愯妭鐐�
     private List<ProductTreeDto> buildChildrenNodes(Long parentId) {
@@ -104,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