Commit a0ff1244e5b739c54de6a5c58d0e40109d6901a1

Authored by YunaiV
1 parent e99eb5c8

【代码评审】Bpm:更多设置-自定义标题

yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelMetaInfoVO.java
@@ -101,6 +101,7 @@ public class BpmModelMetaInfoVO { @@ -101,6 +101,7 @@ public class BpmModelMetaInfoVO {
101 101
102 } 102 }
103 103
  104 + // TODO @lesan:TitleSetting 会不会更好。因为 Custom 和 Setting 有点重叠
104 @Schema(description = "标题设置") 105 @Schema(description = "标题设置")
105 @Data 106 @Data
106 @Valid 107 @Valid
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/enums/BpmnVariableConstants.java
@@ -50,8 +50,11 @@ public class BpmnVariableConstants { @@ -50,8 +50,11 @@ public class BpmnVariableConstants {
50 * @see <a href="https://blog.csdn.net/weixin_42065235/article/details/126039993">Flowable/Activiti之SkipExpression 完成自动审批</a> 50 * @see <a href="https://blog.csdn.net/weixin_42065235/article/details/126039993">Flowable/Activiti之SkipExpression 完成自动审批</a>
51 */ 51 */
52 public static final String PROCESS_INSTANCE_SKIP_EXPRESSION_ENABLED = "_FLOWABLE_SKIP_EXPRESSION_ENABLED"; 52 public static final String PROCESS_INSTANCE_SKIP_EXPRESSION_ENABLED = "_FLOWABLE_SKIP_EXPRESSION_ENABLED";
  53 +
53 /** 54 /**
54 * 流程实例的变量 - 流程开始时间 55 * 流程实例的变量 - 流程开始时间
  56 + *
  57 + * 【非存储变量】用于部分需要 format 的场景,例如说:流程实例的自定义标题
55 */ 58 */
56 public static final String PROCESS_START_TIME = "PROCESS_START_TIME"; 59 public static final String PROCESS_START_TIME = "PROCESS_START_TIME";
57 /** 60 /**
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
@@ -621,6 +621,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService @@ -621,6 +621,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
621 BpmModelMetaInfoVO.CustomTitleSetting customTitleSetting = processDefinitionInfo.getCustomTitleSetting(); 621 BpmModelMetaInfoVO.CustomTitleSetting customTitleSetting = processDefinitionInfo.getCustomTitleSetting();
622 if (customTitleSetting != null && Boolean.TRUE.equals(customTitleSetting.getEnable())) { 622 if (customTitleSetting != null && Boolean.TRUE.equals(customTitleSetting.getEnable())) {
623 AdminUserRespDTO user = adminUserApi.getUser(userId); 623 AdminUserRespDTO user = adminUserApi.getUser(userId);
  624 + // TODO @lesan:new HashMap 会更好哈。clone 感觉反射,不一定合适。
624 Map<String, Object> cloneVariables = ObjectUtil.clone(variables); 625 Map<String, Object> cloneVariables = ObjectUtil.clone(variables);
625 cloneVariables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_START_USER_ID, user.getNickname()); 626 cloneVariables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_START_USER_ID, user.getNickname());
626 cloneVariables.put(BpmnVariableConstants.PROCESS_START_TIME, DateUtil.now()); 627 cloneVariables.put(BpmnVariableConstants.PROCESS_START_TIME, DateUtil.now());