package com.cf.imes.module.system.enums;

import com.cf.imes.framework.common.exception.ErrorCode;

/**
 * System 错误码枚举类
 *
 * system 系统，使用 1-002-000-000 段
 */
public class ErrorCodeConstants {
    private ErrorCodeConstants() {
    }

    // ========== AUTH 模块 1-002-000-000 ==========
    public static final ErrorCode AUTH_LOGIN_BAD_CREDENTIALS = new ErrorCode(1_002_000_000, "auth.login.bad_credentials");
    public static final ErrorCode AUTH_LOGIN_USER_DISABLED = new ErrorCode(1_002_000_001, "auth.login.user_disabled");
    public static final ErrorCode AUTH_LOGIN_CAPTCHA_CODE_ERROR = new ErrorCode(1_002_000_004, "auth.login.captcha_code_error");
    public static final ErrorCode AUTH_THIRD_LOGIN_NOT_BIND = new ErrorCode(1_002_000_005, "auth.login.third_not_bind");
    public static final ErrorCode AUTH_MOBILE_NOT_EXISTS = new ErrorCode(1_002_000_006, "auth.mobile.not_exists");
    public static final ErrorCode AUTH_MOBILE_NO_CHANGE = new ErrorCode(1_002_000_007, "auth.mobile.no_change");
    public static final ErrorCode AUTH_MANAGEENDPOINT_LOGIN_PERMISSION_ERROR = new ErrorCode(1_002_000_008, "auth.manage_endpoint.login_permission_error");
    public static final ErrorCode AUTH_LOGIN_USER_NOT_EXISTS = new ErrorCode(1_002_000_009, "auth.login.user.not.exist");

    // ========== 菜单模块 1-002-001-000 ==========
    public static final ErrorCode MENU_NAME_DUPLICATE = new ErrorCode(1_002_001_000, "menu.name.duplicate");
    public static final ErrorCode MENU_PARENT_NOT_EXISTS = new ErrorCode(1_002_001_001, "menu.parent.not_exists");
    public static final ErrorCode MENU_PARENT_ERROR = new ErrorCode(1_002_001_002, "menu.parent.error");
    public static final ErrorCode MENU_NOT_EXISTS = new ErrorCode(1_002_001_003, "menu.not_exists");
    public static final ErrorCode MENU_EXISTS_CHILDREN = new ErrorCode(1_002_001_004, "menu.exists_children");
    public static final ErrorCode MENU_PARENT_NOT_DIR_OR_MENU = new ErrorCode(1_002_001_005, "menu.parent.not_dir_or_menu");
    public static final ErrorCode MANAGEMENT_MENU_OPERATION_PERMISSION_ERROR = new ErrorCode(1_002_001_006, "menu.operation_permission_error");
    public static final ErrorCode MENU_TRANS_ERROR = new ErrorCode(1_002_001_007, "menu.trans_error");

    // ========== 角色模块 1-002-002-000 ==========
    public static final ErrorCode ROLE_NOT_EXISTS = new ErrorCode(1_002_002_000, "role.not_exists");
    public static final ErrorCode ROLE_NAME_DUPLICATE = new ErrorCode(1_002_002_001, "role.name.duplicate");
    public static final ErrorCode ROLE_CODE_DUPLICATE = new ErrorCode(1_002_002_002, "role.code.duplicate");
    public static final ErrorCode ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE = new ErrorCode(1_002_002_003, "role.can_not_update_system_type");
    public static final ErrorCode ROLE_IS_DISABLE = new ErrorCode(1_002_002_004, "role.is_disable");
    public static final ErrorCode ROLE_ADMIN_CODE_ERROR = new ErrorCode(1_002_002_005, "role.admin_code_error");
    public static final ErrorCode ROLE_ME_ERROR = new ErrorCode(1_002_002_006, "role.me_error");
    public static final ErrorCode ROLE_NOT_SUPERADMIN_NO_ORGAN_ID_OPER_ERROR = new ErrorCode(1_002_002_007, "role.not_superadmin_no_organ_id_oper_error");
    public static final ErrorCode BUILDIN_ROLE_MODIFY_PERMISSION_ERROR = new ErrorCode(1_002_002_008, "role.buildin.modify_permission_error");
    public static final ErrorCode SELF_ROLE_MODIFY_PERMISSION_ERROR = new ErrorCode(1_002_002_009, "role.self.modify_permission_error");
    public static final ErrorCode SELF_ROLE_MODIFY_ERROR = new ErrorCode(1_002_002_010, "role.self.modify_error");

    // ========== 用户模块 1-002-003-000 ==========
    public static final ErrorCode USER_USERNAME_EXISTS = new ErrorCode(1_002_003_000, "user.username.exists");
    public static final ErrorCode USER_MOBILE_EXISTS = new ErrorCode(1_002_003_001, "user.mobile.exists");
    public static final ErrorCode USER_EMAIL_EXISTS = new ErrorCode(1_002_003_002, "user.email.exists");
    public static final ErrorCode USER_NOT_EXISTS = new ErrorCode(1_002_003_003, "user.not_exists");
    public static final ErrorCode USER_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_003_004, "user.import.empty");
    public static final ErrorCode USER_PASSWORD_FAILED = new ErrorCode(1_002_003_005, "user.password.failed");
    public static final ErrorCode USER_IS_DISABLE = new ErrorCode(1_002_003_006, "user.is_disable");
    public static final ErrorCode USER_COUNT_MAX = new ErrorCode(1_002_003_008, "user.count.max");
    public static final ErrorCode USER_ME_ERROR = new ErrorCode(1_002_003_009, "user.me.error");
    public static final ErrorCode THE_PASSWORD_LENGTH_MUST_BE_AT_LEAST_8_CHARACTERS = new ErrorCode(1_002_003_010, "user.password.length_at_least_8");
    public static final ErrorCode USERNAME_MULTIPLE_ERROR = new ErrorCode(1_002_003_011, "user.username.multiple_error");
    public static final ErrorCode USER_OPERATE_SELF_STATUS_ERROR = new ErrorCode(1_002_003_012, "user.operate_self_status_error");
    public static final ErrorCode USER_MOBILE_UPDATE_NOT_ALLOW_ERROR = new ErrorCode(1_002_003_013, "user.mobile_update_not_allow");
    public static final ErrorCode ORGAN_ADMIN_USER_DELETE_NOT_ALLOW = new ErrorCode(1_002_003_014, "user.organ_admin_user.delete_not_allow");

    // ========== 部门模块 1-002-004-000 ==========
    public static final ErrorCode DEPT_NAME_DUPLICATE = new ErrorCode(1_002_004_000, "dept.name.duplicate");
    public static final ErrorCode DEPT_PARENT_NOT_EXITS = new ErrorCode(1_002_004_001, "dept.parent.not_exists");
    public static final ErrorCode DEPT_NOT_FOUND = new ErrorCode(1_002_004_002, "dept.not_found");
    public static final ErrorCode DEPT_EXITS_CHILDREN = new ErrorCode(1_002_004_003, "dept.exists_children");
    public static final ErrorCode DEPT_PARENT_ERROR = new ErrorCode(1_002_004_004, "dept.parent.error");
    public static final ErrorCode DEPT_EXISTS_USER = new ErrorCode(1_002_004_005, "dept.exists_user");
    public static final ErrorCode DEPT_PARENT_IS_CHILD = new ErrorCode(1_002_004_007, "dept.parent_is_child");
    public static final ErrorCode DEPT_USER_OPER_NOT_ALLOW = new ErrorCode(1_002_004_008, "dept.user_oper_not_allow");
    public static final ErrorCode PARENT_DEPT_USER_OPER_NOT_ALLOW = new ErrorCode(1_002_004_009, "dept.parent_user_oper_not_allow");
    public static final ErrorCode DEPT_DISABLE = new ErrorCode(1_002_004_010, "dept.disable");
    public static final ErrorCode DEPT_NOT_ALLOWED_LOGIN = new ErrorCode(1_002_004_011, "dept.not_allowed_login");
    public static final ErrorCode PARENT_DEPT_DISABLE = new ErrorCode(1_002_004_012, "dept.parent_disable");

    // ========== 字典类型 1-002-006-000 ==========
    public static final ErrorCode DICT_TYPE_NOT_EXISTS = new ErrorCode(1_002_006_001, "dict_type.not_exists");
    public static final ErrorCode DICT_TYPE_NOT_ENABLE = new ErrorCode(1_002_006_002, "dict_type.not_enable");
    public static final ErrorCode DICT_TYPE_NAME_DUPLICATE = new ErrorCode(1_002_006_003, "dict_type.name.duplicate");
    public static final ErrorCode DICT_TYPE_TYPE_DUPLICATE = new ErrorCode(1_002_006_004, "dict_type.type.duplicate");
    public static final ErrorCode DICT_TYPE_HAS_CHILDREN = new ErrorCode(1_002_006_005, "dict_type.has_children");

    // ========== 字典数据 1-002-007-000 ==========
    public static final ErrorCode DICT_DATA_NOT_EXISTS = new ErrorCode(1_002_007_001, "dict_data.not_exists");
    public static final ErrorCode DICT_DATA_NOT_ENABLE = new ErrorCode(1_002_007_002, "dict_data.not_enable");
    public static final ErrorCode DICT_DATA_VALUE_DUPLICATE = new ErrorCode(1_002_007_003, "dict_data.value.duplicate");
    public static final ErrorCode DICT_DATA_TRANS_ERROR = new ErrorCode(1_002_007_004, "dict_data.trans_error");

    // ========== 通知公告 1-002-008-000 ==========
    public static final ErrorCode NOTICE_NOT_FOUND = new ErrorCode(1_002_008_001, "notice.not_found");
    public static final ErrorCode NOTICE_NAME_UNIQE_ERROR = new ErrorCode(1_002_008_002, "notice.name_unique_error");
    public static final ErrorCode NOTICE_BUILDIN_MODIFY_PERMISSION_ERROR = new ErrorCode(1_002_008_003, "notice.buildin.modify_permission_error");

    // ========== 短信渠道 1-002-011-000 ==========
    public static final ErrorCode SMS_CHANNEL_NOT_EXISTS = new ErrorCode(1_002_011_000, "sms.channel.not_exists");

    // ========== 短信模板 1-002-012-000 ==========
    public static final ErrorCode SMS_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_012_000, "sms.template.not_exists");
    public static final ErrorCode SMS_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_002_012_001, "sms.template.code.duplicate");
    public static final ErrorCode SMS_TEMPLATE_API_ERROR = new ErrorCode(1_002_012_002, "sms.template.api_error");
    public static final ErrorCode SMS_TEMPLATE_API_AUDIT_CHECKING = new ErrorCode(1_002_012_003, "sms.template.api.audit_checking");
    public static final ErrorCode SMS_TEMPLATE_API_AUDIT_FAIL = new ErrorCode(1_002_012_004, "sms.template.api.audit_fail");
    public static final ErrorCode SMS_TEMPLATE_API_NOT_FOUND = new ErrorCode(1_002_012_005, "sms.template.api.not_found");

    // ========== 短信发送 1-002-013-000 ==========
    public static final ErrorCode SMS_SEND_MOBILE_NOT_EXISTS = new ErrorCode(1_002_013_000, "sms.send.mobile.not_exists");
    public static final ErrorCode SMS_SEND_MOBILE_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_013_001, "sms.send.mobile.template_param_miss");
    public static final ErrorCode SMS_SEND_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_013_002, "sms.send.template.not_exists");

    // ========== 短信验证码 1-002-014-000 ==========
    public static final ErrorCode SMS_CODE_NOT_FOUND = new ErrorCode(1_002_014_000, "sms.code.not_found");
    public static final ErrorCode SMS_CODE_NOT_CORRECT = new ErrorCode(1_002_014_001, "sms.code.not_correct");
    public static final ErrorCode SMS_CODE_SEND_TOO_FAST = new ErrorCode(1_002_014_002, "sms.code.send_too_fast");
    public static final ErrorCode SMS_CODE_IS_VALID = new ErrorCode(1_002_014_003, "sms.code.is_valid");

    // ========== 组织信息 1-002-015-000 ==========
    public static final ErrorCode ORGAN_NOT_EXISTS = new ErrorCode(1_002_015_000, "organ.not_exists");
    public static final ErrorCode ORGAN_DISABLE = new ErrorCode(1_002_015_001, "organ.disable");
    public static final ErrorCode ORGAN_EXPIRE = new ErrorCode(1_002_015_002, "organ.expire");
    public static final ErrorCode ORGAN_CAN_NOT_UPDATE_SYSTEM = new ErrorCode(1_002_015_003, "organ.can_not_update_system");
    public static final ErrorCode ORGAN_NAME_DUPLICATE = new ErrorCode(1_002_015_004, "organ.name.duplicate");
    public static final ErrorCode ORGAN_WEBSITE_DUPLICATE = new ErrorCode(1_002_015_005, "organ.website.duplicate");
    public static final ErrorCode ORGAN_DATA_CODE_NOT_EXISTS = new ErrorCode(1_002_015_006, "organ.data_code.not_exists");
    public static final ErrorCode ORGAN_ALREADY_EXISTS = new ErrorCode(1_002_015_007, "organ.already_exists");
    public static final ErrorCode ORGAN_USER_OPER_NOT_ALLOW = new ErrorCode(1_002_015_008, "organ.user_oper.not_allow");
    public static final ErrorCode ORGAN_CONTACTMOBILE_DUPLICATE = new ErrorCode(1_002_015_009, "organ.contact_mobile.duplicate");
    public static final ErrorCode ORGAN_EXPIRETIME_PRODUCTID_LACK = new ErrorCode(1_002_015_010, "organ.expiretime.product_id_lack");

    // ========== 组织套餐 1-002-016-000 ==========
    public static final ErrorCode TENANT_PACKAGE_NOT_EXISTS = new ErrorCode(1_002_016_000, "组织套餐不存在");
    public static final ErrorCode TENANT_PACKAGE_USED = new ErrorCode(1_002_016_001, "组织正在使用该套餐，请给组织重新设置套餐后再尝试删除");
    public static final ErrorCode TENANT_PACKAGE_DISABLE = new ErrorCode(1_002_016_002, "【{}】组织套餐已被禁用");
    public static final ErrorCode TENANT_PACKAGE_DEPT_EXIT = new ErrorCode(1_002_016_003, "无法修改内置组织权限套餐");
    public static final ErrorCode TENANT_PACKAGE_DELETED_EXIT = new ErrorCode(1_002_016_004, "无法删除内置组织权限套餐");
    public static final ErrorCode TENANT_PACKAGE_NAME_UNIQE_ERROR = new ErrorCode(1_002_016_005, "套餐名已存在，请编辑套餐名后重试");

    // ========== 错误码模块 1-002-017-000 ==========
    public static final ErrorCode ERROR_CODE_NOT_EXISTS = new ErrorCode(1_002_017_000, "错误码不存在");
    public static final ErrorCode ERROR_CODE_DUPLICATE = new ErrorCode(1_002_017_001, "已经存在编码为【{}】的错误码");

    // ========== 社交用户 1-002-018-000 ==========
    public static final ErrorCode SOCIAL_USER_AUTH_FAILURE = new ErrorCode(1_002_018_000, "社交授权失败，原因是：{}");
    public static final ErrorCode SOCIAL_USER_NOT_FOUND = new ErrorCode(1_002_018_001, "社交授权失败，找不到对应的用户");

    public static final ErrorCode SOCIAL_CLIENT_WEIXIN_MINI_APP_PHONE_CODE_ERROR = new ErrorCode(1_002_018_200, "获得手机号失败");
    public static final ErrorCode SOCIAL_CLIENT_NOT_EXISTS = new ErrorCode(1_002_018_201, "社交客户端不存在");
    public static final ErrorCode SOCIAL_CLIENT_UNIQUE = new ErrorCode(1_002_018_202, "社交客户端已存在配置");

    // ========== 系统敏感词 1-002-019-000 =========
    public static final ErrorCode SENSITIVE_WORD_NOT_EXISTS = new ErrorCode(1_002_019_000, "系统敏感词在所有标签中都不存在");
    public static final ErrorCode SENSITIVE_WORD_EXISTS = new ErrorCode(1_002_019_001, "系统敏感词已在标签中存在");

    // ========== OAuth2 客户端 1-002-020-000 =========
    public static final ErrorCode OAUTH2_CLIENT_NOT_EXISTS = new ErrorCode(1_002_020_000, "OAuth2 客户端不存在");
    public static final ErrorCode OAUTH2_CLIENT_EXISTS = new ErrorCode(1_002_020_001, "OAuth2 客户端编号已存在");
    public static final ErrorCode OAUTH2_CLIENT_DISABLE = new ErrorCode(1_002_020_002, "OAuth2 客户端已禁用");
    public static final ErrorCode OAUTH2_CLIENT_AUTHORIZED_GRANT_TYPE_NOT_EXISTS = new ErrorCode(1_002_020_003, "不支持该授权类型");
    public static final ErrorCode OAUTH2_CLIENT_SCOPE_OVER = new ErrorCode(1_002_020_004, "授权范围过大");
    public static final ErrorCode OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH = new ErrorCode(1_002_020_005, "无效 redirect_uri: {}");
    public static final ErrorCode OAUTH2_CLIENT_CLIENT_SECRET_ERROR = new ErrorCode(1_002_020_006, "无效 client_secret: {}");

    // ========== OAuth2 授权 1-002-021-000 =========
    public static final ErrorCode OAUTH2_GRANT_CLIENT_ID_MISMATCH = new ErrorCode(1_002_021_000, "client_id 不匹配");
    public static final ErrorCode OAUTH2_GRANT_REDIRECT_URI_MISMATCH = new ErrorCode(1_002_021_001, "redirect_uri 不匹配");
    public static final ErrorCode OAUTH2_GRANT_STATE_MISMATCH = new ErrorCode(1_002_021_002, "state 不匹配");

    // ========== OAuth2 授权 1-002-022-000 =========
    public static final ErrorCode OAUTH2_CODE_NOT_EXISTS = new ErrorCode(1_002_022_000, "code 不存在");
    public static final ErrorCode OAUTH2_CODE_EXPIRE = new ErrorCode(1_002_022_001, "code 已过期");

    // ========== 邮箱账号 1-002-023-000 ==========
    public static final ErrorCode MAIL_ACCOUNT_NOT_EXISTS = new ErrorCode(1_002_023_000, "邮箱账号不存在");
    public static final ErrorCode MAIL_ACCOUNT_RELATE_TEMPLATE_EXISTS = new ErrorCode(1_002_023_001, "无法删除，该邮箱账号还有邮件模板");

    // ========== 邮件模版 1-002-024-000 ==========
    public static final ErrorCode MAIL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_024_000, "邮件模版不存在");
    public static final ErrorCode MAIL_TEMPLATE_CODE_EXISTS = new ErrorCode(1_002_024_001, "邮件模版 code({}) 已存在");

    // ========== 邮件发送 1-002-025-000 ==========
    public static final ErrorCode MAIL_SEND_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_025_000, "邮件模板参数({})缺失");
    public static final ErrorCode MAIL_SEND_MAIL_NOT_EXISTS = new ErrorCode(1_002_025_001, "邮箱不存在");

    // ========== 站内信模版 1-002-026-000 ==========
    public static final ErrorCode NOTIFY_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_026_000, "notify.template.not.exists");
    public static final ErrorCode NOTIFY_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_002_026_001, "notify.template.code.duplicate");
    public static final ErrorCode NOTIFY_TEMPLATE_CLOSED = new ErrorCode(1_002_026_002, "当前模版已经关闭，请开启后再次尝试发送消息");

    // ========== 站内信模版 1-002-027-000 ==========

    // ========== 站内信发送 1-002-028-000 ==========
    public static final ErrorCode NOTIFY_SEND_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_028_000, "notify.send.template.param.miss");


    //=========== 工序信息 1-002-027-000 ============
    public static final ErrorCode PROCESS_NOT_EXISTS = new ErrorCode(1_002_027_000, "工序不存在");
    public static final ErrorCode PROCESS_IS_ENABLED = new ErrorCode(1_002_027_001, "工序已在工序组中启用，禁止关闭或删除");
    public static final ErrorCode PROCESS_ID_IS_NULL = new ErrorCode(1_002_027_002, "工序ID填写错误不存在");
    public static final ErrorCode PROCESS_NAME_EXISTS = new ErrorCode(1_002_027_003, "工序名称已存在");

    // ========== 机台  1-002-029-000 ==========
    public static final ErrorCode MACHINE_NOT_EXISTS = new ErrorCode(1_002_029_000, "machine.not.exists");
    public static final ErrorCode MACHINE_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_001, "machine.template.not.exists");
    public static final ErrorCode DEFAULT_TEMPLATE_COUNT = new ErrorCode(1_002_029_002, "default.template.count");
    public static final ErrorCode THE_CURRENT_MACHINE_IS_ALREADY_IN_USE = new ErrorCode(1_002_029_006, "the.current.machine.is.already.in.use");
    public static final ErrorCode MACHINE_ERROR = new ErrorCode(1_002_029_007, "machine.error");
    public static final ErrorCode THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS = new ErrorCode(1_002_029_008, "the.current.brand.of.the.machine.exists");
    public static final ErrorCode THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST = new ErrorCode(1_002_029_009, "the.model.of.the.machine.does.not.exist");
    public static final ErrorCode THE_CURRENT_BRAND = new ErrorCode(1_002_029_010, "the.current.brand");
    public static final ErrorCode MACHINE_NUM_ERROR = new ErrorCode(1_002_029_011, "machine.num.error");
    public static final ErrorCode MACHINE_NAME_ERROR = new ErrorCode(1_002_029_012, "machine.name.error");
    public static final ErrorCode MACHINETEMPLATE_NAME_ERROR = new ErrorCode(1_002_029_013, "machinetemplate.name.error");
    public static final ErrorCode LABELINGMACHINE_RELATED_DATA_ERROR = new ErrorCode(1_002_029_014, "labelingmachine.related.data.error");
    public static final ErrorCode DRILLMACHINE_RELATED_DATA_ERROR = new ErrorCode(1_002_029_015, "drillmachine.related.data.error");
    public static final ErrorCode MACHINE_DATA_ERROR = new ErrorCode(1_002_029_016, "machine.data.error");
    public static final ErrorCode MACHINE_NUM_DATA_ERROR = new ErrorCode(1_002_029_017, "machine.num.data.error");
    public static final ErrorCode MACHINE_USED_ALREADY = new ErrorCode(1_002_029_018, "machine.used.already");


    // ========== 标签模板  1-002-300-000 ==========
    public static final ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "label.template.not.exists");
    public static final ErrorCode LABEL_NOT_EXISTS = new ErrorCode(1_002_300_001, "label.not.exists");
    public static final ErrorCode DEFAULT_LABEL_NOT_EXISTS = new ErrorCode(1_002_300_002, "default.label.not.exists");
    public static final ErrorCode MACHINE_USE_LABEL = new ErrorCode(1_002_300_003, "machine.use.label");
    public static final ErrorCode DEFAULT_NOT_DELETED = new ErrorCode(1_002_300_004, "default.not.deleted");
    public static final ErrorCode LABEL_IS_USE_ERROR = new ErrorCode(1_002_300_006, "label.is.use.error");


    // ========== 系统数据源 1_002_301_000 ==========
    public static final ErrorCode DATA_SOURCE_NOT_EXISTS = new ErrorCode(1_002_301_000, "data.source.not.exists");

    //=========== 工序组信息 1-002-032-000 ============
    public static final ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_032_001, "工序组不存在");
    public static final ErrorCode PROCESS_GROUP_USED = new ErrorCode(1_002_032_002, "工序组已使用，禁止删除 ");
    public static final ErrorCode PROCESS_GROUP_NAME_EXISTS = new ErrorCode(1_002_032_003, "工序名称已存在");
    public static final ErrorCode PROCESS_GROUP_CUTTING_ERROR = new ErrorCode(1_002_032_004, "开料工序类型已经存在，禁止重复");
    public static final ErrorCode PROCESS_GROUP_PACKING_ERROR = new ErrorCode(1_002_032_005, "打包工序类型已经存在，禁止重复");
    public static final ErrorCode PROCESS_ITEM_NOT_EXISTS = new ErrorCode(1_002_032_006, "工序信息不存在");

    //=========== 工序信息 1-002-034-000 ============
    public static final ErrorCode PROCESS_USER_NOT_EXISTS = new ErrorCode(1_002_034_001, "工序用户不存在");
    public static final ErrorCode PROCESS_USER_EXISTS = new ErrorCode(1_002_034_002, "工序用户存在");

    // ========== 配件信息  1-002-035-000 ==========
    public static final ErrorCode ORDER_PARTS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_035_002, "order.parts.import.list.is.empty");



    //=========== 应用信息 1-002-037-000 ============
    public static final ErrorCode ERR = new ErrorCode(1_002_038_001, "未知错误");
    public static final ErrorCode DATA_ERR = new ErrorCode(1_002_038_002, "数据错误，需要清除数据重新导入");
    public static final ErrorCode REMAIN_PLATE_STATUS_USED = new ErrorCode(1_002_038_003, "remain.plate.status.used");
    public static final ErrorCode REMAIN_PLATE_STATUS_NO_USED = new ErrorCode(1_002_038_004, "remain.plate.status.no.used");
    public static final ErrorCode REMAIN_PLATE_USR_TYPE = new ErrorCode(1_002_038_005, "remain.plate.usr.type");
    public static final ErrorCode REMAIN_PLATE_ID_NOT_EXISTS = new ErrorCode(1_002_038_006, "remain.plate.id.not.exists");
    public static final ErrorCode APPLICATION_NOT_EXISTS = new ErrorCode(1_002_038_007, "应用信息不存在");
    public static final ErrorCode APPLICATION_LOGIN_USER_DISABLED = new ErrorCode(1_002_038_008, "应用登陆失败");
    public static final ErrorCode REMAIN_PLATE_COUNT_MAX = new ErrorCode(1_002_038_009, "remain.plate.count.max");


    //=========== 系统配置 1-002-040-000 ============
    public static final ErrorCode SYSTEM_CONFIG_NOT_EXISTS = new ErrorCode(1_002_040_001, "system.config.not_exists");
    public static final ErrorCode SYSTEM_CONFIG_TYPE_NOT_SUPPORT = new ErrorCode(1_002_040_002, "system.config.type_not_support");
    public static final ErrorCode SYSTEM_CONFIG_CUSTOM_PLATE_NO_RULE_SAVE_CHECK_ERROR = new ErrorCode(1_002_040_003, "system.config.custom_plate_no.rule_save_format_error");
    public static final ErrorCode SYSTEM_CONFIG_CUSTOM_PLATE_NO_RULE_RESET_NOT_SUPPORT = new ErrorCode(1_002_040_004, "system.config.custom_plate_no.rule_reset_not_support");
    public static final ErrorCode SYSTEM_CONFIG_CUSTOM_PLATE_NO_RULE_FIND = new ErrorCode(1_002_040_005, "system.config.custom_plate_no.rule_item_not_found");
    public static final ErrorCode SYSTEM_CONFIG_CUSTOM_PLATE_NO_ORDER_RESET_UPDATE_ERROR = new ErrorCode(1_002_040_006, "system.config.custom_plate_no.rule_order_reset_failed");
    public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_RULECODE_EMPTY_ERROR = new ErrorCode(1_002_040_007, "custom.plate_no.rule.code_empty");
    public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_RULECODE_NOT_MATCH_ERROR = new ErrorCode(1_002_040_008, "custom.plate_no.rule.code_not_match");
    public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_DATE_TYPE_FORMAT_ERROR = new ErrorCode(1_002_040_009, "custom.plate_no.rule.date_format_error");
    public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_CUSTOM_VALUE_EMPTY_ERROR = new ErrorCode(1_002_040_010, "custom.plate_no.rule.custom_value_empty");
    public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_RESETMODE_ERROR = new ErrorCode(1_002_040_011, "custom.plate_no.rule.reset_mode_error");
    public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_INT_TYPE_NO_EMPTY = new ErrorCode(1_002_040_012, "custom.plate_no.rule.int_type_empty");
    public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_INT_TYPE_ERROR = new ErrorCode(1_002_040_013, "custom.plate_no.rule.int_type_convert_error");
    public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_BOL_TYPE_ERROR = new ErrorCode(1_002_040_014, "custom.plate_no.rule.bool_type_convert_error");
    public static final ErrorCode SYSTEM_PROCESS_SCHEME_DATA_ERROR = new ErrorCode(1_002_040_015, "process.scheme.data_empty");
    public static final ErrorCode SYSTEM_PROCESS_SCHEME_CONFIG_DATA_ERROR = new ErrorCode(1_002_040_016, "process.scheme.config.data_empty");
    public static final ErrorCode SYSTEM_PROCESS_SCHEME_CONFIG_FIELD_ERROR = new ErrorCode(1_002_040_017, "process.scheme.config.field_error");
    public static final ErrorCode SYSTEM_PROCESS_SCHEME_CONFIG_IS_PLAN = new ErrorCode(1_002_040_018, "process.scheme.config.in_use");
    public static final ErrorCode SYSTEM_PROCESS_SCHEME_CONFIG_MACHINE_LABEL = new ErrorCode(1_002_040_019, "process.scheme.config.machine_label_empty");
    public static final ErrorCode THIS_CONFIG_DATA_ERROR = new ErrorCode(1_002_040_020, "config.data_error");
    public static final ErrorCode PROCESS_CONFIG_USED_ALREADY = new ErrorCode(1_002_040_021, "process.config.used_already");
    public static final ErrorCode OPTIMIZATION_CONFIG_USED_ALREADY = new ErrorCode(1_002_040_022, "optimization.config.used_already");
    public static final ErrorCode SEALEDGE_CONFIG_NOT_EXISTS = new ErrorCode(1_002_040_023, "sealedge.config.item_empty");
    public static final ErrorCode SEALEDGE_CONFIG_MAX_VALUE_DATA_ERROR = new ErrorCode(1_002_040_025, "sealedge.config.max_value_error");
    public static final ErrorCode SEALEDGE_CONFIG_DATA_ERROR = new ErrorCode(1_002_040_026, "sealedge.config.data_error");
    public static final ErrorCode THIS_CONFIG_NAME_IS_EXISTS = new ErrorCode(1_002_040_027, "sealedge.config.name_exists");
    public static final ErrorCode DECIMAL_PLACES_MAX_TWO = new ErrorCode(1_002_040_028, "sealedge.config.decimal_places_max_three");
    public static final ErrorCode SEALEDGE_CONFIG_MIN_VALUE_GREATER_THAN_ZERO = new ErrorCode(1_002_040_029, "sealedge.config.min_value_gt_zero");
    public static final ErrorCode SEALEDGE_CONFIG_MAX_VALUE_GREATER_THAN_ZERO = new ErrorCode(1_002_040_030, "sealedge.config.max_value_gt_zero");
    public static final ErrorCode SEALEDGE_CONFIG_VALUE_DATA_ERROR = new ErrorCode(1_002_040_031, "sealedge.config.value_range_error");



    //=========== token管理 1-002-042-000 ============
    public static final ErrorCode TOKEN_APP_TYPE_EXIST = new ErrorCode(1_002_042_001, "token.app_type.exist");
    public static final ErrorCode TOKEN_CONFIG_NOT_EXISTS = new ErrorCode(1_002_042_002, "token.config.not_exists");
    public static final ErrorCode TOKEN_TIME_IS_EXPIRES = new ErrorCode(1_002_042_003, "token.time.is_expires");
    public static final ErrorCode TOKEN_APP_TYPE_NO_UPDATE = new ErrorCode(1_002_042_004, "token.app_type.no_update");
    public static final ErrorCode TOKEN_DATA_IS_NULL = new ErrorCode(1_002_042_005, "token.data.is_null");
    public static final ErrorCode TOKEN_EXPIRES_TIME_IS_NULL = new ErrorCode(1_002_042_006, "token.expires_time.is_null");
    public static final ErrorCode TOKEN_EXPIRES_TIME_DATA_ERROR = new ErrorCode(1_002_042_007, "token.expires_time.data_error");
    public static final ErrorCode INSERT_TOKEN_DATA_ERROR = new ErrorCode(1_002_042_008, "token.insert.data_error");



    //=========== 资金管理 1-002-043-000 ============
    public static final ErrorCode INVOICE_NO_EXIST = new ErrorCode(1_002_043_002, "invoice.no_exist");
    public static final ErrorCode INVOICING_REJECT_REASON = new ErrorCode(1_002_043_003, "invoicing.reject_reason");
    public static final ErrorCode PURCHASE_RECORD_NO_EXIST = new ErrorCode(1_002_043_004, "purchase_record.no_exist");
    public static final ErrorCode THIS_INVOICE_IS_FAIL = new ErrorCode(1_002_043_005, "invoice.is_fail");
    public static final ErrorCode PRODUCTS_IS_EXIST = new ErrorCode(1_002_043_006, "products.is_exist");
    public static final ErrorCode PRODUCTS_NO_DELETE = new ErrorCode(1_002_043_007, "products.no_delete");
    public static final ErrorCode PRODUCTS_NO_UPDATE = new ErrorCode(1_002_043_008, "products.no_update");
    public static final ErrorCode PRODUCTS_DETAIL_NO_UPDATE = new ErrorCode(1_002_043_009, "products.detail.no_update");
    public static final ErrorCode ADVERTISEMENT_TIME_ERROR = new ErrorCode(1_002_043_010, "advertisement.time_error");
    public static final ErrorCode ADVERTISEMENT_NAME_IS_EXIST = new ErrorCode(1_002_043_011, "advertisement.name.is_exist");
    public static final ErrorCode ADVERTISEMENT_NO_DELETE = new ErrorCode(1_002_043_012, "advertisement.no_delete");
    public static final ErrorCode PRODUCT_PROMOTION_ACTIVE_NAME_IS_EXIST = new ErrorCode(1_002_043_013, "product_promotion.active.name.is_exist");
    public static final ErrorCode PRODUCT_PROMOTION_PURCHASEDURATION_IS_EXIST = new ErrorCode(1_002_043_014, "product_promotion.purchaseduration.is_exist");
    public static final ErrorCode INVOICE_TITLE_NOT_EXISTS_ERROR = new ErrorCode(1_002_043_017, "invoice_title.not_exists");
    public static final ErrorCode ORG_INVOICE_PURCHASE_RECORD_UPDATE_NUM_NOT_MATCH_ERROR = new ErrorCode(1_002_043_018, "org_invoice.purchase_record.update_num.not_match");
    public static final ErrorCode ORG_INVOICE_AGREE_FILE_NULL_ERROR = new ErrorCode(1_002_043_019, "org_invoice.agree_file.null");
    public static final ErrorCode INVOICE_TITLE_ORG_EXISTS_ERROR = new ErrorCode(1_002_043_020, "invoice_title.org.exists");
    public static final ErrorCode INVOICE_TITLE_TAXPAYERID_EXISTS_ERROR = new ErrorCode(1_002_043_021, "invoice_title.taxpayerid.exists");
    public static final ErrorCode PRODUCTS_NOT_NOLIST = new ErrorCode(1_002_043_022, "products.not_nolist");
    public static final ErrorCode ORG_PRODUCT_PURCHASE_LOCK_ERROR = new ErrorCode(1_002_043_023, "org_product.purchase.lock");
    public static final ErrorCode INVOICE_TITLE_ENTERPRISE_TAXNUMBER_EMPTY_ERROR = new ErrorCode(1_002_043_024, "invoice_title.enterprise.taxnumber.empty");
    public static final ErrorCode INVOICE_AMOUNT_ZERO_ERROR = new ErrorCode(1_002_043_025, "invoice.amount.zero");
    public static final ErrorCode INVOICE_APPLY_UNINVOICEABLE_EXIST = new ErrorCode(1_002_043_026, "invoice.apply.uninvoiceable.exist");

    //=========== 支付相关 1-002-048-000 ============
    public static final ErrorCode PAY_CHANNEL_NOT_SUPPORT = new ErrorCode(1_002_048_000, "pay.channel_not_support");
    public static final ErrorCode PAY_ORDER_NOT_EXIST = new ErrorCode(1_002_048_001, "pay.order_not_exist");
    public static final ErrorCode PAY_ORDER_CHANNEL_QUERY_NOT_EXIST = new ErrorCode(1_002_048_002, "pay.order_channel_query_not_exist");
    public static final ErrorCode PAY_ORDER_NOTIFY_DATA_PARSE_ERROR = new ErrorCode(1_002_048_003, "pay.order_notify_data_parse_error");
    public static final ErrorCode PAY_ORDER_STATUS_IS_NOT_WAITING = new ErrorCode(1_002_048_004, "pay.order_status_is_not_waiting");
    public static final ErrorCode PAY_ORDER_SUBMIT_CHANNEL_ERROR = new ErrorCode(1_002_048_005, "pay.order_submit_channel_error");
    public static final ErrorCode PAY_NOTIFY_PASSBACK_TRADETYPE_NOT_SUPPORT_ERROR = new ErrorCode(1_002_048_006, "pay.notify_passback_tradetype_not_support_error");

    //=========== 产品相关 1-002-045-000 ============
    public static final ErrorCode PRODUCTS_NO_EXIST = new ErrorCode(1_002_045_001, "product.no_exist");
    public static final ErrorCode PRODUCTS_DETAIL_NO_EXIST = new ErrorCode(1_002_045_002, "product.detail_no_exist");
    public static final ErrorCode PRODUCTS_DETAIL_DURATION_EXIST = new ErrorCode(1_002_045_003, "product.detail_duration_exist");
    public static final ErrorCode PRODUCT_PROMOTION_NO_EXIST = new ErrorCode(1_002_045_004, "product.promotion_no_exist");
    public static final ErrorCode PRODUCTS_DETAIL_DURATION_UNIT_NOT_SUPPORT = new ErrorCode(1_002_045_005, "product.detail_duration_unit_not_support");
    public static final ErrorCode ORG_PRODUCT_PURCHASE_WAIT_PAY_ERROR = new ErrorCode(1_002_045_006, "org.product_purchase_wait_pay_error");
    public static final ErrorCode PRODUCT_PRICE_NULL_ERROR = new ErrorCode(1_002_045_007, "product.price_null_error");
    public static final ErrorCode ORG_PRODUCT_PURCHASE_NOT_EXIST_ERROR = new ErrorCode(1_002_045_008, "org.product_purchase_not_exist_error");
    public static final ErrorCode ORG_PRODUCT_PURCHASE_EXIST_ERROR = new ErrorCode(1_002_045_009, "org.product_purchase_exist_error");
    public static final ErrorCode ORG_PRODUCT_PURCHASE_DELAY_RECORD_PAID_ERROR = new ErrorCode(1_002_045_010, "org.product_purchase_delay_record.paid.error");

    //=========== 广告相关 1-002-046-000 ============
    public static final ErrorCode ADVERTISEMENT_NO_EXIST = new ErrorCode(1_002_046_001, "advertisement.no_exist");
    public static final ErrorCode ADVERTISEMENT_STATUS_ENDTIME_EXPIRED = new ErrorCode(1_002_046_002, "advertisement.status_endtime_expired");
    public static final ErrorCode ADVERTISEMENT_IMAGE_EMPTY_ERROR = new ErrorCode(1_002_046_003, "advertisement.image_empty_error");
    public static final ErrorCode ADVERTISEMENT_IMAGE_UPLOAD_FAIL = new ErrorCode(1_002_046_004, "advertisement.image_upload_fail");
    public static final ErrorCode ADVERTISEMENT_UPDATE_STATUS_ERROR = new ErrorCode(1_002_046_005, "advertisement.update_status_error");


    //=========== 解析器管理 1-002-044-000 ============
    public static final ErrorCode PARSER_NO_EXIST = new ErrorCode(1_002_044_001, "parser.no_exist");
    public static final ErrorCode PARSER_TEMPLATE_NO_EXIST = new ErrorCode(1_002_044_002, "parser.template_no_exist");

    //=========== 产品延期管理 1-002-049-000 ============
    public static final ErrorCode PRODUCT_PURCHASE_NO_EXIST = new ErrorCode(1_002_049_001, "product_purchase.no_exist");
    public static final ErrorCode PRODUCT_PURCHASE_ENDTIME_BEFORE_DELAYTIME_ERROR = new ErrorCode(1_002_049_002, "product_purchase.endtime_before_delaytime_error");
    public static final ErrorCode PRODUCT_DELAY_UNIT_NOT_SUPPORT = new ErrorCode(1_002_049_003, "product.delay_duration_unit_not_support");

    //=========== 装配设置 1-002-050-000 ============
    public static final ErrorCode ASSEMBLY_CONFIG_IMPORT_ORDER_COMPONENTS_QUERY_ERROR = new ErrorCode(1_002_050_001, "assembly.config.import.order_components.query.error");
    public static final ErrorCode ASSEMBLY_CONFIG_NOT_EXIST = new ErrorCode(1_002_050_002, "assembly.config.not_exist");
    public static final ErrorCode ASSEMBLY_CONFIG_DO_CONFIG_EXIST = new ErrorCode(1_002_050_003, "assembly.config.do_config_exist");
    public static final ErrorCode ASSEMBLY_CONFIG_NEW_CONFIG_NAME_EXIST = new ErrorCode(1_002_050_004, "assembly.config.new_config_name_exist");
    public static final ErrorCode ASSEMBLY_CONFIG_SAVE_TOPNAME_EXIST = new ErrorCode(1_002_050_005, "assembly.config.save_topname_exist");
    public static final ErrorCode ASSEMBLY_CONFIG_NO_NEED_NEW_CONFIG = new ErrorCode(1_002_050_006, "assembly.config.no_need_new_config");
}
