package com.njcn.bpm.enums;

import lombok.Getter;

/**
 * 异常处理类
 *
 * @author qijian
 * @version 1.0.0
 * @date 2022年11月11日 09:56
 */
@Getter
public enum BpmResponseEnum {

    /**
     * 过程监督异常响应码的范围：
     * A00550 ~ A00649
     */
    BPM_COMMON_ERROR("A00568", "工作流模块异常"),

    BPM_XML_ERROR("A00568", "流程标识格式不正确，需要以字母或下划线开头，后接任意字母、数字、中划线、下划线、句点！"),

    BPM_MODEL_REPEAT("A00568", "流程标识已存在"),

    BPM_MODEL_NOT_EXIST("A00568", "流程模型不存在"),

    PROCESS_DEFINITION_NOT_EXISTS("A00568", "流程定义不存在"),

    TASK_NOT_EXISTS("A00568", "流程任务不存在"),

    TASK_OPERATE_FAIL_ASSIGN_NOT_SELF("A00568", "操作失败，原因：该任务的审批人不是你"),

    PROCESS_DEFINITION_IS_SUSPENDED("A00568", "流程定义处于挂起状态"),

    FORM_NOT_EXISTS("A00568", "动态表单不存在"),

    MODEL_DEPLOY_FAIL_FORM_NOT_CONFIG("A00568", "部署流程失败，原因：流程表单未配置，请点击【修改流程】按钮进行配置"),

    BPM_START_EVENT_NOT_EXIST("A00568", "起始事件不存在"),

    MODEL_DEPLOY_FAIL_BPMN_USER_TASK_NAME_NOT_EXISTS("A00568", "部署流程失败，原因：BPMN 流程图中，用户任务的名字不存在"),

    REPEAT_NAME_FORM("A00568", "流程表单名称重复"),

    REPEAT_CATEGORY_NAME_FORM("A00568", "流程类型名称重复"),

    REPEAT_CATEGORY_CODE_FORM("A00568", "流程类型编码重复"),

    QUIT_RUNNING_REPEAT("A00568", "该设备已在审批中"),

    REPEAT_SIGN_NAME_FORM("A00568", "流程标识名称重复"),

    REPEAT_SIGN_KEY_FORM("A00568", "流程标识key重复"),

    PROCESS_INSTANCE_NOT_EXISTS("A00568", "流程实例不存在"),

    TASK_IS_PENDING("A00568", "当前任务处于挂起状态，不能操作"),

    TASK_TARGET_NODE_NOT_EXISTS("A00568", " 目标节点不存在"),

    TASK_RETURN_FAIL_SOURCE_TARGET_ERROR("A00568", "回退任务失败，目标节点是在并行网关上或非同一路线上，不可跳转"),

    PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS("A00568", "流程取消失败，流程不处于运行中"),

    TASK_DELEGATE_FAIL_USER_REPEAT("A00568", "任务委派失败，委派人和当前审批人为同一人"),

    TASK_DELEGATE_FAIL_USER_NOT_EXISTS("A00568", "任务委派失败，被委派人不存在"),

    TASK_TRANSFER_FAIL_USER_REPEAT("A00568", "任务转办失败，转办人和当前审批人为同一人"),

    TASK_TRANSFER_FAIL_USER_NOT_EXISTS("A00568", "任务转办失败，转办人不存在"),

    TASK_SIGN_CREATE_USER_NOT_EXIST("A00568", "任务加签：选择的用户不存在"),

    TASK_SIGN_DELETE_NO_PARENT("A00568", "任务减签失败，被减签的任务必须是通过加签生成的任务"),

    PROCESS_INSTANCE_CANCEL_FAIL_NOT_SELF("A00568", "流程取消失败，该流程不是你发起的");


    private final String code;

    private final String message;

    BpmResponseEnum(String code, String message) {
        this.code = code;
        this.message = message;
    }
}
