mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-01 02:38:43 +08:00 
			
		
		
		
	【代码评审】BPM:review 快搭相关实现
This commit is contained in:
		| @@ -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", "不通过","系统自动不通过,原因是:加签任务不通过") | ||||||
|     ; |     ; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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("系统自动拒绝,原因:加签任务被拒绝") // 加签任务审批不通过,导致任务不通过 | ||||||
|     ; |     ; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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)  // 用于审批节点 |     @InEnum(BpmApproveMethodEnum.class) | ||||||
|     private Integer approveMethod; |     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 @芋艿:条件;建议可以固化的一些选项;然后有个表达式兜底;要支持 | ||||||
|  |  | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -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)) { | ||||||
|   | |||||||
| @@ -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 校验流程实例存在 | ||||||
|   | |||||||
| @@ -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); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV