From 64c5103ed52d6c07a3abaaf8cc62a2b5b7b4d249 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 17 四月 2026 13:08:13 +0800
Subject: [PATCH] fix: 其他金额被销售台账引用时,删除做限制提示

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessServiceImpl.java |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessServiceImpl.java
index 62cc2ba..ba09b0a 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessServiceImpl.java
@@ -2,11 +2,16 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.sales.mapper.SalesLedgerProductProcessBindMapper;
 import com.ruoyi.sales.pojo.SalesLedgerProductProcess;
 import com.ruoyi.sales.mapper.SalesLedgerProductProcessMapper;
+import com.ruoyi.sales.pojo.SalesLedgerProductProcessBind;
 import com.ruoyi.sales.service.ISalesLedgerProductProcessService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 /**
@@ -20,6 +25,9 @@
 @Service
 public class SalesLedgerProductProcessServiceImpl extends ServiceImpl<SalesLedgerProductProcessMapper, SalesLedgerProductProcess> implements ISalesLedgerProductProcessService {
 
+    @Autowired
+    private SalesLedgerProductProcessBindMapper salesLedgerProductProcessBindMapper;
+
     @Override
     public Page<SalesLedgerProductProcess> salesLedgerProductProcessList(Page<SalesLedgerProductProcess> page, String name) {
         LambdaQueryWrapper<SalesLedgerProductProcess> wrapper = new LambdaQueryWrapper<>();
@@ -30,6 +38,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void addProcess(SalesLedgerProductProcess process) {
         checkDuplicate(process.getProcessName(), null, process.getProcessName());
         this.save(process);
@@ -40,13 +49,28 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void updateProcess(SalesLedgerProductProcess process) {
         checkDuplicate(process.getProcessName(), process.getId(), process.getProcessName());
         this.updateById(process);
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void deleteProcess(Integer id) {
+        if (id == null) {
+            throw new ServiceException("鍒犻櫎澶辫触,鍒犻櫎鏁版嵁涓嶈兘涓虹┖");
+        }
+        SalesLedgerProductProcess salesLedgerProductProcess = baseMapper.selectById(id);
+        if (salesLedgerProductProcess == null) {
+            throw new ServiceException("鍒犻櫎澶辫触,璇ラ澶栧姞宸ラ渶姹備笉瀛樺湪");
+        }
+        //  鏌ョ湅鏄惁琚紩鐢�
+        Long selectedCount = salesLedgerProductProcessBindMapper.selectCount(new LambdaQueryWrapper<SalesLedgerProductProcessBind>().eq(SalesLedgerProductProcessBind::getSalesLedgerProductProcessId, salesLedgerProductProcess.getId()));
+        if (selectedCount > 0) {
+            throw new ServiceException("鍒犻櫎澶辫触,璇ラ澶栧姞宸ュ凡琚紩鐢�,绂佹鍒犻櫎");
+        }
+
         this.removeById(id);
     }
 

--
Gitblit v1.9.3