package cn.axzo.workflow.core.common.code;

import cn.axzo.framework.domain.web.code.IModuleRespCode;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 流程模型响应码
 *
 * @author wangli
 * @since 2023/12/14 16:25
 */
@Getter
@AllArgsConstructor
public enum BpmnTaskRespCode implements IModuleRespCode {
    TASK_COMPLETE_FAIL_NOT_EXISTS("001", "未找到指定审批任务"),
    TASK_COMPLETE_FAIL_ASSIGN_NOT_SELF("002", "该任务的审批人不是你"),
    TASK_APOSTILLE_NOT_SUPPORT("003", "当前加签模式不支持"),
    TASK_REMIND_ERROR_NOT_EXISTS("004", "当前审批节点没有待审批任务, 不能催办"),
    ACTIVITY_TRIGGER_NOT_EXISTS("005", "触发 ID:【{}】不存在"),
    CALC_TASK_ASSIGNEE_ERROR("006", "执行计算审批候选人出现异常: {}"),
    ASSIGNEE_HAS_BEEN_EXISTS("007", "你选择的人员已是审批人，请检查后提交"),
    ACTIVITY_BIZ_SET_ASSIGNEE_ERROR("008", "未找到能设置审批人的业务节点, 触发 ID: 【{}】"),
    ACTIVITY_CANT_SET_ASSIGNEE("009", "当前节点状态不允许设置审批人"),
    CANT_CREATE_SUB_TASK("010", "父任务不存在, 不允许创建子任务"),
    DUMMY_TASK_NOT_EXISTS("011", "机器人节点不存在, 实例 ID: 【{}】, 任务 ID: 【{}】"),
    DUMMY_TASK_CREATED_NOT_SUPPORT("012", "当前审批已结束, 不支持创建机器人节点, 实例 ID: 【{}】"),
    DUMMY_TASK_CANT_CREATED("013", "当前流程状态下, 不允许创建新的机器人节点, 实例 ID: 【{}】"),
    DUMMY_TASK_CANT_REPEAT_CREATE("014", "已存在运行中的机器人节点, 不允许重复创建!"),
    ACTIVITY_BIZ_SET_ASSIGNEE_HAS_REPEAT("015", "业务传入的指定审批人存在重复, 请主动根据 personId 去重! "),
    DUMMY_TASK_CREATED_ERROR("016", "流程实例 ID【{}】: 不存在, 不允许创建机器人节点"),
    TASK_HAS_BEEN_COMPLETE("017", "审批任务已被处理"),
    FIND_TASK_BY_PERSON_ID_ERROR("018", "流程实例中:【{}】未查找指定自然人:【{}】的待处理的流程任务!"),
    PROCESS_INSTANCE_IS_NOT_EXIST("019", "Execution:{} 对应流程实例不存在，流程状态异常!"),
    ;

    private String code;
    private String message;

    @Override
    public String getModuleCode() {
        return "06";
    }

    @Override
    public String getProjectCode() {
        return "998";
    }

    public void setCode(String code) {
        this.code = code;
    }


    public void setMessage(String message) {
        this.message = message;
    }

}
