From 3ce8c1cfbf2b0a577c8fbb155128dc85c3857606 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 16 六月 2026 13:47:34 +0800
Subject: [PATCH] fix(approval): 修复审批实例创建中的业务ID和模板查询问题

---
 src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java       |    9 +++++++--
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java  |    9 +++++++--
 src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java     |   18 ++++++++++++++----
 src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java |    2 +-
 4 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
index 2a4f52a..b3654ba 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
@@ -565,7 +565,7 @@
     private void handleShippingApprovalFinished(ApprovalInstance instance, String status) {
         ShippingInfo shippingInfo = shippingInfoMapper.selectOne(
                 new LambdaQueryWrapper<ShippingInfo>()
-                        .eq(ShippingInfo::getId, instance.getTitle())
+                        .eq(ShippingInfo::getId, instance.getBusinessId())
                         .orderByDesc(ShippingInfo::getCreateTime)
                         .last("limit 1")
         );
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 6008e69..e423400 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -621,8 +621,13 @@
             return;
         }
         ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
-        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,5L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
-        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,5L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
+        ApprovalTemplate purchaseTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
+                .eq(ApprovalTemplate::getBusinessType, 5L)
+                .eq(ApprovalTemplate::getDeleted, 0)
+                .orderByDesc(ApprovalTemplate::getId)
+                .last("LIMIT 1"));
+        approvalInstance.setTemplateId(purchaseTemplate.getId());
+        approvalInstance.setTemplateName(purchaseTemplate.getTemplateName());
         approvalInstance.setBusinessId(purchaseLedger.getId());
         approvalInstance.setBusinessType(5L);
         approvalInstance.setCurrentLevel(1);
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 5e31cfa..ceeed16 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -105,8 +105,13 @@
         salesQuotationProductService.saveBatch(products);
         // 鎶ヤ环瀹℃壒
         ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
-        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
-        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
+        ApprovalTemplate quotationTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
+                .eq(ApprovalTemplate::getBusinessType, 6L)
+                .eq(ApprovalTemplate::getDeleted, 0)
+                .orderByDesc(ApprovalTemplate::getId)
+                .last("LIMIT 1"));
+        approvalInstance.setTemplateId(quotationTemplate.getId());
+        approvalInstance.setTemplateName(quotationTemplate.getTemplateName());
         approvalInstance.setBusinessId(salesQuotation.getId());
         approvalInstance.setBusinessType(6L);
         approvalInstance.setCurrentLevel(1);
@@ -151,8 +156,13 @@
         approvalInstanceService.lambdaUpdate().set(ApprovalInstance::getStatus,"REJECTED").eq(ApprovalInstance::getBusinessId,salesQuotation.getId()).eq(ApprovalInstance::getBusinessType,6L).update();
 
         ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
-        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
-        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
+        ApprovalTemplate reSubmitTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
+                .eq(ApprovalTemplate::getBusinessType, 6L)
+                .eq(ApprovalTemplate::getDeleted, 0)
+                .orderByDesc(ApprovalTemplate::getId)
+                .last("LIMIT 1"));
+        approvalInstance.setTemplateId(reSubmitTemplate.getId());
+        approvalInstance.setTemplateName(reSubmitTemplate.getTemplateName());
         approvalInstance.setBusinessId(salesQuotation.getId());
         approvalInstance.setBusinessType(6L);
         approvalInstance.setCurrentLevel(1);
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
index 15b56ea..721abad 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -180,8 +180,13 @@
         boolean save = this.add(req);
         // 鍙戣揣瀹℃壒
         ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
-        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
-        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
+        ApprovalTemplate shippingTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
+                .eq(ApprovalTemplate::getBusinessType, 7L)
+                .eq(ApprovalTemplate::getDeleted, 0)
+                .orderByDesc(ApprovalTemplate::getId)
+                .last("LIMIT 1"));
+        approvalInstance.setTemplateId(shippingTemplate.getId());
+        approvalInstance.setTemplateName(shippingTemplate.getTemplateName());
         approvalInstance.setBusinessId(req.getId());
         approvalInstance.setBusinessType(7L);
         approvalInstance.setCurrentLevel(1);

--
Gitblit v1.9.3