add - 新增“上节点审批指定”的定义,并分析该配置如何使用
This commit is contained in:
parent
93f408e77f
commit
055aa1d5d5
@ -108,7 +108,6 @@ public interface ProcessInstanceApi {
|
|||||||
@Nullable @RequestParam(required = false) String tenantId);
|
@Nullable @RequestParam(required = false) String tenantId);
|
||||||
|
|
||||||
@GetMapping("/api/process/instance/cooperation-org")
|
@GetMapping("/api/process/instance/cooperation-org")
|
||||||
CommonResponse<CooperationOrgDTO> getCooperationOrg(@NotBlank(message = "流程实例 ID 不能为空") @RequestParam(required =
|
CommonResponse<CooperationOrgDTO> getCooperationOrg(@NotBlank(message = "流程实例 ID 不能为空") @RequestParam String processInstanceId,
|
||||||
false) String processInstanceId,
|
|
||||||
@Nullable @RequestParam(required = false) String tenantId);
|
@Nullable @RequestParam(required = false) String tenantId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@ public enum ApproverScopeEnum {
|
|||||||
entWorkspace("entWorkspace", "企业工作台"),
|
entWorkspace("entWorkspace", "企业工作台"),
|
||||||
projectWorkspace("projectWorkspace", "项目工作台"),
|
projectWorkspace("projectWorkspace", "项目工作台"),
|
||||||
preTaskUser("preTaskUser", "上节点审批人所在单位"),
|
preTaskUser("preTaskUser", "上节点审批人所在单位"),
|
||||||
|
preTaskSpecified("preTaskSpecified", "上节点审批人指定"),
|
||||||
;
|
;
|
||||||
private String type;
|
private String type;
|
||||||
private String desc;
|
private String desc;
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package cn.axzo.workflow.core.common.utils;
|
|||||||
|
|
||||||
import cn.axzo.workflow.common.enums.ApprovalMethodEnum;
|
import cn.axzo.workflow.common.enums.ApprovalMethodEnum;
|
||||||
import cn.axzo.workflow.common.enums.ApproverEmptyHandleTypeEnum;
|
import cn.axzo.workflow.common.enums.ApproverEmptyHandleTypeEnum;
|
||||||
|
import cn.axzo.workflow.common.enums.ApproverScopeEnum;
|
||||||
import cn.axzo.workflow.common.enums.ApproverSpecifyEnum;
|
import cn.axzo.workflow.common.enums.ApproverSpecifyEnum;
|
||||||
import cn.axzo.workflow.common.enums.BpmnFlowNodeType;
|
import cn.axzo.workflow.common.enums.BpmnFlowNodeType;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.BpmnButtonConf;
|
import cn.axzo.workflow.common.model.request.bpmn.BpmnButtonConf;
|
||||||
@ -26,6 +27,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_APPROVAL_METHOD;
|
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_APPROVAL_METHOD;
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_APPROVER_EMPTY_HANDLE_TYPE;
|
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_APPROVER_EMPTY_HANDLE_TYPE;
|
||||||
|
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_APPROVER_SCOPE;
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_APPROVER_SPECIFY;
|
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_APPROVER_SPECIFY;
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_BUTTON;
|
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_BUTTON;
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_BUTTON_META;
|
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_BUTTON_META;
|
||||||
@ -159,6 +161,11 @@ public final class BpmnMetaParserHelper {
|
|||||||
.map(element -> ApprovalMethodEnum.valueOf(element.getAttributeValue(null, ELEMENT_ATTRIBUTE_VALUE)));
|
.map(element -> ApprovalMethodEnum.valueOf(element.getAttributeValue(null, ELEMENT_ATTRIBUTE_VALUE)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Optional<ApproverScopeEnum> getApproverScope(UserTask userTask) {
|
||||||
|
return defaultValid(userTask, CONFIG_APPROVER_SCOPE)
|
||||||
|
.map(element -> ApproverScopeEnum.valueOf(element.getAttributeValue(null, ELEMENT_ATTRIBUTE_VALUE)));
|
||||||
|
}
|
||||||
|
|
||||||
public static Optional<ApproverSpecifyEnum> getApproverSpecify(UserTask userTask) {
|
public static Optional<ApproverSpecifyEnum> getApproverSpecify(UserTask userTask) {
|
||||||
return defaultValid(userTask, CONFIG_APPROVER_SPECIFY)
|
return defaultValid(userTask, CONFIG_APPROVER_SPECIFY)
|
||||||
.map(element -> ApproverSpecifyEnum.valueOf(element.getAttributeValue(null, ELEMENT_ATTRIBUTE_VALUE)));
|
.map(element -> ApproverSpecifyEnum.valueOf(element.getAttributeValue(null, ELEMENT_ATTRIBUTE_VALUE)));
|
||||||
|
|||||||
@ -4,8 +4,10 @@ import cn.axzo.framework.domain.web.result.ApiResult;
|
|||||||
import cn.axzo.maokai.api.client.OrganizationalNodeUserApi;
|
import cn.axzo.maokai.api.client.OrganizationalNodeUserApi;
|
||||||
import cn.axzo.maokai.api.vo.request.FlowTaskAssignerReq;
|
import cn.axzo.maokai.api.vo.request.FlowTaskAssignerReq;
|
||||||
import cn.axzo.maokai.api.vo.response.FlowTaskAssigner;
|
import cn.axzo.maokai.api.vo.response.FlowTaskAssigner;
|
||||||
|
import cn.axzo.workflow.common.enums.ApproverScopeEnum;
|
||||||
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.exception.WorkflowEngineException;
|
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
|
||||||
|
import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.http.HttpStatus;
|
import cn.hutool.http.HttpStatus;
|
||||||
@ -32,6 +34,10 @@ public abstract class AbstractBpmnTaskAssigneeSelector implements BpmnTaskAssign
|
|||||||
|
|
||||||
protected abstract FlowTaskAssignerReq buildQuery(UserTask userTask);
|
protected abstract FlowTaskAssignerReq buildQuery(UserTask userTask);
|
||||||
|
|
||||||
|
protected final ApproverScopeEnum getApproerScope(UserTask userTask) {
|
||||||
|
return BpmnMetaParserHelper.getApproverScope(userTask).orElseThrow(() -> new WorkflowEngineException(
|
||||||
|
"未获取到”审批人所在范围”的配置信息,请检查流程配置"));
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public List<BpmnTaskDelegateAssigner> select(UserTask userTask) {
|
public List<BpmnTaskDelegateAssigner> select(UserTask userTask) {
|
||||||
FlowTaskAssignerReq query = buildQuery(userTask);
|
FlowTaskAssignerReq query = buildQuery(userTask);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user