package com.casic.missiles.enums;

import com.casic.missiles.model.exception.AbstractBaseExceptionEnum;

/**
 * @Description:
 * @Author: wangpeng
 * @Date: 2022/11/24 17:57
 */
public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum {

    UPLOAD_FILE_NULL(3001, "上传文件不能为空"),
    ID_NULL(2400, "主键不能为空"),
    TRAIN_STAFF_NULL(2400, "培训学员不能为空"),
    TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
    ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
    PROCESS_ID_NULL(2400, "流程实例id不能为空"),
    EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
    TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
    ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
    DEPT_NOT_EXISTENCE(2300, "导入部门不存在;"),
    SEX_NOT_CORRECT(2300, "性别填写有误(男,女);"),
    MAIN_EXAMINER_NOT_CORRECT(2300, "是否主考人填写有误(是,否);"),
    SPECIAL_OPERATOR_NOT_CORRECT(2300, "是否特操人填写有误(是,否);"),
    TECHNOLOGY_EXAM_NOT_CORRECT(2300, "是否技术考核填写有误(是,否);"),
    WORK_DATE_NOT_CORRECT(2300, "从事日期格式错误(2022-15-05);"),
    BIRTHDAY_NOT_CORRECT(2300, "生日格式错误(2022-15-05);"),
    CERTIFICATE_DATE_NOT_CORRECT(2300, "发证日期格式错误(2022-15-05);"),
    VALID_DATE_NOT_CORRECT(2300, "有效日期格式错误(2022-15-05);"),
    STAFF_NOT_EXISTENCE(2300, "人员编号不存在"),
    CHECK_TYPE_NOT_EXISTENCE(2300, "校验类型不存在;"),
    PRICE_TYPE_NOT_EXISTENCE(2300, "价格类别不存在;"),
    PRICE_ITEM_NOT_EXISTENCE(2300, "项目不存在;"),
    OPERATOR_DISCOUNT_PERMISSION_NOT_EXISTENCE(2300, "业务员折扣权限不存在;"),
    DIRECTOR_DISCOUNT_PERMISSION_NOT_EXISTENCE(2300, "负责人折扣权限不存在;"),
    TRACE_SUPPLIER_ID_NULL(2400, "培训记录主键不能为空"),
    DUPLICATE_NUMBER(2401, "编号生成重复，请重新提交"),
    DUPLICATE_MANUFACTURE_NUMBER(2401, "出厂编号重复"),
    PARAM_INVALID(2500, "参数不合法"),
    LOGIN_USER_ACQUIRE_FAILED(2402, "无法获取登录者用户信息，请尝试重新登录再进行操作"),
    NOT_FOUND_USER_INFO(2402, "未找到用户信息"),

    STANDARD_EQUIPMENT_ID_EXIST(2402, "标准装置不存在"),
    STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"),
    STANDARD_VERIFY_REGULATION_ID_EXIST(2402, "标准装置-检定规程不存在"),
    STANDARD_SUPPORT_EQUIPMENT_ID_EXIST(2402, "标准装置-标准配套装置不存在"),

    TRAIN_PLAN_SAVE_FAILED(2403, "培训计划保存至草稿箱失败"),
    TRACE_SUPPLIER_SAVE_FAILED(2404, "溯源供方保存至草稿箱失败"),
    TRACE_SUPPLIER_SUBMIT_FAILED(2405, "溯源供方提交处理失败"),
    TRAIN_PLAN_SUBMIT_FAILED(2406, "培训计划提交处理失败"),
    FILE_SUBMIT_FAILED(2407, "文件提交处理失败"),
    FLOW_NO_JOIN_FLOWABLE(2408, "该流程暂未接入Flowable,请重试"),
    HANDLE_FAILED(500, "操作失败"),
    NO_PROPERLY_CONNECTED(500, "请正确连接扫码设备"),
    QRCODE_FAILED(2409, "二维码生成失败"),
    RECEIVE_SAMPLE_NOT_EXIST(2410, "待检测中不存在扫描收入的样品"),
    COMPLETE_SAMPLE_NOT_EXIST(2411, "检测中不存在扫描收入的样品"),
    CANNOT_CHANGE_MEASURE_INFO(2412, "无法更改非当前登录用户的检测信息"),
    NON_EXIST_ORDER_OR_SAMPLE(2413, "不存在该委托单或该委托单下的样品"),
    AGAIN_PRINT_SUBMIT_FAILED(2414, "再次打印提交处理失败"),
    LOGIN_USER_NOT_STAFF(2415, "登录用户非计量人员"),
    CERTIFICATE_REPORT_SUBMIT_FAILED(3401, "证书报告提交处理失败"),
    SITE_EXECUTIVE__SUBMIT_FAILED(3402, "现场检测审核提交处理失败"),

    FAIL_READ_EPC_TID(2416, "标签信息读取失败，请重新操作"),
    READ_WRITER_NOT_CONNECTED(2417, "标签信息读取失败，请正确连接读写器"),
    READ_WRITER_NOT_CONNECTED_OR_NO_TID(2418, "连接读写器失败或无可识别标签"),

    OUTSOURCER_SAVE_FAILED(2419, "分包方保存至草稿箱失败"),
    OUTSOURCER_SUBMIT_FAILED(2420, "分包方提交处理失败"),
    OUTSOURCE_PROJECT_APPLY_SAVE_FAILED(2421, "分包项目申请保存至草稿箱失败"),
    OUTSOURCE_PROJECT_APPLY_SUBMIT_FAILED(2422, "分包项目申请提交处理失败"),
    OUTSOURCE_PROJECT_CHECK_SAVE_FAILED(2423, "分包项目验收保存至草稿箱失败"),
    OUTSOURCE_PROJECT_CHECK_SUBMIT_FAILED(2424, "分包项目验收提交处理失败"),

    AGREEMENT_SAVE_FAILED(2425, "合同保存至草稿箱失败"),
    AGREEMENT_APPLY_SUBMIT_FAILED(2426, "合同提交处理失败"),

    OUTSOURCE_CERTIFICATE_NO_FILES(2427, "无导入数据Excel文件或无证书文件或证书文件格式有误"),
    OUTSOURCE_CERTIFICATE_NO_DATA(2428, "Excel文件无数据"),
    OUTSOURCE_CERTIFICATE_NO_DATA_ITEM(2429, "Excel文件中缺少必要数据项数据"),
    OUTSOURCE_CERTIFICATE_INCORRECT_DATA_ITEM(2430, "Excel文件中检测单位编号或样品编号或证书附件不正确"),
    UNABLE_TO_URGE(2431, "该部门不存在负责人，无法催办"),
    USER_ID_EMPTY(2432, "用户id不能为空"),
    CLIENT_ID_EMPTY(2433, "用户id不能为空"),
    URGER_IS_EMPTY(2434, "催办人不存在或被删除，无法催办"),
    DEVICE_USER_OR_EMPTY(2434, "设备备删除或者催办人不存在，无法催办"),
    LABEL_IS_EMPTY(2435, "标签字段为空，无法绑定"),
    LABEL_ALREADY_BIND(2436, "标签已经绑定");

    private Integer code;
    private String message;

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

    public Integer getCode() {
        return this.code;
    }

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

    public String getMessage() {
        return this.message;
    }

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