Commit e548d4454ebcd3e5c8ab80e25088a0121a4a0ec1

Authored by LesanOuO
1 parent 6317a4f3

fix: 优化代码逻辑

yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
... ... @@ -62,8 +62,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU
62 62 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
63 63 import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
64 64 import static cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_RETURN_FLAG;
65   -import static cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils.parseReasonRequire;
66   -import static cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils.parseSignEnable;
  65 +import static cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils.*;
67 66  
68 67 /**
69 68 * 流程任务实例 Service 实现类
... ... @@ -1197,17 +1196,8 @@ public class BpmTaskServiceImpl implements BpmTaskService {
1197 1196 log.error("[processTaskAssigned][taskId({}) 没有找到流程模型({})]", task.getId(), task.getProcessDefinitionId());
1198 1197 return;
1199 1198 }
1200   - // TODO @lesan:这里的逻辑,要不在 BpmnModelUtils 抽个方法???尽量收敛
1201   - FlowNode taskElement = (FlowNode) BpmnModelUtils.getFlowElementById(bpmnModel, task.getTaskDefinitionKey());
1202   - List<SequenceFlow> incomingFlows = taskElement.getIncomingFlows();
1203   - List<String> sourceTaskIds = new ArrayList<>();
1204   - // TODO @lesan:这种 CollUtil.isnotempty 简化
1205   - if (incomingFlows != null && !incomingFlows.isEmpty()) {
1206   - // TODO @lesan:这种,idea 一般会告警,可以处理掉哈。一切警告,皆是错误
1207   - incomingFlows.forEach(flow -> {
1208   - sourceTaskIds.add(flow.getSourceRef());
1209   - });
1210   - }
  1199 + List<String> sourceTaskIds = getElementIncomingFlows(getFlowElementById(bpmnModel, task.getTaskDefinitionKey()))
  1200 + .stream().map(SequenceFlow::getSourceRef).toList();
1211 1201 if (sameAssigneeQuery.taskDefinitionKeys(sourceTaskIds).count() > 0) {
1212 1202 getSelf().approveTask(Long.valueOf(task.getAssignee()), new BpmTaskApproveReqVO().setId(task.getId())
1213 1203 .setReason(BpmAutoApproveType.APPROVE_SEQUENT.getName()));
... ...