From 5f612ab2f67b2c6f6894c624a7780799526d566d Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期四, 05 十一月 2026 20:20:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_business_新高电力' into dev_business_新高电力

---
 yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
index 85ff097..a7f083f 100644
--- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
+++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
@@ -198,9 +198,13 @@
             processVariables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_START_USER_ID, loginUserId);
         }
         // 1.3 璇诲彇鍏跺畠鐩稿叧鏁版嵁
-        ProcessDefinition processDefinition = processDefinitionService.getProcessDefinition(
-                historicProcessInstance != null ? historicProcessInstance.getProcessDefinitionId()
-                        : reqVO.getProcessDefinitionId());
+        String processDefinitionId = historicProcessInstance != null
+                ? historicProcessInstance.getProcessDefinitionId() : reqVO.getProcessDefinitionId();
+        ProcessDefinition processDefinition = processDefinitionService.getProcessDefinition(processDefinitionId);
+        if (processDefinition == null) {
+            // 娴佺▼瀹氫箟涓嶅瓨鍦ㄦ椂杩斿洖鏄庣‘鐨勪笟鍔¢敊璇紝閬垮厤 NPE / Flowable 寮傚父鍙樻垚 500銆岀郴缁熷紓甯搞��
+            throw exception(ErrorCodeConstants.PROCESS_DEFINITION_NOT_EXISTS);
+        }
         BpmProcessDefinitionInfoDO processDefinitionInfo = processDefinitionService
                 .getProcessDefinitionInfo(processDefinition.getId());
         BpmnModel bpmnModel = processDefinitionService.getProcessDefinitionBpmnModel(processDefinition.getId());
@@ -772,6 +776,9 @@
         // 鑾峰緱娴佺▼瀹氫箟
         ProcessDefinition definition = processDefinitionService
                 .getProcessDefinition(createReqVO.getProcessDefinitionId());
+        if (definition == null) {
+            throw exception(ErrorCodeConstants.PROCESS_DEFINITION_NOT_EXISTS);
+        }
         // 鍙戣捣娴佺▼
         return createProcessInstance0(userId, definition, createReqVO.getVariables(), null,
                 createReqVO.getStartUserSelectAssignees());

--
Gitblit v1.9.3