From 8a7418abe6b85858109a9705bdfccd745145e614 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 13 七月 2026 17:32:12 +0800
Subject: [PATCH] 采购删除导致审批报错

---
 src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 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 8d7477b..db6e0fc 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -112,7 +113,7 @@
                     // 閲囪喘瀹℃壒 - 鏌ヨ閲囪喘鍗曞彿
                     PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(vo.getBusinessId());
                     System.out.println("涓氬姟绫诲瀷锛�" + purchaseLedger.getPurchaseContractNumber());
-                    if (purchaseLedger != null) {
+                    if (ObjectUtils.isEmpty(purchaseLedger)) {
                         vo.setPurchaseContractNumber(purchaseLedger.getPurchaseContractNumber());
                     }
                 } else if (TypeEnums.QUOTATION_APPROVAL.getCode().equals(vo.getBusinessType())) {
@@ -745,10 +746,29 @@
 
         String title = StringUtils.hasText(instance.getTemplateName()) ? instance.getTemplateName() : "瀹℃壒鎻愰啋";
         String message = "瀹℃壒鍗曞彿 " + instance.getInstanceNo() + " 闇�瑕佹偍瀹℃壒";
-        String jumpPath = "/officeProcessAutomation/ApproveManage/approve-list?id=" + instance.getId();
+        String jumpPath = getJumpPathByBusinessType(instance.getBusinessType(), instance.getId());
         sysNoticeService.simpleNoticeByUser(title, message, approverIds, jumpPath);
     }
 
+    private String getJumpPathByBusinessType(Long businessType, Long instanceId) {
+        if (businessType == null) {
+            return "/collaborativeApproval/approve-list?id=" + instanceId;
+        }
+        if (TypeEnums.LEAVE_APPROVAL.getCode().equals(businessType)) {
+            return "/collaborativeApproval/AttendManage/leave-apply?id=" + instanceId;
+        }
+        if (TypeEnums.OVERTIME_APPROVAL.getCode().equals(businessType)) {
+            return "/collaborativeApproval/AttendManage/overtime-apply?id=" + instanceId;
+        }
+        if (TypeEnums.TRAVEL_REIMBURSEMENT_APPROVAL.getCode().equals(businessType)) {
+            return "/collaborativeApproval/ReimburseManage/travel-reimburse?id=" + instanceId;
+        }
+        if (TypeEnums.EXPENSE_APPROVAL.getCode().equals(businessType)) {
+            return "/collaborativeApproval/ReimburseManage/cost-reimburse?id=" + instanceId;
+        }
+        return "/collaborativeApproval/approve-list?id=" + instanceId;
+    }
+
     private void sendEnterpriseNewsNotice(Long newsId) {
         EnterpriseNews enterpriseNews = enterpriseNewsMapper.selectById(newsId);
         if (enterpriseNews == null) {

--
Gitblit v1.9.3