From a0d55bcc8bfebd408d16166b27b7e05b3e4c9f4a Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 02 十一月 2026 16:51:50 +0800
Subject: [PATCH] feat(erp): 采购/销售明细按含税单价口径拆税,供应商合同补供应商名称与附件

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java
index f965eed..e1d1c6e 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java
@@ -12,6 +12,7 @@
     // ========== ERP 渚涘簲鍟嗭紙1-030-100-000锛� ==========
     ErrorCode SUPPLIER_NOT_EXISTS = new ErrorCode(1_030_100_000, "渚涘簲鍟嗕笉瀛樺湪");
     ErrorCode SUPPLIER_NOT_ENABLE = new ErrorCode(1_030_100_000, "渚涘簲鍟�({})鏈惎鐢�");
+    ErrorCode SUPPLIER_EXISTS_REFERENCE = new ErrorCode(1_030_100_001, "渚涘簲鍟嗗凡琚笟鍔″紩鐢紝鏃犳硶鍒犻櫎");
 
     // ========== ERP 閲囪喘璁㈠崟锛�1-030-101-000锛� ==========
     ErrorCode PURCHASE_ORDER_NOT_EXISTS = new ErrorCode(1_030_101_000, "閲囪喘璁㈠崟涓嶅瓨鍦�");
@@ -28,6 +29,7 @@
     ErrorCode PURCHASE_ORDER_BPM_CATEGORY_NOT_EXISTS = new ErrorCode(1_030_101_011, "閲囪喘瀹℃牳鍒嗙被涓嶅瓨鍦紝璇峰厛鍦˙PM妯″潡鍒涘缓閲囪喘瀹℃牳娴佺▼鍒嗙被");
     ErrorCode PURCHASE_ORDER_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_030_101_012, "閲囪喘瀹℃牳鍒嗙被涓嬫病鏈夊彲鐢ㄧ殑娴佺▼妯″瀷锛岃鍏堝垱寤哄苟鍙戝竷娴佺▼");
     ErrorCode PURCHASE_ORDER_SUBMIT_FAIL_STATUS = new ErrorCode(1_030_101_013, "鎻愪氦瀹℃壒澶辫触锛屽彧鏈夋湭瀹℃牳鐘舵�佺殑閲囪喘璁㈠崟鎵嶈兘鎻愪氦");
+    ErrorCode PURCHASE_ORDER_ALL_IN = new ErrorCode(1_030_101_014, "閲囪喘璁㈠崟宸插叏閮ㄥ叆搴擄紝鏃犻渶纭鏀惰揣");
 
     // ========== ERP 閲囪喘鍏ュ簱锛�1-030-102-000锛� ==========
     ErrorCode PURCHASE_IN_NOT_EXISTS = new ErrorCode(1_030_102_000, "閲囪喘鍏ュ簱鍗曚笉瀛樺湪");
@@ -51,6 +53,31 @@
     ErrorCode PURCHASE_REQUEST_ORDER_EXISTS = new ErrorCode(1_030_104_007, "閲囪喘鐢宠鍗曞凡鐢熸垚閲囪喘璁㈠崟锛岃鍕块噸澶嶆搷浣�");
     ErrorCode PURCHASE_REQUEST_BPM_CATEGORY_NOT_EXISTS = new ErrorCode(1_030_104_008, "閲囪喘鐢宠瀹℃壒鍒嗙被涓嶅瓨鍦紝璇峰厛鍦˙PM妯″潡鍒涘缓閲囪喘鐢宠瀹℃壒娴佺▼鍒嗙被");
     ErrorCode PURCHASE_REQUEST_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_030_104_009, "閲囪喘鐢宠瀹℃壒鍒嗙被涓嬫病鏈夊彲鐢ㄧ殑娴佺▼妯″瀷锛岃鍏堝垱寤哄苟鍙戝竷娴佺▼");
+    ErrorCode PURCHASE_REQUEST_RESET_FAIL_NOT_REJECT = new ErrorCode(1_030_104_010, "閲嶇疆澶辫触锛屽彧鏈夐┏鍥炵姸鎬佺殑閲囪喘鐢宠鍗曟墠鑳介噸缃�");
+
+    // ========== ERP 渚涘簲鍟嗗悎鍚岋紙1-030-106-000锛� ==========
+    ErrorCode SUPPLIER_CONTRACT_NOT_EXISTS = new ErrorCode(1_030_106_000, "渚涘簲鍟嗗悎鍚屼笉瀛樺湪");
+    ErrorCode SUPPLIER_CONTRACT_CODE_DUPLICATE = new ErrorCode(1_030_106_001, "鍚堝悓缂栫爜宸插瓨鍦�");
+    ErrorCode SUPPLIER_CONTRACT_USED_BY_ORDER = new ErrorCode(1_030_106_002, "璇ュ悎鍚屽凡鍏宠仈閲囪喘璁㈠崟锛屾棤娉曞垹闄わ紝璇峰厛瑙i櫎璁㈠崟鍏宠仈");
+    ErrorCode SUPPLIER_CONTRACT_SUPPLIER_MISMATCH = new ErrorCode(1_030_106_003, "鎵�閫夊悎鍚屼笉灞炰簬褰撳墠渚涘簲鍟嗭紝璇烽噸鏂伴�夋嫨璇ヤ緵搴斿晢鍚嶄笅鐨勫悎鍚�");
+
+    // ========== ERP 鐢宠閲囪喘鍗曪紙闇�姹傚崟锛夛紙1-030-107-000锛� ==========
+    ErrorCode PURCHASE_DEMAND_NOT_EXISTS = new ErrorCode(1_030_107_000, "鐢宠閲囪喘鍗曚笉瀛樺湪");
+    ErrorCode PURCHASE_DEMAND_NO_EXISTS = new ErrorCode(1_030_107_001, "鐢熸垚闇�姹傚崟鍙峰け璐ワ紝璇烽噸鏂版彁浜�");
+    ErrorCode PURCHASE_DEMAND_NOT_UNPURCHASED = new ErrorCode(1_030_107_002, "浠呮湭閲囪喘鐨勭敵璇烽噰璐崟鍙互鎿嶄綔");
+    ErrorCode PURCHASE_DEMAND_ALREADY_PURCHASED = new ErrorCode(1_030_107_003, "鐢宠閲囪喘鍗曞凡閲囪喘锛屼笉鑳介噸澶嶄笅鍗�");
+    ErrorCode PURCHASE_DEMAND_SUPPLIER_REQUIRED = new ErrorCode(1_030_107_004, "鐢宠閲囪喘鍗曟湭鎸囧畾渚涜揣鍟嗭紝鏃犳硶涓嬪崟");
+    ErrorCode PURCHASE_DEMAND_SUPPLIER_MISMATCH = new ErrorCode(1_030_107_005, "鎵�閫夌敵璇烽噰璐崟涓嶅睘浜庡悓涓�渚涜揣鍟嗭紝鏃犳硶鍚堝苟涓嬪崟");
+    ErrorCode PURCHASE_DEMAND_IDS_EMPTY = new ErrorCode(1_030_107_006, "璇峰厛鍕鹃�夐渶瑕侀噰璐笅鍗曠殑鐢宠閲囪喘鍗�");
+    ErrorCode PURCHASE_DEMAND_ITEMS_EMPTY = new ErrorCode(1_030_107_007, "鐢宠閲囪喘鍗曟病鏈夋槑缁嗭紝鏃犳硶鐢熸垚閲囪喘璁㈠崟");
+
+    // ========== ERP 閲囪喘鏉ョエ锛�1-030-105-000锛� ==========
+    ErrorCode PURCHASE_INVOICE_NOT_EXISTS = new ErrorCode(1_030_105_000, "鏉ョエ涓嶅瓨鍦�");
+    ErrorCode PURCHASE_INVOICE_NO_EXISTS = new ErrorCode(1_030_105_001, "鐢熸垚鏉ョエ缂栧彿澶辫触锛岃閲嶆柊鎻愪氦");
+    ErrorCode PURCHASE_INVOICE_DELETE_FAIL_HAS_PAYMENT = new ErrorCode(1_030_105_004, "鍒犻櫎鏉ョエ澶辫触锛屽師鍥狅細鏉ョエ宸插瓨鍦ㄦ湁鏁堜粯娆惧崟");
+    ErrorCode PURCHASE_INVOICE_CREATE_FAIL_ORDER_NOT_APPROVE = new ErrorCode(1_030_105_006, "鍒涘缓鏉ョエ澶辫触锛屽師鍥狅細閲囪喘璁㈠崟涓嶆槸瀹℃牳閫氳繃鐘舵��");
+    ErrorCode PURCHASE_INVOICE_CREATE_FAIL_SUPPLIER_MISMATCH = new ErrorCode(1_030_105_007, "鍒涘缓鏉ョエ澶辫触锛屽師鍥狅細鏉ョエ渚涘簲鍟嗕笌閲囪喘璁㈠崟涓嶄竴鑷�");
+    ErrorCode PURCHASE_INVOICE_CREATE_FAIL_PRICE_EXCEEDS_LIMIT = new ErrorCode(1_030_105_008, "鍒涘缓鏉ョエ澶辫触锛屽師鍥狅細鏉ョエ閲戦瓒呭嚭閲囪喘璁㈠崟閲戦锛岀洰鍓嶅彲寮�绁細{} 鍏�");
 
     // ========== ERP 閲囪喘閫�璐э紙1-030-103-000锛� ==========
     ErrorCode PURCHASE_RETURN_NOT_EXISTS = new ErrorCode(1_030_103_000, "閲囪喘閫�璐у崟涓嶅瓨鍦�");
@@ -85,6 +112,10 @@
     ErrorCode SALE_ORDER_CANCEL_FAIL = new ErrorCode(1_020_201_014, "浣滃簾澶辫触锛岃鍒锋柊椤甸潰鍚庨噸璇�");
     ErrorCode SALE_ORDER_ENABLE_FAIL_NOT_CANCEL = new ErrorCode(1_020_201_015, "鍚敤澶辫触锛岄攢鍞鍗�({})鏈綔搴燂紝鍙湁宸蹭綔搴熺殑璁㈠崟鎵嶈兘閲嶆柊鍚敤");
     ErrorCode SALE_ORDER_ENABLE_FAIL = new ErrorCode(1_020_201_016, "鍚敤澶辫触锛岃鍒锋柊椤甸潰鍚庨噸璇�");
+    ErrorCode SALE_ORDER_SUBMIT_FAIL_STATUS = new ErrorCode(1_020_201_017, "鎻愪氦瀹℃壒澶辫触锛岄攢鍞鍗�({})鍙湁鏈彁浜ゆ垨宸查┏鍥炵姸鎬佹墠鑳芥彁浜�");
+    ErrorCode SALE_ORDER_SUBMIT_FAIL_ITEM_EMPTY = new ErrorCode(1_020_201_018, "鎻愪氦瀹℃壒澶辫触锛岄攢鍞鍗�({})娌℃湁璁㈠崟鏄庣粏锛屾棤娉曟彁浜�");
+    ErrorCode SALE_ORDER_BPM_CATEGORY_NOT_EXISTS = new ErrorCode(1_020_201_019, "閿�鍞鍗曞鏍稿垎绫讳笉瀛樺湪锛岃鍏堝湪BPM妯″潡鍒涘缓閿�鍞鍗曞鏍告祦绋嬪垎绫�");
+    ErrorCode SALE_ORDER_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_020_201_020, "閿�鍞鍗曞鏍稿垎绫讳笅娌℃湁鍙敤鐨勬祦绋嬫ā鍨嬶紝璇峰厛鍒涘缓骞跺彂甯冩祦绋�");
 
     // ========== ERP 閿�鍞嚭搴擄紙1-030-202-000锛� ==========
     ErrorCode SALE_OUT_NOT_EXISTS = new ErrorCode(1_020_202_000, "閿�鍞嚭搴撳崟涓嶅瓨鍦�");
@@ -178,6 +209,15 @@
     ErrorCode FINANCE_PAYMENT_APPROVE_FAIL = new ErrorCode(1_030_601_003, "瀹℃牳澶辫触锛屽彧鏈夋湭瀹℃牳鐨勪粯娆惧崟鎵嶈兘瀹℃牳");
     ErrorCode FINANCE_PAYMENT_NO_EXISTS = new ErrorCode(1_030_601_004, "鐢熸垚浠樻鍗曞彿澶辫触锛岃閲嶆柊鎻愪氦");
     ErrorCode FINANCE_PAYMENT_UPDATE_FAIL_APPROVE = new ErrorCode(1_030_601_005, "浠樻鍗�({})宸插鏍革紝鏃犳硶淇敼");
+    ErrorCode FINANCE_PAYMENT_CREATE_FAIL_INVOICE_NOT_EXISTS = new ErrorCode(1_030_601_006, "鍒涘缓浠樻鍗曞け璐ワ紝鍘熷洜锛氬叧鑱旂殑鏉ョエ涓嶅瓨鍦�");
+    ErrorCode FINANCE_PAYMENT_CREATE_FAIL_INVOICE_NOT_ATTACHMENT = new ErrorCode(1_030_601_008, "鍒涘缓浠樻鍗曞け璐ワ紝鍘熷洜锛氬叧鑱旂殑鏉ョエ鏈笂浼犲彂绁ㄩ檮浠�");
+    ErrorCode FINANCE_PAYMENT_CREATE_FAIL_INVOICE_SUPPLIER_MISMATCH = new ErrorCode(1_030_601_009, "鍒涘缓浠樻鍗曞け璐ワ紝鍘熷洜锛氬叧鑱旂殑鏉ョエ涓庢墍閫変緵搴斿晢涓嶅尮閰�");
+    ErrorCode FINANCE_PAYMENT_CREATE_FAIL_INVOICE_PRICE_EXCEEDS = new ErrorCode(1_030_601_010, "鍒涘缓浠樻鍗曞け璐ワ紝鍘熷洜锛氫粯娆鹃噾棰濊秴鍑鸿鏉ョエ鍓╀綑鍙粯閲戦锛岀洰鍓嶅彲浠橈細{} 鍏�");
+    ErrorCode FINANCE_PAYMENT_SUBMIT_FAIL_STATUS = new ErrorCode(1_030_601_011, "鎻愪氦瀹℃壒澶辫触锛屽彧鏈夋湭瀹℃牳鐘舵�佺殑浠樻鍗曟墠鑳芥彁浜�");
+    ErrorCode FINANCE_PAYMENT_BPM_CATEGORY_NOT_EXISTS = new ErrorCode(1_030_601_012, "浠樻鍗曞鎵瑰垎绫讳笉瀛樺湪锛岃鍏堝湪BPM妯″潡鍒涘缓閲囪喘瀹℃牳娴佺▼鍒嗙被");
+    ErrorCode FINANCE_PAYMENT_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_030_601_013, "浠樻鍗曞鎵瑰垎绫讳笅娌℃湁鍙敤鐨勬祦绋嬫ā鍨嬶紝璇峰厛鍒涘缓骞跺彂甯冩祦绋�");
+    ErrorCode FINANCE_PAYMENT_UPDATE_FAIL_APPROVING = new ErrorCode(1_030_601_014, "浠樻鍗�({})瀹℃壒涓紝鏃犳硶淇敼");
+    ErrorCode FINANCE_PAYMENT_DELETE_FAIL_APPROVING = new ErrorCode(1_030_601_015, "浠樻鍗�({})瀹℃壒涓紝鏃犳硶鍒犻櫎");
 
     // ========== ERP 鏀舵鍗� 1-030-602-000 ==========
     ErrorCode FINANCE_RECEIPT_NOT_EXISTS = new ErrorCode(1_030_602_000, "鏀舵鍗曚笉瀛樺湪");
@@ -187,6 +227,17 @@
     ErrorCode FINANCE_RECEIPT_NO_EXISTS = new ErrorCode(1_030_602_004, "鐢熸垚鏀舵鍗曞彿澶辫触锛岃閲嶆柊鎻愪氦");
     ErrorCode FINANCE_RECEIPT_UPDATE_FAIL_APPROVE = new ErrorCode(1_030_602_005, "鏀舵鍗�({})宸插鏍革紝鏃犳硶淇敼");
 
+    // ========== ERP 棰勮璐х鐞� 1-030-701-000 ==========
+    ErrorCode PRESALE_TASK_NOT_EXISTS = new ErrorCode(1_030_701_000, "棰勫畾浠诲姟涓嶅瓨鍦�");
+    ErrorCode PRESALE_TASK_NOT_EDITABLE = new ErrorCode(1_030_701_001, "棰勫畾浠诲姟({})褰撳墠鐘舵�佷负銆恵}銆戯紝鍙湁銆愬緟澶囪揣銆戙�愬璐т腑銆戠殑浠诲姟鍙互淇敼");
+    ErrorCode PRESALE_TASK_NOT_DELETABLE = new ErrorCode(1_030_701_002, "棰勫畾浠诲姟({})褰撳墠鐘舵�佷负銆恵}銆戯紝鍙湁銆愬緟澶囪揣銆戠殑浠诲姟鍙互鍒犻櫎");
+    ErrorCode PRESALE_TASK_NOT_OPERABLE = new ErrorCode(1_030_701_003, "棰勫畾浠诲姟({})褰撳墠鐘舵�佷负銆恵}銆戯紝鍙湁銆愬緟澶囪揣銆戙�愬璐т腑銆戠殑浠诲姟鍙互{}");
+    ErrorCode PRESALE_ORDER_SUPPLIER_NOT_EXISTS = new ErrorCode(1_030_701_004, "渚涜揣鍟�(ID={})涓嶅瓨鍦ㄦ垨宸茶鍒犻櫎锛岃閲嶆柊閫夋嫨渚涜揣鍟�");
+    ErrorCode PRESALE_ORDER_QUANTITY_INVALID = new ErrorCode(1_030_701_005, "涓嬪崟鏁伴噺蹇呴』澶т簬 0锛屽綋鍓嶅~鍐欎负 {}锛岃淇敼鍚庨噸鏂版彁浜�");
+    ErrorCode PRESALE_ORDER_QUANTITY_EXCEED = new ErrorCode(1_030_701_006, "棰勫畾浠诲姟[{}]杩樻湁 {} 鏈笅鍗曪紝鏈濉啓 {} 瓒呭嚭鍙笅鍗曟暟閲忥紝璇锋妸涓嬪崟鏁伴噺璋冩暣鍒� {} 浠ュ唴");
+    ErrorCode PRESALE_TASK_UNIT_NOT_EXISTS = new ErrorCode(1_030_701_007, "鍟嗗搧[{}]鏈淮鎶よ閲忓崟浣嶏紝鏃犳硶鐢熸垚閲囪喘璁㈠崟锛岃鍏堝湪鍩虹鏁版嵁-鐗╂枡涓ˉ鍏呰閲忓崟浣�");
+    ErrorCode PRESALE_ORDER_PURCHASE_CREATE_FAIL = new ErrorCode(1_030_701_008, "宸茬敓鎴愪笅鍗曡褰曪紝浣嗛噰璐鍗曞垱寤哄け璐ワ細{}");
+
     // ========== ERP 浠撳簱鏄犲皠 1-030-700-000 ==========
     ErrorCode WAREHOUSE_MAPPING_NOT_EXISTS = new ErrorCode(1_030_700_000, "浠撳簱鏄犲皠涓嶅瓨鍦�");
     ErrorCode WAREHOUSE_MAPPING_EXISTS = new ErrorCode(1_030_700_001, "璇RP浠撳簱宸插瓨鍦ㄦ槧灏勯厤缃�");

--
Gitblit v1.9.3