From e8ebb27a1ec317d7cf00cb6134a6096776a2e756 Mon Sep 17 00:00:00 2001 From: yangqicheng Date: Mon, 20 Jan 2025 10:31:51 +0800 Subject: [PATCH] =?UTF-8?q?hotfix=20=E8=BD=AC=E4=BA=A4=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E6=9F=A5=E8=AF=A2=E8=80=81=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=B7=BB=E5=8A=A0=E6=B5=81=E7=A8=8B=E5=AE=9E?= =?UTF-8?q?=E4=BE=8Bid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TransferToAdminTaskAssigneeSelector.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/TransferToAdminTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/TransferToAdminTaskAssigneeSelector.java index 20089b4e6..2864e93dc 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/TransferToAdminTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/TransferToAdminTaskAssigneeSelector.java @@ -19,13 +19,11 @@ import org.apache.commons.collections4.ListUtils; import org.flowable.bpmn.model.FlowElement; import org.flowable.bpmn.model.UserTask; import org.flowable.engine.delegate.DelegateExecution; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import javax.annotation.Resource; -import javax.validation.Valid; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -70,7 +68,7 @@ public class TransferToAdminTaskAssigneeSelector extends AbstractBpmnTaskAssigne protected List invokeService(FlowElement flowElement, DelegateExecution execution, ApproverScopeDTO scopeDto) { - if(Boolean.TRUE.equals(supportRefreshProperties.getUseNewToAdminApi())) { + if (Boolean.TRUE.equals(supportRefreshProperties.getUseNewToAdminApi())) { return invokeNewQuery(flowElement, execution, scopeDto); } else { return invokeOldQuery(flowElement, execution, scopeDto); @@ -90,7 +88,10 @@ public class TransferToAdminTaskAssigneeSelector extends AbstractBpmnTaskAssigne .map(w -> BeanUtil.copyProperties(w, ListFlowTaskAssignerReq.OrgScope.class)) .collect(Collectors.toList())); } - ListFlowTaskAssignerReq req = builder.workspaceAdmin(false).build(); + ListFlowTaskAssignerReq req = builder + .procInstId(execution.getProcessInstanceId()) + .workspaceAdmin(false) + .build(); BpmnMetaParserHelper.getApproverScope((UserTask) flowElement) .ifPresent(i -> { if (Objects.equals(i, ApproverScopeEnum.projectWorkspace)) { @@ -133,13 +134,14 @@ public class TransferToAdminTaskAssigneeSelector extends AbstractBpmnTaskAssigne } ListFlowTaskAssignerReq req = builder.workspaceAdmin(false).build(); req.setProcInstId(execution.getProcessInstanceId()); - if(Objects.equals(ApproverScopeEnum.entWorkspace, approverScope.get()) && Objects.equals(ApproverSpecifyEnum.fixedPerson,optSpecify.get())) { - req.setCooperateTypes(Sets.newHashSet(1,2,3,4,5,6,7,8,9,11,30)); + if (approverScope.isPresent() && Objects.equals(ApproverScopeEnum.entWorkspace, approverScope.get()) && + optSpecify.isPresent() && Objects.equals(ApproverSpecifyEnum.fixedPerson, optSpecify.get())) { + req.setCooperateTypes(Sets.newHashSet(1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 30)); } else { req.setCooperateTypes(getCooperationTypes(flowElement)); } // 发起人主管找其超管时,需要将发起人的数据包装进 orgScope - if (Objects.equals(ApproverSpecifyEnum.initiatorLeader, optSpecify.get())) { + if (optSpecify.isPresent() && Objects.equals(ApproverSpecifyEnum.initiatorLeader, optSpecify.get())) { BpmnTaskDelegateAssigner initiator = BpmnTaskDelegateAssigner.toObjectCompatible(execution.getVariable(INTERNAL_INITIATOR, String.class)); Integer workspaceType = execution.getVariable(INTERNAL_PROCESS_WORKSPACE_TYPE, Integer.class); req.setOrgScopes(Lists.newArrayList(new ListFlowTaskAssignerReq.OrgScope(workspaceType, Long.parseLong(initiator.getTenantId()), Long.parseLong(initiator.getOuId()), null)));