feat(REQ-3769) - 发起人自选功能,增加二级规则限制逻辑分支定义
This commit is contained in:
parent
cb53f84473
commit
624fa7560f
@ -2,7 +2,9 @@ package cn.axzo.workflow.server.controller.delegate;
|
|||||||
|
|
||||||
import cn.axzo.workflow.common.enums.ApproverSpecifyEnum;
|
import cn.axzo.workflow.common.enums.ApproverSpecifyEnum;
|
||||||
import cn.axzo.workflow.common.exception.WorkflowEngineException;
|
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.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||||
|
import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.flowable.bpmn.model.FlowElement;
|
import org.flowable.bpmn.model.FlowElement;
|
||||||
@ -16,6 +18,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.axzo.workflow.common.code.FlowableEngineRespCode.ENGINE_USER_TASK_CALC_ERROR;
|
import static cn.axzo.workflow.common.code.FlowableEngineRespCode.ENGINE_USER_TASK_CALC_ERROR;
|
||||||
@ -48,7 +51,14 @@ public class BasedInitiatorSpecifiedTaskAssigneeSelector extends AbstractBpmnTas
|
|||||||
public List<BpmnTaskDelegateAssigner> select(FlowElement flowElement, DelegateExecution execution, Boolean throwException) {
|
public List<BpmnTaskDelegateAssigner> select(FlowElement flowElement, DelegateExecution execution, Boolean throwException) {
|
||||||
List<BpmnTaskDelegateAssigner> assigners = new ArrayList<>();
|
List<BpmnTaskDelegateAssigner> assigners = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
populateAssigneeByInitiatorSpecify(assigners, flowElement, execution);
|
Optional<BpmnSignApproverLimit> signApproverLimit = BpmnMetaParserHelper.getSignApproverLimit(flowElement);
|
||||||
|
if (signApproverLimit.isPresent()) {
|
||||||
|
// 签署业务节点,设置发起人自选后,会设置限制范围
|
||||||
|
// TODO
|
||||||
|
} else {
|
||||||
|
// 最初的发起人自选
|
||||||
|
populateAssigneeByInitiatorSpecify(assigners, flowElement, execution);
|
||||||
|
}
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
if (Boolean.TRUE.equals(throwException)) {
|
if (Boolean.TRUE.equals(throwException)) {
|
||||||
log.warn("执行查询发起时指定审批人时发现异常, 审批节点:{}, 异常信息:{}", flowElement.getId(), t.getMessage());
|
log.warn("执行查询发起时指定审批人时发现异常, 审批节点:{}, 异常信息:{}", flowElement.getId(), t.getMessage());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user