From defe1e1c3ade87de0a7990f565f08f93aeb2decc Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 08 十一月 2026 19:31:46 +0800
Subject: [PATCH] fix(bpm): 统一审批标题单号并收紧各模块提交校验

---
 yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 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 a4c41e0..b8e9371 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
@@ -5,6 +5,7 @@
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Assert;
+import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.*;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
@@ -844,10 +845,8 @@
         validateStartUserSelectAssignees(userId, definition, startUserSelectAssignees, variables);
 
         // 2. 鍒涘缓娴佺▼瀹炰緥
-        if (variables == null) {
-            variables = new HashMap<>();
-        }
-        FlowableUtils.filterProcessInstanceFormVariable(variables); // 杩囨护涓�涓嬶紝閬垮厤 ProcessInstance 绯荤粺绾х殑鍙橀噺琚崰鐢�
+        variables = FlowableUtils.filterProcessInstanceFormVariable(
+                variables == null ? new HashMap<>() : variables); // 澶嶅埗骞惰繃婊わ紝閬垮厤淇敼璋冪敤鏂圭殑鍙橀噺
         variables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_START_USER_ID, userId); // 璁剧疆娴佺▼鍙橀噺锛屽彂璧蜂汉 ID
         variables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_STATUS, // 娴佺▼瀹炰緥鐘舵�侊細瀹℃壒涓�
                 BpmProcessInstanceStatusEnum.RUNNING.getStatus());
@@ -914,6 +913,11 @@
         }
         BpmModelMetaInfoVO.TitleSetting titleSetting = definitionInfo.getTitleSetting();
         if (titleSetting == null || !BooleanUtil.isTrue(titleSetting.getEnable())) {
+            String businessNo = MapUtil.getStr(variables,
+                    BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_BUSINESS_NO);
+            if (StrUtil.isNotBlank(businessNo)) {
+                return definition.getName() + "-" + businessNo;
+            }
             return definition.getName();
         }
         AdminUserRespDTO user = adminUserApi.getUser(userId);

--
Gitblit v1.9.3