liu
2026-10-23 962f78c8383e7c884ddb08c951c15e5ba6eb4cb8
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/enums/ErrorCodeConstants.java
@@ -19,11 +19,19 @@
    ErrorCode CONTRACT_GENERATE_ORDER_FAIL_NOT_APPROVE = new ErrorCode(1_020_000_006, "生成销售订单失败,原因:合同未审批通过");
    ErrorCode CONTRACT_GENERATE_ORDER_FAIL_EXISTS_ORDER = new ErrorCode(1_020_000_007, "生成销售订单失败,原因:已关联销售订单【{}】");
    ErrorCode CONTRACT_GENERATE_ORDER_FAIL_NO_PRODUCT = new ErrorCode(1_020_000_008, "生成销售订单失败,原因:合同没有产品信息");
    ErrorCode CONTRACT_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_020_000_009, "合同审批流程不存在或未激活,请检查 BPM 配置");
    ErrorCode CONTRACT_SUBMIT_FAIL_NOT_EDITABLE = new ErrorCode(1_020_000_010, "只有未提交或审核不通过状态的合同才能提交审批");
    ErrorCode CONTRACT_AUDIT_FAIL_NOT_PROCESS = new ErrorCode(1_020_000_012, "只有审批中状态的合同才能审核");
    ErrorCode CONTRACT_AUDIT_REJECT_REASON_REQUIRED = new ErrorCode(1_020_000_014, "审核不通过时必须填写不通过原因");
    ErrorCode CONTRACT_DELETE_FAIL_NOT_EDITABLE = new ErrorCode(1_020_000_015, "只有未提交或审核不通过状态的合同才能删除");
    ErrorCode CONTRACT_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_020_000_009, "导入合同数据不能为空!");
    ErrorCode CONTRACT_NAME_EXISTS = new ErrorCode(1_020_000_011, "已存在合同【{}】,且未开启覆盖!");
    ErrorCode CONTRACT_IMPORT_CUSTOMER_NOT_EXISTS = new ErrorCode(1_020_000_013, "客户【{}】不存在!");
    // ========== 线索管理 1-020-001-000 ==========
    ErrorCode CLUE_NOT_EXISTS = new ErrorCode(1_020_001_000, "线索不存在");
    ErrorCode CLUE_TRANSFORM_FAIL_ALREADY = new ErrorCode(1_020_001_001, "线索已经转化过了,请勿重复转化");
    ErrorCode CLUE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_020_001_002, "导入线索数据不能为空!");
    ErrorCode CLUE_NAME_EXISTS = new ErrorCode(1_020_001_003, "已存在线索【{}】,且未开启覆盖!");
    // ========== 商机管理 1-020-002-000 ==========
    ErrorCode BUSINESS_NOT_EXISTS = new ErrorCode(1_020_002_000, "商机不存在");
@@ -31,11 +39,17 @@
    ErrorCode BUSINESS_UPDATE_STATUS_FAIL_END_STATUS = new ErrorCode(1_020_002_002, "更新商机状态失败,原因:已经是结束状态");
    ErrorCode BUSINESS_UPDATE_STATUS_FAIL_STATUS_EQUALS = new ErrorCode(1_020_002_003, "更新商机状态失败,原因:已经是该状态");
    ErrorCode BUSINESS_CONTACT_CUSTOMER_NOT_MATCH = new ErrorCode(1_020_002_004, "商机关联的联系人不属于该客户");
    ErrorCode BUSINESS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_020_002_005, "导入商机数据不能为空!");
    ErrorCode BUSINESS_NAME_EXISTS = new ErrorCode(1_020_002_006, "已存在商机【{}】,且未开启覆盖!");
    ErrorCode BUSINESS_IMPORT_CUSTOMER_NOT_EXISTS = new ErrorCode(1_020_002_007, "客户【{}】不存在!");
    // ========== 联系人管理 1-020-003-000 ==========
    ErrorCode CONTACT_NOT_EXISTS = new ErrorCode(1_020_003_000, "联系人不存在");
    ErrorCode CONTACT_DELETE_FAIL_CONTRACT_LINK_EXISTS = new ErrorCode(1_020_003_002, "联系人已关联合同,不能删除");
    ErrorCode CONTACT_UPDATE_OWNER_USER_FAIL = new ErrorCode(1_020_003_003, "更新联系人负责人失败");
    ErrorCode CONTACT_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_020_003_004, "导入联系人数据不能为空!");
    ErrorCode CONTACT_NAME_EXISTS = new ErrorCode(1_020_003_005, "已存在联系人【{}】,且未开启覆盖!");
    ErrorCode CONTACT_IMPORT_CUSTOMER_NOT_EXISTS = new ErrorCode(1_020_003_006, "客户【{}】不存在!");
    // ========== 回款 1-020-004-000 ==========
    ErrorCode RECEIVABLE_NOT_EXISTS = new ErrorCode(1_020_004_000, "回款不存在");
@@ -126,8 +140,9 @@
    ErrorCode INVOICE_NO_EXISTS = new ErrorCode(1_020_016_001, "生成开票序列号重复,请重试");
    ErrorCode INVOICE_UPDATE_FAIL_EDITING_PROHIBITED = new ErrorCode(1_020_016_002, "更新开票失败,原因:禁止编辑");
    ErrorCode INVOICE_DELETE_FAIL_IS_APPROVE = new ErrorCode(1_020_016_003, "删除开票失败,原因:开票审批已通过");
    ErrorCode INVOICE_SUBMIT_FAIL_NOT_DRAFT = new ErrorCode(1_020_016_004, "开票提交审核失败,原因:开票没处在未提交状态");
    ErrorCode INVOICE_UPDATE_AUDIT_STATUS_FAIL_NOT_PROCESS = new ErrorCode(1_020_016_005, "更新开票审核状态失败,原因:开票不是审核中状态");
    ErrorCode INVOICE_SUBMIT_FAIL_NOT_EDITABLE = new ErrorCode(1_020_016_004, "只有草稿或审核不通过状态的开票才能提交审批");
    ErrorCode INVOICE_AUDIT_FAIL_NOT_PROCESS = new ErrorCode(1_020_016_005, "只有审批中状态的开票才能审核");
    ErrorCode INVOICE_AUDIT_REJECT_REASON_REQUIRED = new ErrorCode(1_020_016_013, "审核不通过时必须填写不通过原因");
    ErrorCode INVOICE_CREATE_FAIL_CONTRACT_NOT_APPROVE = new ErrorCode(1_020_016_006, "创建开票失败,原因:合同不是审核通过状态");
    ErrorCode INVOICE_CREATE_FAIL_PRICE_EXCEEDS_LIMIT = new ErrorCode(1_020_016_007, "创建开票失败,原因:开票金额超出合同金额,目前可开票:{} 元");
    ErrorCode RECEIVABLE_CREATE_FAIL_INVOICE_NOT_EXISTS = new ErrorCode(1_020_016_008, "创建回款失败,原因:关联的开票不存在");
@@ -139,6 +154,9 @@
    ErrorCode CRM_SALES_TARGET_NOT_EXISTS = new ErrorCode(1_020_017_000, "销售目标不存在");
    ErrorCode CRM_SALES_TARGET_PERIOD_VALUE_INVALID = new ErrorCode(1_020_017_001, "周期值【{}】格式不正确,应为 {}");
    ErrorCode CRM_SALES_TARGET_DIMENSION_TARGET_MISSING = new ErrorCode(1_020_017_002, "请填写目标{}编号");
    ErrorCode CRM_SALES_TARGET_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_020_017_003, "导入销售目标数据不能为空!");
    ErrorCode CRM_SALES_TARGET_NAME_EXISTS = new ErrorCode(1_020_017_004, "已存在销售目标【{}】,且未开启覆盖!");
    ErrorCode CRM_SALES_TARGET_IMPORT_DIMENSION_TARGET_NOT_FOUND = new ErrorCode(1_020_017_005, "{}【{}】不存在!");
    // ========== 电力营销扩展 1_020_018_000 ==========
    ErrorCode CRM_CREDIT_RATING_NOT_EXISTS = new ErrorCode(1_020_018_000, "信用评级记录不存在");
@@ -154,12 +172,25 @@
    ErrorCode CRM_CANCELLATION_NOT_EXISTS = new ErrorCode(1_020_018_006, "销户申请不存在");
    ErrorCode CRM_CANCELLATION_NO_DUPLICATE = new ErrorCode(1_020_018_007, "销户申请编号已存在");
    ErrorCode CRM_REFUND_SUBMIT_FAIL_NOT_DRAFT = new ErrorCode(1_020_018_008, "退费单审批失败,原因:退费单不处于草稿状态");
    ErrorCode CRM_REFUND_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_020_018_009, "退费单审批失败,原因:BPM 审批流程不存在,请先在 BPM 管理后台配置退费审批流程");
    ErrorCode CRM_REFUND_UPDATE_AUDIT_STATUS_FAIL_NOT_PROCESS = new ErrorCode(1_020_018_010, "退费单审批失败,原因:退费单不处于审批中,无法更新审批结果");
    ErrorCode CRM_REFUND_UPDATE_FAIL_APPROVE = new ErrorCode(1_020_018_015, "修改退费单失败,原因:退费单已审核通过,不允许修改");
    ErrorCode CRM_REFUND_DELETE_FAIL_APPROVE = new ErrorCode(1_020_018_016, "删除退费单失败,原因:退费单已审核通过,不允许删除");
    ErrorCode CRM_REFUND_SUBMIT_FAIL_NOT_EDITABLE = new ErrorCode(1_020_018_008, "只有草稿或审核不通过状态的退费单才能提交审批");
    ErrorCode CRM_REFUND_AUDIT_FAIL_NOT_PROCESS = new ErrorCode(1_020_018_009, "只有审批中状态的退费单才能审核");
    ErrorCode CRM_REFUND_AUDIT_REJECT_REASON_REQUIRED = new ErrorCode(1_020_018_010, "审核不通过时必须填写不通过原因");
    ErrorCode CRM_CANCELLATION_SUBMIT_FAIL_NOT_DRAFT = new ErrorCode(1_020_018_011, "销户申请审批失败,原因:销户申请不处于草稿状态");
    ErrorCode CRM_CANCELLATION_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_020_018_012, "销户申请审批失败,原因:BPM 审批流程不存在,请先在 BPM 管理后台配置销户审批流程");
    ErrorCode CRM_CANCELLATION_UPDATE_AUDIT_STATUS_FAIL_NOT_PROCESS = new ErrorCode(1_020_018_013, "销户申请审批失败,原因:销户申请不处于审批中,无法更新审批结果");
    ErrorCode CRM_CANCELLATION_UPDATE_FAIL_APPROVE = new ErrorCode(1_020_018_017, "修改销户申请失败,原因:销户申请已审核通过,不允许修改");
    ErrorCode CRM_CANCELLATION_DELETE_FAIL_APPROVE = new ErrorCode(1_020_018_018, "删除销户申请失败,原因:销户申请已审核通过,不允许删除");
    ErrorCode CRM_CANCELLATION_SUBMIT_FAIL_NOT_EDITABLE = new ErrorCode(1_020_018_011, "只有草稿或审核不通过状态的销户申请才能提交审批");
    ErrorCode CRM_CANCELLATION_AUDIT_FAIL_NOT_PROCESS = new ErrorCode(1_020_018_012, "只有审批中状态的销户申请才能审核");
    ErrorCode CRM_CANCELLATION_AUDIT_REJECT_REASON_REQUIRED = new ErrorCode(1_020_018_013, "审核不通过时必须填写不通过原因");
    ErrorCode CRM_CREDIT_RATING_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_020_018_019, "导入信用评级数据不能为空!");
    ErrorCode CRM_CREDIT_RATING_IMPORT_CUSTOMER_NOT_EXISTS = new ErrorCode(1_020_018_020, "客户【{}】不存在!");
    ErrorCode CRM_CREDIT_RATING_NAME_EXISTS = new ErrorCode(1_020_018_021, "已存在客户【{}】的信用评级,且未开启覆盖!");
    ErrorCode CRM_REFUND_UPDATE_FAIL_NOT_EDITABLE = new ErrorCode(1_020_018_022, "只有草稿或审核不通过状态的退费单才能修改");
    ErrorCode CRM_REFUND_DELETE_FAIL_NOT_EDITABLE = new ErrorCode(1_020_018_023, "只有草稿或审核不通过状态的退费单才能删除");
    ErrorCode CRM_CANCELLATION_UPDATE_FAIL_NOT_EDITABLE = new ErrorCode(1_020_018_024, "只有草稿或审核不通过状态的销户申请才能修改");
    ErrorCode CRM_CANCELLATION_DELETE_FAIL_NOT_EDITABLE = new ErrorCode(1_020_018_025, "只有草稿或审核不通过状态的销户申请才能删除");
}