feat(REQ-4418) - 兼容处理上节点审批人可能为空的情况

This commit is contained in:
wangli 2025-08-21 16:43:08 +08:00
parent 4035a03d7a
commit 52c77f3889
3 changed files with 9 additions and 1 deletions

View File

@ -106,6 +106,9 @@ public class BasedIdentityV2TaskAssigneeSelector extends AbstractBpmnTaskAssigne
case pre_node_approver: case pre_node_approver:
log.info("executing role v2 with pre_node_approver"); log.info("executing role v2 with pre_node_approver");
BpmnTaskDelegateAssigner lastOperationApprover = execution.getVariable(CLOSE_PROCESS_ASSIGNER, BpmnTaskDelegateAssigner.class); BpmnTaskDelegateAssigner lastOperationApprover = execution.getVariable(CLOSE_PROCESS_ASSIGNER, BpmnTaskDelegateAssigner.class);
if (Objects.isNull(lastOperationApprover)) {
return Collections.emptyList();
}
v2ReqBuilder.scope(FlowTaskAssignerScopeDTO.builder() v2ReqBuilder.scope(FlowTaskAssignerScopeDTO.builder()
.nodeId(lastOperationApprover.parseNodeId()) .nodeId(lastOperationApprover.parseNodeId())
.upLevel(getApproverSpecifyRangeOrgLimit(flowElement).orElse(SignApproverOrgLimitEnum.UNKNOWN).getCode()) .upLevel(getApproverSpecifyRangeOrgLimit(flowElement).orElse(SignApproverOrgLimitEnum.UNKNOWN).getCode())

View File

@ -75,7 +75,6 @@ public class BasedPositionV2TaskAssigneeSelector extends AbstractBpmnTaskAssigne
BpmnTaskDelegateAssigner initiator = BpmnTaskDelegateAssigner initiator =
BpmnTaskDelegateAssigner.toObjectCompatible(execution.getVariables().get(INTERNAL_INITIATOR)); BpmnTaskDelegateAssigner.toObjectCompatible(execution.getVariables().get(INTERNAL_INITIATOR));
;
FlowTaskAssignerV2Req.FlowTaskAssignerV2ReqBuilder v2ReqBuilder = FlowTaskAssignerV2Req.builder() FlowTaskAssignerV2Req.FlowTaskAssignerV2ReqBuilder v2ReqBuilder = FlowTaskAssignerV2Req.builder()
.scene(FlowTaskAssignerQuerySceneEnum.BY_JOB) .scene(FlowTaskAssignerQuerySceneEnum.BY_JOB)
.jobCodes(getApproverSpecifyValue(flowElement)) .jobCodes(getApproverSpecifyValue(flowElement))
@ -128,6 +127,9 @@ public class BasedPositionV2TaskAssigneeSelector extends AbstractBpmnTaskAssigne
log.info("executing position v2 with pre_node_approver"); log.info("executing position v2 with pre_node_approver");
Optional<ApproverSpecifyRangeUnitEnum> approverSpecifyRangeUnit4PreNodeApprover = getApproverSpecifyRangeUnit(flowElement); Optional<ApproverSpecifyRangeUnitEnum> approverSpecifyRangeUnit4PreNodeApprover = getApproverSpecifyRangeUnit(flowElement);
BpmnTaskDelegateAssigner lastOperationApprover = execution.getVariable(CLOSE_PROCESS_ASSIGNER, BpmnTaskDelegateAssigner.class); BpmnTaskDelegateAssigner lastOperationApprover = execution.getVariable(CLOSE_PROCESS_ASSIGNER, BpmnTaskDelegateAssigner.class);
if (Objects.isNull(lastOperationApprover)) {
return Collections.emptyList();
}
v2ReqBuilder.scope(FlowTaskAssignerScopeDTO.builder() v2ReqBuilder.scope(FlowTaskAssignerScopeDTO.builder()
.nodeId(lastOperationApprover.parseNodeId()) .nodeId(lastOperationApprover.parseNodeId())
.upLevel(getApproverSpecifyRangeOrgLimit(flowElement).orElse(SignApproverOrgLimitEnum.UNKNOWN).getCode()) .upLevel(getApproverSpecifyRangeOrgLimit(flowElement).orElse(SignApproverOrgLimitEnum.UNKNOWN).getCode())

View File

@ -126,6 +126,9 @@ public class BasedRoleV2TaskAssigneeSelector extends AbstractBpmnTaskAssigneeSel
log.info("executing role v2 with pre_node_approver"); log.info("executing role v2 with pre_node_approver");
Optional<ApproverSpecifyRangeUnitEnum> approverSpecifyRangeUnit4PreNodeApprover = getApproverSpecifyRangeUnit(flowElement); Optional<ApproverSpecifyRangeUnitEnum> approverSpecifyRangeUnit4PreNodeApprover = getApproverSpecifyRangeUnit(flowElement);
BpmnTaskDelegateAssigner lastOperationApprover = execution.getVariable(CLOSE_PROCESS_ASSIGNER, BpmnTaskDelegateAssigner.class); BpmnTaskDelegateAssigner lastOperationApprover = execution.getVariable(CLOSE_PROCESS_ASSIGNER, BpmnTaskDelegateAssigner.class);
if (Objects.isNull(lastOperationApprover)) {
return Collections.emptyList();
}
v2ReqBuilder.scope(FlowTaskAssignerScopeDTO.builder() v2ReqBuilder.scope(FlowTaskAssignerScopeDTO.builder()
.nodeId(lastOperationApprover.parseNodeId()) .nodeId(lastOperationApprover.parseNodeId())
.upLevel(getApproverSpecifyRangeOrgLimit(flowElement).orElse(SignApproverOrgLimitEnum.UNKNOWN).getCode()) .upLevel(getApproverSpecifyRangeOrgLimit(flowElement).orElse(SignApproverOrgLimitEnum.UNKNOWN).getCode())