From aeff817e9cd4cc67fc8df4255367a4e9624c4597 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 30 六月 2026 11:10:57 +0800
Subject: [PATCH] 删除报价和采购对应的全部审批流程
---
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 27 ++++++++++++++++++++++-----
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java | 29 +++++++++++++++++++----------
2 files changed, 41 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 56c12f7..ddb0118 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -759,13 +759,30 @@
for (Long id : ids) {
PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(id);
if(purchaseLedger != null){
- ApproveProcess one = approveProcessService.getOne(new LambdaQueryWrapper<ApproveProcess>()
+ List<ApprovalInstance> approvalInstances = approvalInstanceService.list(new LambdaQueryWrapper<ApprovalInstance>()
+ .eq(ApprovalInstance::getBusinessId, purchaseLedger.getId())
+ .eq(ApprovalInstance::getBusinessType, 5L)
+ .eq(ApprovalInstance::getDeleted, 0));
+ if (CollectionUtils.isNotEmpty(approvalInstances)) {
+ approvalInstanceService.delete(
+ approvalInstances.stream()
+ .map(ApprovalInstance::getId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList())
+ );
+ }
+
+ List<ApproveProcess> approveProcesses = approveProcessService.list(new LambdaQueryWrapper<ApproveProcess>()
.eq(ApproveProcess::getApproveType, 5)
.eq(ApproveProcess::getApproveDelete, 0)
- .eq(ApproveProcess::getApproveReason, purchaseLedger.getPurchaseContractNumber())
- .last("limit 1"));
- if (one != null) {
- approveProcessService.delByIds(Collections.singletonList(one.getId()));
+ .eq(ApproveProcess::getApproveReason, purchaseLedger.getPurchaseContractNumber()));
+ if (CollectionUtils.isNotEmpty(approveProcesses)) {
+ approveProcessService.delByIds(
+ approveProcesses.stream()
+ .map(ApproveProcess::getId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList())
+ );
}
}
}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
index 4503e4d..37d7261 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -194,22 +194,31 @@
if(salesQuotation==null) return false;
salesQuotationMapper.deleteById(id);
salesQuotationProductMapper.delete(new LambdaQueryWrapper<SalesQuotationProduct>().eq(SalesQuotationProduct::getSalesQuotationId, id));
- // 鍒犻櫎鎶ヤ环瀹℃壒瀹炰緥锛圓pprovalInstance锛�
- ApprovalInstance approvalInstance = approvalInstanceService.getOne(new LambdaQueryWrapper<ApprovalInstance>()
+ // 鍒犻櫎璇ユ姤浠峰搴旂殑鍏ㄩ儴瀹℃壒瀹炰緥锛堝彲鑳藉瓨鍦ㄥ娆℃彁浜�/閲嶅锛�
+ List<ApprovalInstance> approvalInstances = approvalInstanceService.list(new LambdaQueryWrapper<ApprovalInstance>()
.eq(ApprovalInstance::getBusinessId, id)
.eq(ApprovalInstance::getBusinessType, 6L)
- .eq(ApprovalInstance::getDeleted, 0)
- .last("LIMIT 1"));
- if(approvalInstance != null){
- approvalInstanceService.delete(Collections.singletonList(approvalInstance.getId()));
+ .eq(ApprovalInstance::getDeleted, 0));
+ if(!approvalInstances.isEmpty()){
+ approvalInstanceService.delete(
+ approvalInstances.stream()
+ .map(ApprovalInstance::getId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList())
+ );
}
- // 鍒犻櫎鎶ヤ环瀹℃壒娴佺▼锛圓pproveProcess锛�
- ApproveProcess one = approveProcessService.getOne(new LambdaQueryWrapper<ApproveProcess>()
+ // 鍒犻櫎璇ユ姤浠峰搴旂殑鍏ㄩ儴瀹℃壒娴佺▼锛堝悓涓�鎶ヤ环鍙兘鍙嶅鍙戣捣锛�
+ List<ApproveProcess> approveProcesses = approveProcessService.list(new LambdaQueryWrapper<ApproveProcess>()
.eq(ApproveProcess::getApproveType, 6)
.eq(ApproveProcess::getApproveDelete, IsDeleteEnum.NOT_DELETED)
.eq(ApproveProcess::getApproveReason, salesQuotation.getQuotationNo()));
- if(one != null){
- approveProcessService.delByIds(Collections.singletonList(one.getId()));
+ if(!approveProcesses.isEmpty()){
+ approveProcessService.delByIds(
+ approveProcesses.stream()
+ .map(ApproveProcess::getId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList())
+ );
}
return true;
}
--
Gitblit v1.9.3