fix:解决校验流程画布数据,极端情况下无用户任务节点导致的异常问题

master
lizhixian 7 months ago
parent be608b26e6
commit d3db32b44e
  1. 4
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java

@ -250,6 +250,10 @@ public class BpmModelServiceImpl implements BpmModelService {
});
// 3. 校验第一个用户任务节点的规则类型是否为“审批人自选”,BPMN 设计器,校验第一个用户任务节点,SIMPLE 设计器,第一个节点固定为发起人所以校验第二个用户任务节点
UserTask firUserTask = CollUtil.get(userTasks, BpmModelTypeEnum.BPMN.getType().equals(type) ? 0 : 1);
// 4. 极端情况下无多个用户任务节点,比如发起人-抄送节点
if (firUserTask == null){
return;
}
Integer candidateStrategy = parseCandidateStrategy(firUserTask);
if (Objects.equals(candidateStrategy, BpmTaskCandidateStrategyEnum.APPROVE_USER_SELECT.getStrategy())) {
throw exception(MODEL_DEPLOY_FAIL_FIRST_USER_TASK_CANDIDATE_STRATEGY_ERROR, firUserTask.getName());

Loading…
Cancel
Save