diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/helper/CustomTaskHelper.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/helper/CustomTaskHelper.java index 2d794fb64..58e11170f 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/helper/CustomTaskHelper.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/helper/CustomTaskHelper.java @@ -312,6 +312,7 @@ public class CustomTaskHelper { return delegateAssigners; } return new ArrayList<>(delegateAssigners.stream() + .filter(i -> StringUtils.hasText(i.getPersonId())) .collect(Collectors.toMap(BpmnTaskDelegateAssigner::getPersonId, Function.identity(), (s, t) -> s)) .values()); } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AbstractBpmnTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AbstractBpmnTaskAssigneeSelector.java index dec1a028d..7010046c9 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AbstractBpmnTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AbstractBpmnTaskAssigneeSelector.java @@ -20,6 +20,7 @@ import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.util.StopWatch; +import org.springframework.util.StringUtils; import java.util.Collections; import java.util.List; @@ -46,7 +47,8 @@ public abstract class AbstractBpmnTaskAssigneeSelector implements BpmnTaskAssign @Override public List select(UserTask userTask, DelegateExecution execution, Boolean throwException) { - return (List) BpmnMetaParserHelper.getApproverScope(userTask) + List assigners = + (List) BpmnMetaParserHelper.getApproverScope(userTask) .map(approverScopeEnum -> { if (Objects.isNull(approverScopeEnum.getProcessor())) { return Collections.emptyList(); @@ -67,6 +69,7 @@ public abstract class AbstractBpmnTaskAssigneeSelector implements BpmnTaskAssign } } }).orElseGet(Collections::emptyList); + return assigners.stream().filter(i -> StringUtils.hasText(i.getPersonId())).collect(Collectors.toList()); } protected List invokeService(UserTask userTask, DelegateExecution execution,