From 624fa7560f5c9ae51c167c2dc93992e940ef1a0b Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 1 Apr 2025 17:06:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3769)=20-=20=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E4=BA=BA=E8=87=AA=E9=80=89=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=8C=E7=BA=A7=E8=A7=84=E5=88=99=E9=99=90=E5=88=B6?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=88=86=E6=94=AF=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasedInitiatorSpecifiedTaskAssigneeSelector.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/BasedInitiatorSpecifiedTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/BasedInitiatorSpecifiedTaskAssigneeSelector.java index f8f3a7ec2..0ab4f2ef8 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/BasedInitiatorSpecifiedTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/BasedInitiatorSpecifiedTaskAssigneeSelector.java @@ -2,7 +2,9 @@ package cn.axzo.workflow.server.controller.delegate; import cn.axzo.workflow.common.enums.ApproverSpecifyEnum; import cn.axzo.workflow.common.exception.WorkflowEngineException; +import cn.axzo.workflow.common.model.request.bpmn.BpmnSignApproverLimit; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; +import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.model.FlowElement; @@ -16,6 +18,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import static cn.axzo.workflow.common.code.FlowableEngineRespCode.ENGINE_USER_TASK_CALC_ERROR; @@ -48,7 +51,14 @@ public class BasedInitiatorSpecifiedTaskAssigneeSelector extends AbstractBpmnTas public List select(FlowElement flowElement, DelegateExecution execution, Boolean throwException) { List assigners = new ArrayList<>(); try { - populateAssigneeByInitiatorSpecify(assigners, flowElement, execution); + Optional signApproverLimit = BpmnMetaParserHelper.getSignApproverLimit(flowElement); + if (signApproverLimit.isPresent()) { + // 签署业务节点,设置发起人自选后,会设置限制范围 + // TODO + } else { + // 最初的发起人自选 + populateAssigneeByInitiatorSpecify(assigners, flowElement, execution); + } } catch (Throwable t) { if (Boolean.TRUE.equals(throwException)) { log.warn("执行查询发起时指定审批人时发现异常, 审批节点:{}, 异常信息:{}", flowElement.getId(), t.getMessage());