From 962f78c8383e7c884ddb08c951c15e5ba6eb4cb8 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 23 十月 2026 15:43:33 +0800
Subject: [PATCH] fix: 完善审批流程与业务状态校验

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/enums/ErrorCodeConstants.java |   49 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/enums/ErrorCodeConstants.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/enums/ErrorCodeConstants.java
index c5fb7da..de79265 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/enums/ErrorCodeConstants.java
+++ b/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, "鏇存柊鑱旂郴浜鸿礋璐d汉澶辫触");
+    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, "鍛ㄦ湡鍊笺�恵}銆戞牸寮忎笉姝g‘锛屽簲涓� {}");
     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, "閿�鎴风敵璇峰鎵瑰け璐ワ紝鍘熷洜锛欱PM 瀹℃壒娴佺▼涓嶅瓨鍦紝璇峰厛鍦� 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, "鍙湁鑽夌鎴栧鏍镐笉閫氳繃鐘舵�佺殑閿�鎴风敵璇锋墠鑳藉垹闄�");
 
 }

--
Gitblit v1.9.3