From 5519fdcd4cbc67c0c458de801b727bf06ebf2fbf Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 23 Jun 2024 11:28:08 +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=91BPM=EF=BC=9Areview=20=E5=BF=AB=E6=90=AD=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/bpm/enums/task/BpmCommentTypeEnum.java | 1 + .../module/bpm/enums/task/BpmDeleteReasonEnum.java | 1 + .../vo/model/simple/BpmSimpleModelNodeVO.java | 11 +++++------ .../flowable/core/listener/BpmTaskEventListener.java | 1 + .../task/BpmProcessInstanceCopyServiceImpl.java | 1 - .../module/bpm/service/task/BpmTaskServiceImpl.java | 4 +++- 6 files changed, 11 insertions(+), 8 deletions(-) diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmCommentTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmCommentTypeEnum.java index f0a607c5a..498b601c2 100644 --- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmCommentTypeEnum.java +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmCommentTypeEnum.java @@ -22,6 +22,7 @@ public enum BpmCommentTypeEnum { TRANSFER("7", "转派", "[{}]将任务转派给[{}],转派理由为:{}"), ADD_SIGN("8", "加签", "[{}]{}给了[{}],理由为:{}"), SUB_SIGN("9", "减签", "[{}]操作了【减签】,审批人[{}]的任务被取消"), + // TODO @芋艿:这个枚举状态,需要关注下! REJECT_BY_ADD_SIGN_TASK_REJECT("10", "不通过","系统自动不通过,原因是:加签任务不通过") ; diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmDeleteReasonEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmDeleteReasonEnum.java index fb02d6d65..1c2382c79 100644 --- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmDeleteReasonEnum.java +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmDeleteReasonEnum.java @@ -22,6 +22,7 @@ public enum BpmDeleteReasonEnum { // ========== 流程任务的独有原因 ========== CANCEL_BY_SYSTEM("系统自动取消"), // 场景:非常多,比如说:1)多任务审批已经满足条件,无需审批该任务;2)流程实例被取消,无需审批该任务;等等 + // TODO @芋艿:这个枚举状态,需要关注下! AUTO_REJECT_BY_ADD_SIGN_REJECT("系统自动拒绝,原因:加签任务被拒绝") // 加签任务审批不通过,导致任务不通过 ; 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 8248d5658..d0857c13d 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 @@ -56,20 +56,20 @@ public class BpmSimpleModelNodeVO { @Schema(description = "候选人策略", example = "30") @InEnum(BpmTaskCandidateStrategyEnum.class) - private Integer candidateStrategy; // 用于审批,抄送节点 + private Integer candidateStrategy; // 用于审批,抄送节点 @Schema(description = "候选人参数") - private String candidateParam; // 用于审批,抄送节点 + private String candidateParam; // 用于审批,抄送节点 @Schema(description = "多人审批方式", example = "1") - @InEnum(BpmApproveMethodEnum.class) // 用于审批节点 - private Integer approveMethod; + @InEnum(BpmApproveMethodEnum.class) + private Integer approveMethod; // 用于审批节点 @Schema(description = "表单权限", example = "[]") private List> fieldsPermission; @Schema(description = "通过比例", example = "100") - private Integer approveRatio; // 通过比例 当多人审批方式为:多人会签(按通过比例) 需要设置 + private Integer approveRatio; // 通过比例,当多人审批方式为:多人会签(按通过比例) 需要设置 /** * 审批节点拒绝处理 @@ -123,5 +123,4 @@ public class BpmSimpleModelNodeVO { // TODO @芋艿:⑨ 超时配置;要支持指定时间点、指定时间间隔; // TODO @芋艿:条件;建议可以固化的一些选项;然后有个表达式兜底;要支持 - } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java index 38c9bd2c4..a8669bd3e 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java @@ -54,6 +54,7 @@ public class BpmTaskEventListener extends AbstractFlowableEngineEventListener { @Override protected void activityCancelled(FlowableActivityCancelledEvent event) { + // TODO @jason:如果用户主动取消,可能需要考虑这个 // @芋艿。 这里是不是就可以不要了, 取消的任务状态,在rejectTask 里面做了, 如果在 updateTaskStatusWhenCanceled 里面修改会报错。 // List activityList = activityService.getHistoricActivityListByExecutionId(event.getExecutionId()); // if (CollUtil.isEmpty(activityList)) { diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceCopyServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceCopyServiceImpl.java index 1edbd39a7..2b110d11d 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceCopyServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceCopyServiceImpl.java @@ -56,7 +56,6 @@ public class BpmProcessInstanceCopyServiceImpl implements BpmProcessInstanceCopy createProcessInstanceCopy(userIds, processInstanceId, task.getId(), task.getName()); } - // TODO @芋艿:这里多加了一个 name; @Override public void createProcessInstanceCopy(Collection userIds, String processInstanceId, String taskId, String taskName) { // 1.1 校验流程实例存在 diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java index 53611f99e..e459844a9 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java @@ -371,8 +371,10 @@ public class BpmTaskServiceImpl implements BpmTaskService { } // 4.2.1 更新其它正在运行的任务状态为取消。需要过滤掉当前任务和被加签的任务 + // TODO @jason:如果过滤掉被加签的任务,这些任务被对应的审批人看到是啥状态哈? List taskList = getRunningTaskListByProcessInstanceId(instance.getProcessInstanceId(), false, null, null); - updateTaskStatusWhenCanceled(CollectionUtils.filterList(taskList, item -> !item.getId().equals(task.getId()) && !item.getId().equals(task.getParentTaskId())), + updateTaskStatusWhenCanceled( + CollectionUtils.filterList(taskList, item -> !item.getId().equals(task.getId()) && !item.getId().equals(task.getParentTaskId())), reqVO.getReason()); // 4.2.2 终止流程 Set activityIds = convertSet(taskList, Task::getTaskDefinitionKey);