feat(REQ-2924) - 指定审批人,会调用二方接口查询人员是否在职

This commit is contained in:
wangli 2024-09-24 17:02:15 +08:00
parent fb09025440
commit 3af8822bba

View File

@ -57,8 +57,10 @@ public class TransferToAdminTaskAssigneeSelector extends AbstractBpmnTaskAssigne
protected List<BpmnTaskDelegateAssigner> invokeService(FlowElement flowElement, DelegateExecution execution,
ApproverScopeDTO scopeDto) {
Optional<ApproverScopeEnum> approverScope = BpmnMetaParserHelper.getApproverScope((UserTask) flowElement);
Optional<ApproverSpecifyEnum> optSpecify = BpmnMetaParserHelper.getApproverSpecify((UserTask) flowElement);
if (optSpecify.isPresent()
if (optSpecify.isPresent() && approverScope.isPresent()
&& Objects.equals(ApproverScopeEnum.projectWorkspace, approverScope.get())
&& !Objects.equals(ApproverSpecifyEnum.position, optSpecify.get())
&& !Objects.equals(ApproverSpecifyEnum.role, optSpecify.get())) {
return Collections.emptyList();
@ -78,12 +80,11 @@ public class TransferToAdminTaskAssigneeSelector extends AbstractBpmnTaskAssigne
ListFlowTaskAssignerReq req = builder.workspaceAdmin(false).build();
req.setProcInstId(execution.getProcessInstanceId());
req.setCooperateTypes(getCooperationTypes(flowElement));
BpmnMetaParserHelper.getApproverScope((UserTask) flowElement)
.ifPresent(i -> {
if (Objects.equals(i, ApproverScopeEnum.projectWorkspace)) {
req.setWorkspaceAdmin(true);
}
});
approverScope.ifPresent(i -> {
if (Objects.equals(i, ApproverScopeEnum.projectWorkspace)) {
req.setWorkspaceAdmin(true);
}
});
List<FlowTaskAssignerResp> flowTaskAssigners =
parseApiResult(() -> flowSupportApi.listTaskAssignerAdminV2(req),
"审批节点: " + flowElement.getId() + ", 通过管理员查询审批人",