Commit ead8e94deb554e19bf99a53237afff23b20ab39f
1 parent
672a5ef5
review: 代码审查
Showing
1 changed file
with
25 additions
and
25 deletions
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
| @@ -224,7 +224,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | @@ -224,7 +224,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | ||
| 224 | List<ActivityNode> simulateActivityNodes = getSimulateApproveNodeList(startUserId, bpmnModel, | 224 | List<ActivityNode> simulateActivityNodes = getSimulateApproveNodeList(startUserId, bpmnModel, |
| 225 | processDefinitionInfo, | 225 | processDefinitionInfo, |
| 226 | processVariables, activities); | 226 | processVariables, activities); |
| 227 | - // 3.3 如果时发起动作,activityId为开始节点,不校验审批人自选节点 | 227 | + // 3.3 如果是发起动作,activityId为开始节点,不校验审批人自选节点 |
| 228 | if (ObjUtil.isNotNull(reqVO.getActivityId()) && ObjUtil.equals(reqVO.getActivityId(),BpmnModelConstants.START_USER_NODE_ID)){ | 228 | if (ObjUtil.isNotNull(reqVO.getActivityId()) && ObjUtil.equals(reqVO.getActivityId(),BpmnModelConstants.START_USER_NODE_ID)){ |
| 229 | simulateActivityNodes.removeIf(node -> BpmTaskCandidateStrategyEnum.APPROVE_USER_SELECT.getStrategy().equals(node.getCandidateStrategy())); | 229 | simulateActivityNodes.removeIf(node -> BpmTaskCandidateStrategyEnum.APPROVE_USER_SELECT.getStrategy().equals(node.getCandidateStrategy())); |
| 230 | } | 230 | } |
| @@ -360,15 +360,15 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | @@ -360,15 +360,15 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | ||
| 360 | * 主要是,拼接审批人的用户信息、部门信息 | 360 | * 主要是,拼接审批人的用户信息、部门信息 |
| 361 | */ | 361 | */ |
| 362 | private BpmApprovalDetailRespVO buildApprovalDetail(BpmApprovalDetailReqVO reqVO, | 362 | private BpmApprovalDetailRespVO buildApprovalDetail(BpmApprovalDetailReqVO reqVO, |
| 363 | - BpmnModel bpmnModel, | ||
| 364 | - ProcessDefinition processDefinition, | ||
| 365 | - BpmProcessDefinitionInfoDO processDefinitionInfo, | ||
| 366 | - HistoricProcessInstance processInstance, | ||
| 367 | - Integer processInstanceStatus, | ||
| 368 | - List<ActivityNode> endApprovalNodeInfos, | ||
| 369 | - List<ActivityNode> runningApprovalNodeInfos, | ||
| 370 | - List<ActivityNode> simulateApprovalNodeInfos, | ||
| 371 | - BpmTaskRespVO todoTask) { | 363 | + BpmnModel bpmnModel, |
| 364 | + ProcessDefinition processDefinition, | ||
| 365 | + BpmProcessDefinitionInfoDO processDefinitionInfo, | ||
| 366 | + HistoricProcessInstance processInstance, | ||
| 367 | + Integer processInstanceStatus, | ||
| 368 | + List<ActivityNode> endApprovalNodeInfos, | ||
| 369 | + List<ActivityNode> runningApprovalNodeInfos, | ||
| 370 | + List<ActivityNode> simulateApprovalNodeInfos, | ||
| 371 | + BpmTaskRespVO todoTask) { | ||
| 372 | // 1. 获取所有需要读取用户信息的 userIds | 372 | // 1. 获取所有需要读取用户信息的 userIds |
| 373 | List<ActivityNode> approveNodes = newArrayList( | 373 | List<ActivityNode> approveNodes = newArrayList( |
| 374 | asList(endApprovalNodeInfos, runningApprovalNodeInfos, simulateApprovalNodeInfos)); | 374 | asList(endApprovalNodeInfos, runningApprovalNodeInfos, simulateApprovalNodeInfos)); |
| @@ -390,9 +390,9 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | @@ -390,9 +390,9 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | ||
| 390 | * 获得【已结束】的活动节点们 | 390 | * 获得【已结束】的活动节点们 |
| 391 | */ | 391 | */ |
| 392 | private List<ActivityNode> getEndActivityNodeList(Long startUserId, BpmnModel bpmnModel, | 392 | private List<ActivityNode> getEndActivityNodeList(Long startUserId, BpmnModel bpmnModel, |
| 393 | - BpmProcessDefinitionInfoDO processDefinitionInfo, | ||
| 394 | - HistoricProcessInstance historicProcessInstance, Integer processInstanceStatus, | ||
| 395 | - List<HistoricActivityInstance> activities, List<HistoricTaskInstance> tasks) { | 393 | + BpmProcessDefinitionInfoDO processDefinitionInfo, |
| 394 | + HistoricProcessInstance historicProcessInstance, Integer processInstanceStatus, | ||
| 395 | + List<HistoricActivityInstance> activities, List<HistoricTaskInstance> tasks) { | ||
| 396 | // 遍历 tasks 列表,只处理已结束的 UserTask | 396 | // 遍历 tasks 列表,只处理已结束的 UserTask |
| 397 | // 为什么不通过 activities 呢?因为,加签场景下,它只存在于 tasks,没有 activities,导致如果遍历 activities | 397 | // 为什么不通过 activities 呢?因为,加签场景下,它只存在于 tasks,没有 activities,导致如果遍历 activities |
| 398 | // 的话,它无法成为一个节点 | 398 | // 的话,它无法成为一个节点 |
| @@ -460,11 +460,11 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | @@ -460,11 +460,11 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | ||
| 460 | * 获得【进行中】的活动节点们 | 460 | * 获得【进行中】的活动节点们 |
| 461 | */ | 461 | */ |
| 462 | private List<ActivityNode> getRunApproveNodeList(Long startUserId, | 462 | private List<ActivityNode> getRunApproveNodeList(Long startUserId, |
| 463 | - BpmnModel bpmnModel, | ||
| 464 | - ProcessDefinition processDefinition, | ||
| 465 | - Map<String, Object> processVariables, | ||
| 466 | - List<HistoricActivityInstance> activities, | ||
| 467 | - List<HistoricTaskInstance> tasks) { | 463 | + BpmnModel bpmnModel, |
| 464 | + ProcessDefinition processDefinition, | ||
| 465 | + Map<String, Object> processVariables, | ||
| 466 | + List<HistoricActivityInstance> activities, | ||
| 467 | + List<HistoricTaskInstance> tasks) { | ||
| 468 | // 构建运行中的任务、子流程,基于 activityId 分组 | 468 | // 构建运行中的任务、子流程,基于 activityId 分组 |
| 469 | List<HistoricActivityInstance> runActivities = filterList(activities, activity -> activity.getEndTime() == null | 469 | List<HistoricActivityInstance> runActivities = filterList(activities, activity -> activity.getEndTime() == null |
| 470 | && (StrUtil.equalsAny(activity.getActivityType(), ELEMENT_TASK_USER, ELEMENT_CALL_ACTIVITY))); | 470 | && (StrUtil.equalsAny(activity.getActivityType(), ELEMENT_TASK_USER, ELEMENT_CALL_ACTIVITY))); |
| @@ -525,9 +525,9 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | @@ -525,9 +525,9 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | ||
| 525 | * 获得【预测(未来)】的活动节点们 | 525 | * 获得【预测(未来)】的活动节点们 |
| 526 | */ | 526 | */ |
| 527 | private List<ActivityNode> getSimulateApproveNodeList(Long startUserId, BpmnModel bpmnModel, | 527 | private List<ActivityNode> getSimulateApproveNodeList(Long startUserId, BpmnModel bpmnModel, |
| 528 | - BpmProcessDefinitionInfoDO processDefinitionInfo, | ||
| 529 | - Map<String, Object> processVariables, | ||
| 530 | - List<HistoricActivityInstance> activities) { | 528 | + BpmProcessDefinitionInfoDO processDefinitionInfo, |
| 529 | + Map<String, Object> processVariables, | ||
| 530 | + List<HistoricActivityInstance> activities) { | ||
| 531 | // TODO @芋艿:【可优化】在驳回场景下,未来的预测准确性不高。原因是,驳回后,HistoricActivityInstance | 531 | // TODO @芋艿:【可优化】在驳回场景下,未来的预测准确性不高。原因是,驳回后,HistoricActivityInstance |
| 532 | // 包括了历史的操作,不是只有 startEvent 到当前节点的记录 | 532 | // 包括了历史的操作,不是只有 startEvent 到当前节点的记录 |
| 533 | Set<String> runActivityIds = convertSet(activities, HistoricActivityInstance::getActivityId); | 533 | Set<String> runActivityIds = convertSet(activities, HistoricActivityInstance::getActivityId); |
| @@ -549,8 +549,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | @@ -549,8 +549,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | ||
| 549 | } | 549 | } |
| 550 | 550 | ||
| 551 | private ActivityNode buildNotRunApproveNodeForSimple(Long startUserId, BpmnModel bpmnModel, | 551 | private ActivityNode buildNotRunApproveNodeForSimple(Long startUserId, BpmnModel bpmnModel, |
| 552 | - BpmProcessDefinitionInfoDO processDefinitionInfo, Map<String, Object> processVariables, | ||
| 553 | - BpmSimpleModelNodeVO node, Set<String> runActivityIds) { | 552 | + BpmProcessDefinitionInfoDO processDefinitionInfo, Map<String, Object> processVariables, |
| 553 | + BpmSimpleModelNodeVO node, Set<String> runActivityIds) { | ||
| 554 | // TODO @芋艿:【可优化】在驳回场景下,未来的预测准确性不高。原因是,驳回后,HistoricActivityInstance | 554 | // TODO @芋艿:【可优化】在驳回场景下,未来的预测准确性不高。原因是,驳回后,HistoricActivityInstance |
| 555 | // 包括了历史的操作,不是只有 startEvent 到当前节点的记录 | 555 | // 包括了历史的操作,不是只有 startEvent 到当前节点的记录 |
| 556 | if (runActivityIds.contains(node.getId())) { | 556 | if (runActivityIds.contains(node.getId())) { |
| @@ -594,8 +594,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | @@ -594,8 +594,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | ||
| 594 | } | 594 | } |
| 595 | 595 | ||
| 596 | private ActivityNode buildNotRunApproveNodeForBpmn(Long startUserId, BpmnModel bpmnModel, | 596 | private ActivityNode buildNotRunApproveNodeForBpmn(Long startUserId, BpmnModel bpmnModel, |
| 597 | - BpmProcessDefinitionInfoDO processDefinitionInfo, Map<String, Object> processVariables, | ||
| 598 | - FlowElement node, Set<String> runActivityIds) { | 597 | + BpmProcessDefinitionInfoDO processDefinitionInfo, Map<String, Object> processVariables, |
| 598 | + FlowElement node, Set<String> runActivityIds) { | ||
| 599 | if (runActivityIds.contains(node.getId())) { | 599 | if (runActivityIds.contains(node.getId())) { |
| 600 | return null; | 600 | return null; |
| 601 | } | 601 | } |