From 14c8b591d342f0ce764204c71c8a8d36a43924d9 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 17 Aug 2024 22:57:44 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E3=80=91=E5=B7=A5=E4=BD=9C=E6=B5=81=EF=BC=9A=E6=8A=84=E9=80=81?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E7=8E=B0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/model/simple/BpmSimpleModelNodeVO.java | 17 +++++++++-------- ...BpmTaskCandidateDeptLeaderMultiStrategy.java | 6 +----- .../flowable/core/util/SimpleModelUtils.java | 2 +- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java index d68a5d581..e444085b4 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java @@ -31,8 +31,7 @@ public class BpmSimpleModelNodeVO { @Schema(description = "模型节点名称", example = "领导审批") private String name; - // TODO @jason:要不改成 placeholder 和一般 Element-Plus 组件一致。占位符,用于展示。@芋艿。这个不是 placeholder 占位符的含义。节点配置后。节点展示的内容,不知道取什么名字好??? - // TODO @jason:【回复】占位文本(showText)是指当一个文本框没有被 focus 的时候显示的是提示文字,当他被点击之后就显示空白。。。虽然不是完全精准,但是 placeholder 相对正式点~ + // TODO @jason:和 gpt 大模型对了下这个字段的命名,貌似叫 displayText 合适点。可以等最后我们全局替换下。(优先级:低) @Schema(description = "节点展示内容", example = "指定成员: 芋道源码") private String showText; @@ -43,7 +42,7 @@ public class BpmSimpleModelNodeVO { private List conditionNodes; // 补充说明:有且仅有条件、并行、包容等分支会使用 @Schema(description = "节点的属性") - private Map attributes; // TODO @jason:建议是字段分拆下;类似说: + private Map attributes; // TODO @jason:这个字段,目前只有条件表达式使用;是不是搞的更巨像。TODO @芋艿 // TODO @jason:看看是不是可以简化;@芋艿: 暂时先放着。不知道后面是否会用到 /** @@ -95,8 +94,8 @@ public class BpmSimpleModelNodeVO { */ private AssignEmptyHandler assignEmptyHandler; - @Data @Schema(description = "审批节点拒绝处理策略") + @Data public static class RejectHandler { @Schema(description = "拒绝处理类型", example = "1") @@ -107,9 +106,9 @@ public class BpmSimpleModelNodeVO { private String returnNodeId; } - @Data @Schema(description = "审批节点超时处理策略") @Valid + @Data public static class TimeoutHandler { @Schema(description = "是否开启超时处理", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") @@ -130,8 +129,8 @@ public class BpmSimpleModelNodeVO { } - @Data @Schema(description = "空处理策略") + @Data @Valid public static class AssignEmptyHandler { @@ -145,12 +144,14 @@ public class BpmSimpleModelNodeVO { } - @Data @Schema(description = "操作按钮设置") + @Data + @Valid public static class OperationButtonSetting { + // TODO @jason:是不是按钮的标识?id 会和数据库的 id 自增有点模糊,key 标识会更合理一点点哈。 @Schema(description = "按钮 Id", example = "1") - private Integer id; + private Integer id; @Schema(description = "显示名称", example = "审批") private String displayName; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/strategy/BpmTaskCandidateDeptLeaderMultiStrategy.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/strategy/BpmTaskCandidateDeptLeaderMultiStrategy.java index c0bbef98a..ce4ec5225 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/strategy/BpmTaskCandidateDeptLeaderMultiStrategy.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/strategy/BpmTaskCandidateDeptLeaderMultiStrategy.java @@ -1,6 +1,5 @@ package cn.iocoder.yudao.module.bpm.framework.flowable.core.candidate.strategy; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.iocoder.yudao.framework.common.util.string.StrUtils; import cn.iocoder.yudao.module.bpm.framework.flowable.core.candidate.BpmTaskCandidateStrategy; @@ -9,7 +8,6 @@ import cn.iocoder.yudao.module.system.api.dept.DeptApi; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.stereotype.Component; -import java.util.List; import java.util.Set; /** @@ -31,7 +29,7 @@ public class BpmTaskCandidateDeptLeaderMultiStrategy extends BpmTaskCandidateAbs @Override public void validateParam(String param) { - // 参数格式: | 分隔 。左边为部门(多个部门用 , 分隔)。 右边为部门层级 + // 参数格式: | 分隔:1)左边为部门(多个部门用 , 分隔)。2)右边为部门层级 String[] params = param.split("\\|"); Assert.isTrue(params.length == 2, "参数格式不匹配"); deptApi.validateDeptList(StrUtils.splitToLong(params[0], ",")); @@ -40,8 +38,6 @@ public class BpmTaskCandidateDeptLeaderMultiStrategy extends BpmTaskCandidateAbs @Override public Set calculateUsers(DelegateExecution execution, String param) { - // 参数格式: | 分隔 。左边为部门(多个部门用 , 分隔)。 右边为部门层级 - // 参数格式: ,分割。前面的部门Id. 可以为多个。 最后一个为部门层级 String[] params = param.split("\\|"); return getMultiLevelDeptLeaderIds(StrUtils.splitToLong(params[0], ","), Integer.valueOf(params[1])); } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java index 4f09b7bbc..5beb0071d 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java @@ -454,7 +454,7 @@ public class SimpleModelUtils { addFormFieldsPermission(node.getFieldsPermission(), userTask); // 添加操作按钮配置属性元素 addButtonsSetting(node.getButtonsSetting(), userTask); - // 处理多实例 + // 处理多实例(审批方式) processMultiInstanceLoopCharacteristics(node.getApproveMethod(), node.getApproveRatio(), userTask); // 添加任务被拒绝的处理元素 addTaskRejectElements(node.getRejectHandler(), userTask);