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

This commit is contained in:
YunaiV 2024-06-23 11:28:08 +08:00
parent 234df7bda1
commit 5519fdcd4c
6 changed files with 11 additions and 8 deletions

View File

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

View File

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

View File

@ -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<Map<String, String>> fieldsPermission;
@Schema(description = "通过比例", example = "100")
private Integer approveRatio; // 通过比例 当多人审批方式为多人会签(按通过比例) 需要设置
private Integer approveRatio; // 通过比例当多人审批方式为多人会签(按通过比例) 需要设置
/**
* 审批节点拒绝处理
@ -123,5 +123,4 @@ public class BpmSimpleModelNodeVO {
// TODO @芋艿 超时配置要支持指定时间点指定时间间隔
// TODO @芋艿条件建议可以固化的一些选项然后有个表达式兜底要支持
}

View File

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

View File

@ -56,7 +56,6 @@ public class BpmProcessInstanceCopyServiceImpl implements BpmProcessInstanceCopy
createProcessInstanceCopy(userIds, processInstanceId, task.getId(), task.getName());
}
// TODO @芋艿这里多加了一个 name
@Override
public void createProcessInstanceCopy(Collection<Long> userIds, String processInstanceId, String taskId, String taskName) {
// 1.1 校验流程实例存在

View File

@ -371,8 +371,10 @@ public class BpmTaskServiceImpl implements BpmTaskService {
}
// 4.2.1 更新其它正在运行的任务状态为取消需要过滤掉当前任务和被加签的任务
// TODO @jason如果过滤掉被加签的任务这些任务被对应的审批人看到是啥状态哈
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());
// 4.2.2 终止流程
Set<String> activityIds = convertSet(taskList, Task::getTaskDefinitionKey);