diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java index 39dd6c341..14606bac0 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java @@ -1127,7 +1127,7 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic .execute(new CustomForecastUserTaskAssigneeCmd(processInstanceId, i, engineExecutionStartListener, categoryVersion)); node.setForecastAssigners(forecastAssigners); - if (CollectionUtils.isEmpty(forecastAssigners) && categoryVersion < 2) { + if (CollectionUtils.isEmpty(forecastAssigners)) { getApproverEmptyHandleType(i).ifPresent(emptyHandleType -> { switch (emptyHandleType) { case autoPassed: diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/BasedIdentityV2TaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/BasedIdentityV2TaskAssigneeSelector.java index 7365ac3b4..a248967a6 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/BasedIdentityV2TaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/BasedIdentityV2TaskAssigneeSelector.java @@ -108,6 +108,9 @@ public class BasedIdentityV2TaskAssigneeSelector extends AbstractBpmnTaskAssigne if (Objects.isNull(lastOperationApprover)) { return Collections.emptyList(); } + if (lastOperationApprover.comparePersonIdToOther(initiator)) { + return Collections.emptyList(); + } v2ReqBuilder.scope(FlowTaskAssignerScopeDTO.builder() .nodeId(lastOperationApprover.parseNodeId()) .upLevel(getApproverSpecifyRangeOrgLimit(flowElement).orElse(SignApproverOrgLimitEnum.UNKNOWN).getCode())