Commit ead8e94deb554e19bf99a53237afff23b20ab39f

Authored by lizhixian
1 parent 672a5ef5

review: 代码审查

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 }