From e347fd6e8b523b75e7eb28627ba3597cf9e40f6a Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 16 九月 2026 14:26:40 +0800
Subject: [PATCH] refactor(approval): 采购计划/采购订单审批由 BPM 改为轻量级状态机
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java | 31 +++++++++++++++++++++++++------
1 files changed, 25 insertions(+), 6 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 64e984f..20399ad 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
@@ -30,6 +30,11 @@
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, "閲囪喘璁㈠崟宸插叏閮ㄥ叆搴擄紝鏃犻渶纭鏀惰揣");
+ ErrorCode PURCHASE_ORDER_SUBMIT_FAIL_NOT_ALLOWED = new ErrorCode(1_030_101_015, "鎻愪氦澶辫触锛屽彧鏈夈�愭湭鎻愪氦銆戞垨銆愬鏍镐笉閫氳繃銆戠姸鎬佺殑閲囪喘璁㈠崟鎵嶈兘鎻愪氦");
+ ErrorCode PURCHASE_ORDER_AUDIT_FAIL_NOT_PROCESS = new ErrorCode(1_030_101_016, "瀹℃牳澶辫触锛屽彧鏈夈�愬鎵逛腑銆戠姸鎬佺殑閲囪喘璁㈠崟鎵嶈兘瀹℃牳");
+ ErrorCode PURCHASE_ORDER_AUDIT_REJECT_REASON_REQUIRED = new ErrorCode(1_030_101_017, "瀹℃牳涓嶉�氳繃鏃跺繀椤诲~鍐欓┏鍥炲師鍥�");
+ ErrorCode PURCHASE_ORDER_SUBMIT_FAIL_ITEM_EMPTY = new ErrorCode(1_030_101_018, "鎻愪氦澶辫触锛岄噰璐鍗曟病鏈夎鍗曢」锛岃鍏堟坊鍔犵墿鏂�");
+ ErrorCode PURCHASE_ORDER_UPDATE_FAIL_PROCESS = new ErrorCode(1_030_101_019, "閲囪喘璁㈠崟({})姝e湪瀹℃壒涓紝鏃犳硶淇敼");
// ========== ERP 閲囪喘鍏ュ簱锛�1-030-102-000锛� ==========
ErrorCode PURCHASE_IN_NOT_EXISTS = new ErrorCode(1_030_102_000, "閲囪喘鍏ュ簱鍗曚笉瀛樺湪");
@@ -53,18 +58,33 @@
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_ITEM_PRICE_EMPTY = new ErrorCode(1_030_104_021, "閲囪喘鐢宠鏄庣粏({})閲戦淇℃伅涓嶅畬鏁达紝鏃犳硶鐢熸垚閲囪喘璁㈠崟");
+
+ // ========== ERP 閲囪喘璁″垝锛�1-030-104-010锛� ==========
+ ErrorCode PURCHASE_PLAN_NOT_EXISTS = new ErrorCode(1_030_104_010, "閲囪喘璁″垝涓嶅瓨鍦�");
+ ErrorCode PURCHASE_PLAN_DELETE_FAIL_NOT_DRAFT = new ErrorCode(1_030_104_011, "閲囪喘璁″垝({})涓嶆槸鑽夌鐘舵�侊紝鏃犳硶鍒犻櫎");
+ ErrorCode PURCHASE_PLAN_UPDATE_FAIL_NOT_DRAFT = new ErrorCode(1_030_104_012, "閲囪喘璁″垝({})涓嶆槸鑽夌鐘舵�侊紝鏃犳硶淇敼");
+ ErrorCode PURCHASE_PLAN_SUBMIT_FAIL_NOT_DRAFT = new ErrorCode(1_030_104_013, "鎻愪氦澶辫触锛屽彧鏈夎崏绋跨姸鎬佺殑閲囪喘璁″垝鎵嶈兘鎻愪氦");
+ ErrorCode PURCHASE_PLAN_NO_EXISTS = new ErrorCode(1_030_104_014, "鐢熸垚璁″垝鍗曞彿澶辫触锛岃閲嶆柊鎻愪氦");
+ ErrorCode PURCHASE_PLAN_UPDATE_AUDIT_STATUS_FAIL_NOT_PROCESS = new ErrorCode(1_030_104_015, "鏇存柊瀹℃壒鐘舵�佸け璐ワ紝鍙湁瀹℃壒涓殑閲囪喘璁″垝鎵嶈兘鏇存柊");
+ ErrorCode PURCHASE_PLAN_NOT_APPROVE = new ErrorCode(1_030_104_016, "閲囪喘璁″垝鏈鏍搁�氳繃锛屾棤娉曟搷浣�");
+ ErrorCode PURCHASE_PLAN_REQUEST_EXISTS = new ErrorCode(1_030_104_017, "閲囪喘璁″垝宸茬敓鎴愰噰璐敵璇凤紝璇峰嬁閲嶅鎿嶄綔");
+ ErrorCode PURCHASE_PLAN_BPM_CATEGORY_NOT_EXISTS = new ErrorCode(1_030_104_018, "閲囪喘璁″垝瀹℃壒鍒嗙被涓嶅瓨鍦紝璇峰厛鍦˙PM妯″潡鍒涘缓閲囪喘璁″垝瀹℃壒娴佺▼鍒嗙被");
+ ErrorCode PURCHASE_PLAN_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_030_104_019, "閲囪喘璁″垝瀹℃壒鍒嗙被涓嬫病鏈夊彲鐢ㄧ殑娴佺▼妯″瀷锛岃鍏堝垱寤哄苟鍙戝竷娴佺▼");
+ ErrorCode PURCHASE_PLAN_ITEM_EMPTY = new ErrorCode(1_030_104_020, "閲囪喘璁″垝鏄庣粏涓嶈兘涓虹┖");
+ ErrorCode PURCHASE_PLAN_STOCK_ALERT_NO_ITEM = new ErrorCode(1_030_104_022,
+ "娌℃湁绗﹀悎搴撳瓨棰勮鏉′欢鐨勭墿鏂欙紝璇锋鏌ョ墿鏂欐槸鍚﹂厤缃粯璁や粨搴撳拰鏈�浣庡簱瀛橈紝骞剁‘璁ゅ綋鍓嶅簱瀛樹綆浜庢渶浣庡簱瀛�");
+ ErrorCode PURCHASE_PLAN_SUBMIT_FAIL_NOT_ALLOWED = new ErrorCode(1_030_104_023, "鎻愪氦澶辫触锛屽彧鏈夎崏绋挎垨瀹℃牳涓嶉�氳繃鐘舵�佺殑閲囪喘璁″垝鎵嶈兘鎻愪氦");
+ ErrorCode PURCHASE_PLAN_AUDIT_FAIL_NOT_PROCESS = new ErrorCode(1_030_104_024, "瀹℃牳澶辫触锛屽彧鏈夊鎵逛腑鐘舵�佺殑閲囪喘璁″垝鎵嶈兘瀹℃牳");
+ ErrorCode PURCHASE_PLAN_AUDIT_REJECT_REASON_REQUIRED = new ErrorCode(1_030_104_025, "瀹℃牳涓嶉�氳繃鏃跺繀椤诲~鍐欎笉閫氳繃鍘熷洜");
// ========== 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_UPDATE_FAIL_EDITING_PROHIBITED = new ErrorCode(1_030_105_002, "鏉ョエ({})涓嶆槸鏈鏍哥姸鎬侊紝鏃犳硶淇敼");
- ErrorCode PURCHASE_INVOICE_DELETE_FAIL_IS_APPROVE = new ErrorCode(1_030_105_003, "鍒犻櫎鏉ョエ澶辫触锛屽師鍥狅細鏉ョエ瀹℃壒宸查�氳繃");
- ErrorCode PURCHASE_INVOICE_UPDATE_AUDIT_STATUS_FAIL_NOT_PROCESS = new ErrorCode(1_030_105_005, "鏇存柊鏉ョエ瀹℃牳鐘舵�佸け璐ワ紝鍘熷洜锛氭潵绁ㄤ笉鏄鏍镐腑鐘舵��");
+ 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, "鍒涘缓鏉ョエ澶辫触锛屽師鍥狅細鏉ョエ閲戦瓒呭嚭閲囪喘璁㈠崟閲戦锛岀洰鍓嶅彲寮�绁細{} 鍏�");
- ErrorCode PURCHASE_INVOICE_APPROVE_FAIL = new ErrorCode(1_030_105_009, "瀹℃牳澶辫触锛屽彧鏈夋湭瀹℃牳鐨勬潵绁ㄦ墠鑳藉鏍�");
- ErrorCode PURCHASE_INVOICE_PROCESS_FAIL = new ErrorCode(1_030_105_010, "鍙嶅鏍稿け璐ワ紝鍙湁宸插鏍哥殑鏉ョエ鎵嶈兘鍙嶅鏍�");
// ========== ERP 閲囪喘閫�璐э紙1-030-103-000锛� ==========
ErrorCode PURCHASE_RETURN_NOT_EXISTS = new ErrorCode(1_030_103_000, "閲囪喘閫�璐у崟涓嶅瓨鍦�");
@@ -193,7 +213,6 @@
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_APPROVE = new ErrorCode(1_030_601_007, "鍒涘缓浠樻鍗曞け璐ワ紝鍘熷洜锛氬叧鑱旂殑鏉ョエ涓嶆槸瀹℃壒閫氳繃鐘舵��");
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, "鍒涘缓浠樻鍗曞け璐ワ紝鍘熷洜锛氫粯娆鹃噾棰濊秴鍑鸿鏉ョエ鍓╀綑鍙粯閲戦锛岀洰鍓嶅彲浠橈細{} 鍏�");
--
Gitblit v1.9.3