Эх сурвалжийг харах

【代码评审】BPM:review 快搭相关实现

YunaiV 1 жил өмнө
parent
commit
5519fdcd4c

+ 1 - 0
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", "转派", "[{}]将任务转派给[{}],转派理由为:{}"),
     TRANSFER("7", "转派", "[{}]将任务转派给[{}],转派理由为:{}"),
     ADD_SIGN("8", "加签", "[{}]{}给了[{}],理由为:{}"),
     ADD_SIGN("8", "加签", "[{}]{}给了[{}],理由为:{}"),
     SUB_SIGN("9", "减签", "[{}]操作了【减签】,审批人[{}]的任务被取消"),
     SUB_SIGN("9", "减签", "[{}]操作了【减签】,审批人[{}]的任务被取消"),
+    // TODO @芋艿:这个枚举状态,需要关注下!
     REJECT_BY_ADD_SIGN_TASK_REJECT("10", "不通过","系统自动不通过,原因是:加签任务不通过")
     REJECT_BY_ADD_SIGN_TASK_REJECT("10", "不通过","系统自动不通过,原因是:加签任务不通过")
     ;
     ;
 
 

+ 1 - 0
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)流程实例被取消,无需审批该任务;等等
     CANCEL_BY_SYSTEM("系统自动取消"), // 场景:非常多,比如说:1)多任务审批已经满足条件,无需审批该任务;2)流程实例被取消,无需审批该任务;等等
+    // TODO @芋艿:这个枚举状态,需要关注下!
     AUTO_REJECT_BY_ADD_SIGN_REJECT("系统自动拒绝,原因:加签任务被拒绝") // 加签任务审批不通过,导致任务不通过
     AUTO_REJECT_BY_ADD_SIGN_REJECT("系统自动拒绝,原因:加签任务被拒绝") // 加签任务审批不通过,导致任务不通过
     ;
     ;
 
 

+ 5 - 6
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")
     @Schema(description = "候选人策略", example = "30")
     @InEnum(BpmTaskCandidateStrategyEnum.class)
     @InEnum(BpmTaskCandidateStrategyEnum.class)
-    private Integer candidateStrategy;  // 用于审批,抄送节点
+    private Integer candidateStrategy; // 用于审批,抄送节点
 
 
     @Schema(description = "候选人参数")
     @Schema(description = "候选人参数")
-    private String candidateParam;    // 用于审批,抄送节点
+    private String candidateParam; // 用于审批,抄送节点
 
 
     @Schema(description = "多人审批方式", example = "1")
     @Schema(description = "多人审批方式", example = "1")
-    @InEnum(BpmApproveMethodEnum.class)  // 用于审批节点
-    private Integer approveMethod;
+    @InEnum(BpmApproveMethodEnum.class)
+    private Integer approveMethod; // 用于审批节点
 
 
     @Schema(description = "表单权限", example = "[]")
     @Schema(description = "表单权限", example = "[]")
     private List<Map<String, String>> fieldsPermission;
     private List<Map<String, String>> fieldsPermission;
 
 
     @Schema(description = "通过比例", example = "100")
     @Schema(description = "通过比例", example = "100")
-    private Integer approveRatio;  // 通过比例  当多人审批方式为:多人会签(按通过比例) 需要设置
+    private Integer approveRatio; // 通过比例,当多人审批方式为:多人会签(按通过比例) 需要设置
 
 
     /**
     /**
      * 审批节点拒绝处理
      * 审批节点拒绝处理
@@ -123,5 +123,4 @@ public class BpmSimpleModelNodeVO {
     // TODO @芋艿:⑨ 超时配置;要支持指定时间点、指定时间间隔;
     // TODO @芋艿:⑨ 超时配置;要支持指定时间点、指定时间间隔;
     // TODO @芋艿:条件;建议可以固化的一些选项;然后有个表达式兜底;要支持
     // TODO @芋艿:条件;建议可以固化的一些选项;然后有个表达式兜底;要支持
 
 
-
 }
 }

+ 1 - 0
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
     @Override
     protected void activityCancelled(FlowableActivityCancelledEvent event) {
     protected void activityCancelled(FlowableActivityCancelledEvent event) {
+        // TODO @jason:如果用户主动取消,可能需要考虑这个
         // @芋艿。 这里是不是就可以不要了, 取消的任务状态,在rejectTask 里面做了, 如果在 updateTaskStatusWhenCanceled 里面修改会报错。
         // @芋艿。 这里是不是就可以不要了, 取消的任务状态,在rejectTask 里面做了, 如果在 updateTaskStatusWhenCanceled 里面修改会报错。
 //        List<HistoricActivityInstance> activityList = activityService.getHistoricActivityListByExecutionId(event.getExecutionId());
 //        List<HistoricActivityInstance> activityList = activityService.getHistoricActivityListByExecutionId(event.getExecutionId());
 //        if (CollUtil.isEmpty(activityList)) {
 //        if (CollUtil.isEmpty(activityList)) {

+ 0 - 1
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());
         createProcessInstanceCopy(userIds, processInstanceId, task.getId(), task.getName());
     }
     }
 
 
-    // TODO @芋艿:这里多加了一个 name;
     @Override
     @Override
     public void createProcessInstanceCopy(Collection<Long> userIds, String processInstanceId, String taskId, String taskName) {
     public void createProcessInstanceCopy(Collection<Long> userIds, String processInstanceId, String taskId, String taskName) {
         // 1.1 校验流程实例存在
         // 1.1 校验流程实例存在

+ 3 - 1
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 更新其它正在运行的任务状态为取消。需要过滤掉当前任务和被加签的任务
         // 4.2.1 更新其它正在运行的任务状态为取消。需要过滤掉当前任务和被加签的任务
+        // TODO @jason:如果过滤掉被加签的任务,这些任务被对应的审批人看到是啥状态哈?
         List<Task> taskList = getRunningTaskListByProcessInstanceId(instance.getProcessInstanceId(), false, null, null);
         List<Task> 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());
                 reqVO.getReason());
         // 4.2.2 终止流程
         // 4.2.2 终止流程
         Set<String> activityIds = convertSet(taskList, Task::getTaskDefinitionKey);
         Set<String> activityIds = convertSet(taskList, Task::getTaskDefinitionKey);