package com.zt.plat.module.erp.enums;

import com.zt.plat.framework.common.exception.ErrorCode;
// ========== ERP客商主数据 TODO 补充编号 ==========

public interface ErrorCodeConstants {

    // ========== 示例模块 1-001-000-000 ==========
    ErrorCode ERP_NOT_EXISTS = new ErrorCode(1_000_000_001, "获取ERP数据为空");
    ErrorCode ERP_NOT_JSON_EXISTS = new ErrorCode(1_000_000_002, "ERP接口响应无法解析为JSON");
    ErrorCode ERP_ERROR_EXISTS = new ErrorCode(1_000_000_003, "调用ERP RFC接口失败");
    ErrorCode ERP_REDIS_EXISTS = new ErrorCode(1_000_000_004, "公司调用缓存失败");

    ErrorCode ERP_CUSTOMER_NOT_EXISTS = new ErrorCode(1_001_000_001, "ERP客商主数据不存在");
    ErrorCode ERP_NUMBER_EXISTS = new ErrorCode(1_001_000_002, "工厂编码已存在");
    ErrorCode ERP_NUMBER_IS_NULL = new ErrorCode(1_001_000_003, "工厂编码为空");
    ErrorCode ERP_MATERIAL_NOT_EXISTS = new ErrorCode(1_002_000_001, "ERP物料数据不存在");
    ErrorCode ERP_MATERIAL_NOT_ALLOW_UPDATE = new ErrorCode(1_002_000_002, "只允许编辑状态为“供应链”的数据");
    ErrorCode ERP_MATERIAL_NOT_ALLOW_DELETE = new ErrorCode(1_002_000_003, "不允许删除状态为“ERP”的数据");
    ErrorCode ERP_MATERIAL_OTHER_NOT_ALLOW_DELETE = new ErrorCode(1_002_000_004, "只允许删除不存在配置关系的数据");
    ErrorCode ERP_MATERIAL_EXISTS = new ErrorCode(1_002_000_005, "已存在相同中铜编码的物料数据");

    ErrorCode ERP_COMPANY_NOT_EXISTS = new ErrorCode(1_003_000_001, "ERP公司数据不存在");
    ErrorCode ERP_COMPANY_REDIS_NOT_EXISTS = new ErrorCode(1_003_000_002, "ERP公司代码缓存数据丢失,请重新同步公司代码");

    ErrorCode ERP_BOM_NOT_EXISTS = new ErrorCode(1_004_000_001, "ERPBOM数据不存在");

    ErrorCode ERP_BOM_DETAIL_NOT_EXISTS = new ErrorCode(1_005_000_001, "ERPBOM明细数据不存在");

    ErrorCode ERP_PROCESS_NOT_EXISTS = new ErrorCode(1_006_000_001, "ERP工艺路线数据不存在");

    ErrorCode ERP_PROCESS_DETAIL_NOT_EXISTS = new ErrorCode(1_007_000_001, "ERP工艺路线明细数据不存在");

    ErrorCode ERP_FACTORY_NOT_EXISTS = new ErrorCode(1_008_000_001, "ERP工厂数据不存在");
    ErrorCode ERP_FACTORY_REDIS_NOT_EXISTS = new ErrorCode(1_008_000_002, "ERP工厂redis数据不存在");
    ErrorCode ERP_FACTORY_NOT_ALLOW_UPDATE = new ErrorCode(1_008_000_003, "类型为ERP的数据或启用的数据不允许编辑");
    ErrorCode ERP_FACTORY_EXISTS = new ErrorCode(1_008_000_004, "工厂编码重复,数据已存在");

    ErrorCode ERP_COSTCENTER_NOT_EXISTS = new ErrorCode(1_009_000_001, "ERP成本中心数据不存在");

    ErrorCode ERP_PRODUCTIVE_VERSION_NOT_EXISTS = new ErrorCode(1_010_000_001, "ERP生产版本数据不存在");

    ErrorCode ERP_PURCHASE_ORGANIZATION_NOT_EXISTS = new ErrorCode(1_011_000_001, "ERP采购组织数据不存在");

    ErrorCode ERP_INTERNAL_ORDER_NOT_EXISTS = new ErrorCode(1_012_000_001, "ERP内部订单数据不存在");

    ErrorCode ERP_SALES_ORGANIZATION_NOT_EXISTS = new ErrorCode(1_013_000_001, "ERP销售组织数据不存在");

    ErrorCode ERP_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_014_000_001, "ERP库位数据不存在");
    ErrorCode ERP_WAREHOUSE_NOT_ALLOW_UPDATE = new ErrorCode(1_014_000_002, "只允许状态为“供应链”，且“禁用”的数据编辑");
    ErrorCode ERP_WAREHOUSE_EXISTS = new ErrorCode(1_014_000_003, "已存在相同库位编码和工厂编码的记录");

    ErrorCode ERP_ASSET_NOT_EXISTS = new ErrorCode(1_015_000_001, "ERP资产卡片数据不存在");

    ErrorCode ERP_CONTRACT_NOT_EXISTS = new ErrorCode(1_016_000_001, "ERP合同数据不存在");

    ErrorCode ERP_PRODUCTIVE_ORDER_NOT_EXISTS = new ErrorCode(1_017_000_001, "ERP生产订单数据不存在");

    ErrorCode MATERIAL_ERROR  = new ErrorCode( 1_017_000_009, "主物料信息错误");
    ErrorCode CUSTOM_ERROR  = new ErrorCode(1_017_000_010, "{}");
    ErrorCode INTERNAL_WAREHOUSE_NOT_EXISTS= new  ErrorCode(1_017_000_011,"内部仓库不存在");
    ErrorCode INTERNAL_WAREHOUSE_EXISTS=new ErrorCode(1_017_000_012,"内部仓库已存在");
    ErrorCode WAREHOUSE_FACTORY_NOT_EXISTS=new  ErrorCode(1_017_000_010,"库位与工厂信息不存在");
}