From 84ac2b6b12bc3e5de072661fb25e87877c01d0d7 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 18 七月 2026 13:41:35 +0800
Subject: [PATCH] feat(crm): 添加客户权限过滤功能并实现销售订单客户权限控制

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java |   71 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
index 14c22c2..2dc155a 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
@@ -265,6 +265,13 @@
     ErrorCode PRO_WORK_ORDER_PRODUCT_MISMATCH = new ErrorCode(1_040_502_005, "褰撳墠浜у搧鐗╂枡涓庣敓浜у伐鍗曚骇鍝佷笉涓�鑷�");
     ErrorCode PRO_WORK_ORDER_BOM_NOT_EXISTS = new ErrorCode(1_040_502_100, "鐢熶骇宸ュ崟BOM涓嶅瓨鍦�");
 
+    // ========== MES 鐢熶骇绠$悊-鐢熶骇宸ュ崟鍙傛暟璁板綍锛�1-040-502-200锛� ==========
+    ErrorCode PRO_WORK_ORDER_PARAM_RECORD_NOT_EXISTS = new ErrorCode(1_040_502_200, "宸ュ崟鍙傛暟璁板綍涓嶅瓨鍦�");
+    ErrorCode PRO_WORK_ORDER_PARAM_RECORD_TEMPLATE_NO_DETAIL = new ErrorCode(1_040_502_201, "鍙傛暟妯℃澘娌℃湁鏄庣粏锛屾棤娉曞垱寤鸿褰�");
+    ErrorCode PRO_WORK_ORDER_PARAM_RECORD_DETAIL_NOT_IN_TEMPLATE = new ErrorCode(1_040_502_202, "鍙傛暟鏄庣粏涓嶅睘浜庢墍閫夋ā鏉�");
+    ErrorCode PRO_WORK_ORDER_PARAM_RECORD_REQUIRED_PARAM_MISSING = new ErrorCode(1_040_502_203, "蹇呭~鍙傛暟銆恵}銆戞湭濉啓");
+    ErrorCode PRO_WORK_ORDER_PARAM_RECORD_TEMPLATE_NOT_CHANGE = new ErrorCode(1_040_502_204, "涓嶅厑璁告洿鎹㈠弬鏁版ā鏉匡紝璇峰垹闄ゅ悗閲嶆柊鍒涘缓");
+
     // ========== MES 鐢熶骇绠$悊-鐢熶骇浠诲姟锛�1-040-503-000锛� ==========
     ErrorCode PRO_TASK_NOT_EXISTS = new ErrorCode(1_040_503_000, "鐢熶骇浠诲姟涓嶅瓨鍦�");
     ErrorCode PRO_TASK_ALREADY_FINISHED = new ErrorCode(1_040_503_001, "鐢熶骇浠诲姟宸插畬鎴愭垨宸插彇娑堬紝涓嶈兘缁х画鎿嶄綔");
@@ -272,6 +279,7 @@
     ErrorCode PRO_TASK_WORKSTATION_MISMATCH = new ErrorCode(1_040_503_003, "鐢熶骇浠诲姟涓嶅睘浜庡綋鍓嶅伐浣滅珯");
     ErrorCode PRO_TASK_ROUTE_PROCESS_MISMATCH = new ErrorCode(1_040_503_004, "鐢熶骇浠诲姟涓庡綋鍓嶅伐鑹鸿矾绾挎垨宸ュ簭涓嶄竴鑷�");
     ErrorCode PRO_TASK_ITEM_MISMATCH = new ErrorCode(1_040_503_005, "鐢熶骇浠诲姟浜у搧涓庡綋鍓嶄骇鍝佺墿鏂欎笉涓�鑷�");
+    ErrorCode PRO_TASK_HAS_FEEDBACK = new ErrorCode(1_040_503_006, "璇ヤ换鍔′笅瀛樺湪鎶ュ伐璁板綍锛屾棤娉曞垹闄わ紙閬垮厤鎶ュ伐杩芥函鏂摼锛�");
     ErrorCode PRO_WORKSTATION_PROCESS_MISMATCH = new ErrorCode(1_040_503_006, "宸ヤ綔绔欐墍灞炲伐搴忎笌褰撳墠宸ュ簭涓嶄竴鑷�");
     // ========== MES 鐢熶骇绠$悊-鐢熶骇浠诲姟鎶曟枡锛�1-040-503-100锛� ==========
     ErrorCode PRO_TASK_ISSUE_NOT_EXISTS = new ErrorCode(1_040_503_100, "鐢熶骇浠诲姟鎶曟枡璁板綍涓嶅瓨鍦�");
@@ -299,6 +307,7 @@
     ErrorCode PRO_FEEDBACK_QUANTITY_MUST_POSITIVE = new ErrorCode(1_040_506_010, "鎶ュ伐鏁伴噺蹇呴』澶т簬 0");
     ErrorCode PRO_FEEDBACK_QUALIFIED_UNQUALIFIED_REQUIRED = new ErrorCode(1_040_506_011, "璇疯緭鍏ュ悎鏍煎搧鍜屼笉鑹搧鏁伴噺锛屼笖鍚堣椤诲ぇ浜� 0");
     ErrorCode PRO_FEEDBACK_UNCHECK_QUANTITY_EXISTS = new ErrorCode(1_040_506_012, "褰撳墠鎶ュ伐鍗曟湭瀹屾垚妫�楠岋紙寰呮鏁伴噺锛歿}锛夛紝鏃犳硶鎵ц鎶ュ伐");
+    ErrorCode PRO_FEEDBACK_BACKFLUSH_BOM_REQUIRED = new ErrorCode(1_040_506_013, "褰撳墠宸ュ簭涓哄�掑啿宸ュ簭锛屼絾鏈厤缃瓸OM娑堣�楋紝鏃犳硶鎶ュ伐");
 
     // ========== MES 鐢熶骇绠$悊-鐢熶骇娴佽浆鍗★紙1-040-507-000锛� ==========
     ErrorCode PRO_CARD_NOT_EXISTS = new ErrorCode(1_040_507_000, "鐢熶骇娴佽浆鍗′笉瀛樺湪");
@@ -312,6 +321,17 @@
     // ========== MES 鐢熶骇绠$悊-宸ヤ綔璁板綍锛�1-040-508-000锛� ==========
     ErrorCode WORK_RECORD_NOT_CLOCK_IN = new ErrorCode(1_040_508_001, "褰撳墠鐢ㄦ埛鏈笂宸ワ紝鏃犳硶涓嬪伐");
     ErrorCode WORK_RECORD_ALREADY_CLOCK_IN = new ErrorCode(1_040_508_002, "褰撳墠鐢ㄦ埛宸蹭笂宸ワ紝璇峰厛涓嬪伐鍐嶆搷浣�");
+
+    // ========== MES 鐢熶骇绠$悊-鐢熶骇涓昏鍒� MPS锛�1-040-509-000锛� ==========
+    ErrorCode PRO_MPS_NOT_EXISTS = new ErrorCode(1_040_509_000, "MPS 涓嶅瓨鍦�");
+    ErrorCode PRO_MPS_NOT_DRAFT = new ErrorCode(1_040_509_001, "鍙湁鑽夌鐘舵�佺殑 MPS 鎵嶈兘鎵ц姝ゆ搷浣�");
+    ErrorCode PRO_MPS_NOT_ISSUED = new ErrorCode(1_040_509_002, "鍙湁宸蹭笅鍙戠姸鎬佺殑 MPS 鎵嶈兘鎵ц姝ゆ搷浣�");
+    ErrorCode PRO_MPS_ALREADY_ISSUED = new ErrorCode(1_040_509_003, "MPS 宸蹭笅鍙戯紝鏃犳硶淇敼");
+    ErrorCode PRO_MPS_MERGE_AT_LEAST_TWO = new ErrorCode(1_040_509_004, "鍚堝苟涓嬪彂鑷冲皯闇�瑕侀�夋嫨涓ゆ潯 MPS");
+    ErrorCode PRO_MPS_MERGE_PRODUCT_MISMATCH = new ErrorCode(1_040_509_005, "鍚堝苟涓嬪彂鐨� MPS 蹇呴』鏄浉鍚屼骇鍝�");
+    ErrorCode PRO_MPS_CODE_DUPLICATE = new ErrorCode(1_040_509_006, "MPS 缂栫爜宸插瓨鍦�");
+    ErrorCode PRO_MPS_HAS_WORK_ORDER = new ErrorCode(1_040_509_007, "MPS 宸插叧鑱旂敓浜у伐鍗曪紝鏃犳硶鍒犻櫎");
+    ErrorCode PRO_MPS_MES_PRODUCT_NOT_EXISTS = new ErrorCode(1_040_509_008, "MES 浜у搧涓嶅瓨鍦紝鏃犳硶鍒涘缓 MPS锛屼骇鍝侊細{}");
 
     // ========== MES 璐ㄩ噺绠$悊-璐ㄦ鏂规锛�1-040-600-000锛� ==========
     ErrorCode QC_TEMPLATE_NOT_EXISTS = new ErrorCode(1_040_600_000, "璐ㄦ鏂规涓嶅瓨鍦�");
@@ -339,6 +359,7 @@
     ErrorCode QC_IQC_NOT_PREPARE = new ErrorCode(1_040_603_002, "鍙湁鑽夌鐘舵�佺殑妫�楠屽崟鎵嶅彲鎿嶄綔");
     ErrorCode QC_IQC_QUANTITY_MISMATCH = new ErrorCode(1_040_603_004, "鍚堟牸鍝佷笌涓嶅悎鏍煎搧鏁伴噺涔嬪拰椤荤瓑浜庢娴嬫暟閲�");
     ErrorCode QC_NO_TEMPLATE = new ErrorCode(1_040_603_005, "褰撳墠浜у搧鏈厤缃娴嬫ā鏉�");
+    ErrorCode QC_NO_TEMPLATE_FOR_ITEM = new ErrorCode(1_040_603_008, "鐗╂枡銆恵}銆戞湭閰嶇疆 IQC 妫�娴嬫ā鏉匡紝璇峰厛鍦ㄨ川閲忕鐞嗕腑閰嶇疆");
     ErrorCode QC_IQC_SOURCE_DOC_PARAMS_MISSING = new ErrorCode(1_040_603_006, "鏉ユ簮鍗曟嵁绫诲瀷闈炵┖鏃讹紝鏉ユ簮鍗曟嵁 ID 鍜屾潵婧愬崟鎹 ID 涓嶈兘涓虹┖");
     ErrorCode QC_IQC_CHECK_RESULT_EMPTY = new ErrorCode(1_040_603_007, "瀹屾垚妫�楠屽崟鍓嶏紝妫�娴嬬粨鏋滃繀椤诲~鍐�");
     // ========== MES 璐ㄩ噺绠$悊-鏉ユ枡妫�楠岃锛�1-040-603-100锛� ==========
@@ -438,6 +459,7 @@
     ErrorCode WM_TRANSACTION_BATCH_NOT_EXISTS = new ErrorCode(1_040_703_012, "鎵规璁板綍涓嶅瓨鍦�");
     ErrorCode WM_MATERIAL_STOCK_REQUIRED = new ErrorCode(1_040_703_013, "搴撳瓨璁板綍涓嶈兘涓虹┖");
     ErrorCode WM_MATERIAL_STOCK_SELECTION_MISMATCH = new ErrorCode(1_040_703_014, "搴撳瓨璁板綍涓庢彁浜ょ殑鐗╂枡銆佹壒娆℃垨搴撲綅淇℃伅涓嶄竴鑷�");
+    ErrorCode WM_MATERIAL_STOCK_QUANTITY_INVALID = new ErrorCode(1_040_703_015, "璋冩暣鏁伴噺涓嶈兘涓虹┖鎴栭浂");
 
     // ========== MES 浠撳簱绠$悊-鍒拌揣閫氱煡鍗曪紙1-040-704-000锛� ==========
     ErrorCode WM_ARRIVAL_NOTICE_NOT_EXISTS = new ErrorCode(1_040_704_000, "鍒拌揣閫氱煡鍗曚笉瀛樺湪");
@@ -448,6 +470,7 @@
     ErrorCode WM_ARRIVAL_NOTICE_IQC_PENDING = new ErrorCode(1_040_704_005, "瀛樺湪寰呮楠岃锛屾棤娉曞鎵归�氳繃");
     ErrorCode WM_ARRIVAL_NOTICE_NO_LINE = new ErrorCode(1_040_704_006, "鑷冲皯闇�瑕佷竴鏉¤椤圭洰");
     ErrorCode WM_ARRIVAL_NOTICE_VENDOR_MISMATCH = new ErrorCode(1_040_704_007, "鍒拌揣閫氱煡鍗曠殑渚涘簲鍟嗕笌褰撳墠鍗曟嵁涓嶄竴鑷�");
+    ErrorCode WM_ARRIVAL_NOTICE_ALREADY_EXISTS = new ErrorCode(1_040_704_008, "璇ラ噰璐鍗曞凡鐢熸垚鍒拌揣閫氱煡鍗曪紝涓嶈兘閲嶅鐢熸垚");
     ErrorCode WM_ARRIVAL_NOTICE_LINE_NOT_EXISTS = new ErrorCode(1_040_704_100, "鍒拌揣閫氱煡鍗曡涓嶅瓨鍦�");
     ErrorCode WM_ARRIVAL_NOTICE_LINE_NOT_MATCH = new ErrorCode(1_040_704_101, "鍒拌揣閫氱煡鍗曡涓嶅睘浜庢寚瀹氱殑鍒拌揣閫氱煡鍗�");
 
@@ -459,6 +482,9 @@
     ErrorCode WM_ITEM_RECEIPT_DETAIL_QUANTITY_MISMATCH = new ErrorCode(1_040_705_004, "鏄庣粏涓婃灦鎬绘暟涓庤鍏ュ簱鏁伴噺涓嶅尮閰�");
     ErrorCode WM_ITEM_RECEIPT_STATUS_ERROR = new ErrorCode(1_040_705_005, "鍏ュ簱鍗曠姸鎬佷笉姝g‘");
     ErrorCode WM_ITEM_RECEIPT_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_705_006, "宸插畬鎴愭垨宸插彇娑堢殑鍏ュ簱鍗曚笉鍏佽鍙栨秷");
+    ErrorCode WM_ITEM_RECEIPT_ALREADY_EXISTS = new ErrorCode(1_040_705_007, "璇ュ埌璐ч�氱煡鍗曞凡鐢熸垚鍏ュ簱鍗曪紝涓嶈兘閲嶅鐢熸垚");
+    ErrorCode WM_PURCHASE_ORDER_NOT_EXISTS = new ErrorCode(1_040_705_008, "閲囪喘璁㈠崟涓嶅瓨鍦�");
+    ErrorCode WM_PURCHASE_ORDER_NO_ITEM = new ErrorCode(1_040_705_008, "閲囪喘璁㈠崟鏃犳槑缁嗘暟鎹�");
     ErrorCode WM_ITEM_RECEIPT_LINE_NOT_EXISTS = new ErrorCode(1_040_705_100, "閲囪喘鍏ュ簱鍗曡涓嶅瓨鍦�");
     ErrorCode WM_ITEM_RECEIPT_LINE_ARRIVAL_NOTICE_LINE_REQUIRED = new ErrorCode(1_040_705_101,
             "鍏ュ簱鍗曞叧鑱斾簡鍒拌揣閫氱煡鍗曪紝蹇呴』閫夋嫨鍒拌揣閫氱煡鍗曡");
@@ -466,6 +492,7 @@
             "鍏ュ簱鍗曟湭鍏宠仈鍒拌揣閫氱煡鍗曪紝涓嶈兘閫夋嫨鍒拌揣閫氱煡鍗曡");
     ErrorCode WM_ITEM_RECEIPT_DETAIL_NOT_EXISTS = new ErrorCode(1_040_705_200, "閲囪喘鍏ュ簱鏄庣粏涓嶅瓨鍦�");
     ErrorCode WM_ITEM_RECEIPT_DETAIL_QUANTITY_EXCEED = new ErrorCode(1_040_705_202, "涓婃灦鏄庣粏鎬绘暟閲忎笉鑳借秴杩囪鍏ュ簱鏁伴噺");
+    ErrorCode WM_ITEM_RECEIPT_BATCH_REQUIRED = new ErrorCode(1_040_705_203, "鐗╂枡銆恵}-{}銆戝凡寮�鍚壒娆$鐞嗭紝涓婃灦鏄庣粏鐨勬壒娆″彿涓嶈兘涓虹┖");
 
     // ========== MES 浠撳簱绠$悊-棰嗘枡鐢宠鍗曪紙1-040-706-000锛� ==========
     ErrorCode WM_MATERIAL_REQUEST_NOT_EXISTS = new ErrorCode(1_040_706_000, "棰嗘枡鐢宠鍗曚笉瀛樺湪");
@@ -503,6 +530,7 @@
     ErrorCode WM_PRODUCT_ISSUE_DETAIL_ITEM_MISMATCH = new ErrorCode(1_040_708_201, "鎷h揣鏄庣粏鐨勭墿鏂欎笌棰嗘枡鍗曡鐨勭墿鏂欎笉涓�鑷�");
     ErrorCode WM_PRODUCT_ISSUE_DETAIL_LINE_NOT_MATCH = new ErrorCode(1_040_708_202, "鎷h揣鏄庣粏涓嶅睘浜庢寚瀹氱殑棰嗘枡鍑哄簱鍗�");
     ErrorCode WM_PRODUCT_ISSUE_NO_DETAIL = new ErrorCode(1_040_708_203, "棰嗘枡鍑哄簱鍗曟病鏈夋嫞璐ф槑缁嗭紝鏃犳硶鎵ц棰嗗嚭");
+    ErrorCode WM_PRODUCT_ISSUE_TASK_NOT_EXISTS = new ErrorCode(1_040_708_204, "鐢熶骇浠诲姟涓嶅瓨鍦�");
 
     // ========== MES 浠撳簱绠$悊-鐢熶骇鍏ュ簱鍗曪紙1-040-709-000锛� ==========
     ErrorCode WM_PRODUCT_PRODUCE_NOT_EXISTS = new ErrorCode(1_040_709_000, "鐢熶骇鍏ュ簱鍗曚笉瀛樺湪");
@@ -617,6 +645,7 @@
     ErrorCode WM_STOCK_TAKING_TASK_DYNAMIC_TIME_REQUIRED = new ErrorCode(1_040_714_118, "鍔ㄦ�佺洏鐐瑰繀椤婚�夋嫨寮�濮嬫椂闂村拰缁撴潫鏃堕棿");
     ErrorCode WM_STOCK_TAKING_TASK_RESULT_NOT_EXISTS = new ErrorCode(1_040_714_119, "鐩樼偣缁撴灉涓嶅瓨鍦�");
     ErrorCode WM_STOCK_TAKING_TASK_LINE_ALREADY_TAKEN = new ErrorCode(1_040_714_120, "璇ョ洏鐐规竻鍗曡宸叉湁鐩樼偣璁板綍锛屼笉鑳介噸澶嶇洏鐐�");
+    ErrorCode WM_STOCK_TAKING_TASK_NOT_FINISHED = new ErrorCode(1_040_714_121, "鍙湁宸插畬鎴愮姸鎬佺殑鐩樼偣浠诲姟鎵嶈兘澶勭悊宸紓");
 
     // ========== MES 浠撳簱绠$悊-閿�鍞嚭搴撳崟锛�1-040-714-000锛� ==========
     ErrorCode WM_PRODUCT_SALES_NOT_EXISTS = new ErrorCode(1_040_714_000, "閿�鍞嚭搴撳崟涓嶅瓨鍦�");
@@ -629,8 +658,9 @@
     ErrorCode WM_PRODUCT_SALES_CANNOT_FINISH = new ErrorCode(1_040_714_007, "褰撳墠鐘舵�佷笉鍏佽鎵ц鍑哄簱");
     ErrorCode WM_PRODUCT_SALES_CANNOT_CANCEL = new ErrorCode(1_040_714_008, "褰撳墠鐘舵�佷笉鍏佽鍙栨秷");
     ErrorCode WM_PRODUCT_SALES_CANNOT_CONFIRM = new ErrorCode(1_040_714_009, "褰撳墠鐘舵�佷笉鍏佽纭妫�楠岄�氳繃");
+    ErrorCode WM_PRODUCT_SALES_ALREADY_EXISTS = new ErrorCode(1_040_714_010, "璇ュ彂璐ч�氱煡鍗曞凡鐢熸垚閿�鍞嚭搴撳崟锛屼笉鑳介噸澶嶇敓鎴�");
     ErrorCode WM_PRODUCT_SALES_DETAILS_EMPTY = new ErrorCode(1_040_714_020, "鎷h揣鏄庣粏涓嶈兘涓虹┖");
-    ErrorCode WM_PRODUCT_SALES_DETAIL_QUANTITY_MISMATCH = new ErrorCode(1_040_714_010, "鎷h揣鏁伴噺涓庡嚭搴撴暟閲忎笉鍖归厤");
+    ErrorCode WM_PRODUCT_SALES_DETAIL_QUANTITY_MISMATCH = new ErrorCode(1_040_714_011, "鎷h揣鏁伴噺涓庡嚭搴撴暟閲忎笉鍖归厤");
     ErrorCode WM_PRODUCT_SALES_LINE_NOT_EXISTS = new ErrorCode(1_040_714_011, "閿�鍞嚭搴撳崟琛屼笉瀛樺湪");
     ErrorCode WM_PRODUCT_SALES_DETAIL_NOT_EXISTS = new ErrorCode(1_040_714_012, "閿�鍞嚭搴撴槑缁嗕笉瀛樺湪");
     ErrorCode WM_PRODUCT_SALES_STOCK_INSUFFICIENT = new ErrorCode(1_040_714_013, "搴撳瓨涓嶈冻锛屾棤娉曟嫞璐�");
@@ -682,6 +712,9 @@
     ErrorCode WM_SALES_NOTICE_LINE_NOT_EXISTS = new ErrorCode(1_040_720_010, "鍙戣揣閫氱煡鍗曡涓嶅瓨鍦�");
     ErrorCode WM_SALES_NOTICE_LINE_EMPTY = new ErrorCode(1_040_720_011, "鍙戣揣閫氱煡鍗曡涓虹┖锛屼笉鑳芥彁浜�");
     ErrorCode WM_SALES_NOTICE_LINE_NOT_MATCH = new ErrorCode(1_040_720_012, "鍙戣揣閫氱煡鍗曡涓嶅睘浜庢寚瀹氱殑鍙戣揣閫氱煡鍗�");
+    ErrorCode WM_SALES_NOTICE_SALE_ORDER_NOT_EXISTS = new ErrorCode(1_040_720_013, "閿�鍞鍗曚笉瀛樺湪");
+    ErrorCode WM_SALES_NOTICE_SALE_ORDER_ITEM_EMPTY = new ErrorCode(1_040_720_014, "閿�鍞鍗曟槑缁嗕负绌�");
+    ErrorCode WM_SALES_NOTICE_ALREADY_EXISTS = new ErrorCode(1_040_720_015, "璇ラ攢鍞鍗曞凡鐢熸垚鍙戣揣閫氱煡鍗曪紝涓嶈兘閲嶅鐢熸垚");
 
     // ========== MES 浠撳簱绠$悊-鏉$爜閰嶇疆锛�1-040-730-000锛� ==========
     ErrorCode WM_BARCODE_CONFIG_NOT_EXISTS = new ErrorCode(1_040_730_000, "鏉$爜閰嶇疆涓嶅瓨鍦�");
@@ -708,4 +741,40 @@
     ErrorCode WM_PACKAGE_HAS_CHILDREN = new ErrorCode(1_040_740_008, "瀛樺湪瀛愮锛屼笉鍏佽鍒犻櫎");
     ErrorCode WM_PACKAGE_LINE_NOT_EXISTS = new ErrorCode(1_040_740_100, "瑁呯鏄庣粏涓嶅瓨鍦�");
 
+    // ========== MES 浜у搧璁捐-璁捐椤圭洰锛�1-040-800-000锛� ==========
+    ErrorCode PD_PROJECT_NOT_EXISTS = new ErrorCode(1_040_800_000, "璁捐椤圭洰涓嶅瓨鍦�");
+    ErrorCode PD_PROJECT_NOT_INITIATE = new ErrorCode(1_040_800_001, "璁捐椤圭洰涓嶆槸寰呭彂甯冪姸鎬侊紝涓嶅厑璁镐慨鏀规垨鍒犻櫎");
+    ErrorCode PD_PROJECT_CODE_DUPLICATE = new ErrorCode(1_040_800_002, "璁捐椤圭洰浠诲姟缂栫爜宸插瓨鍦�");
+    ErrorCode PD_PROJECT_NOT_INITIATE_FOR_PUBLISH = new ErrorCode(1_040_800_003, "鍙湁寰呭彂甯冪姸鎬佺殑璁捐椤圭洰鎵嶈兘鍙戝竷");
+    ErrorCode PD_PROJECT_NOT_PUBLISH_FOR_UPLOAD = new ErrorCode(1_040_800_004, "鍙湁寰呬笂浼犵姸鎬佺殑璁捐椤圭洰鎵嶈兘涓婁紶璧勬枡");
+    ErrorCode PD_PROJECT_NOT_UPLOAD_FOR_AUDIT = new ErrorCode(1_040_800_005, "鍙湁寰呭鏍哥姸鎬佺殑璁捐椤圭洰鎵嶈兘瀹℃牳");
+    ErrorCode PD_PROJECT_NOT_AUDIT_FOR_ARCHIVE = new ErrorCode(1_040_800_006, "鍙湁寰呭綊妗g姸鎬佺殑璁捐椤圭洰鎵嶈兘褰掓。");
+    ErrorCode PD_PROJECT_AUDIT_NOT_FINISHED = new ErrorCode(1_040_800_007, "璇ラ」鐩笅瀛樺湪鏈鏍哥殑璧勬枡锛岃鍏堝畬鎴愭墍鏈夎祫鏂欏鏍�");
+
+    // ========== MES 浜у搧璁捐-璧勬枡瀛愯〃锛�1-040-801-000锛� ==========
+    ErrorCode PD_DOCUMENT_NOT_EXISTS = new ErrorCode(1_040_801_000, "璁捐璧勬枡涓嶅瓨鍦�");
+
+    // ========== MES 浜у搧璁捐-璧勬枡瀹℃牳锛�1-040-802-000锛� ==========
+    ErrorCode PD_DOCUMENT_AUDIT_NOT_EXISTS = new ErrorCode(1_040_802_000, "璧勬枡瀹℃牳璁板綍涓嶅瓨鍦�");
+
+    // ========== MES 浜у搧璁捐-褰掓。鍙拌处锛�1-040-803-000锛� ==========
+    ErrorCode PD_ARCHIVE_NOT_EXISTS = new ErrorCode(1_040_803_000, "褰掓。鍙拌处涓嶅瓨鍦�");
+    ErrorCode PD_ARCHIVE_CODE_DUPLICATE = new ErrorCode(1_040_803_001, "褰掓。缂栧彿宸插瓨鍦�");
+
+    // ========== MES 浜у搧璁捐-宸ヨ壓鍙傛暟锛�1-040-804-000锛� ==========
+    ErrorCode PD_PROCESS_PARAM_NOT_EXISTS = new ErrorCode(1_040_804_000, "宸ヨ壓鍙傛暟涓嶅瓨鍦�");
+    ErrorCode PD_PROCESS_PARAM_CODE_DUPLICATE = new ErrorCode(1_040_804_001, "宸ヨ壓鍙傛暟缂栫爜宸插瓨鍦�");
+
+    // ========== MES 浜у搧璁捐-宸ヨ壓鍙傛暟妯℃澘锛�1-040-805-000锛� ==========
+    ErrorCode PD_PROCESS_PARAM_TEMPLATE_NOT_EXISTS = new ErrorCode(1_040_805_000, "宸ヨ壓鍙傛暟妯℃澘涓嶅瓨鍦�");
+    ErrorCode PD_PROCESS_PARAM_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_040_805_001, "宸ヨ壓鍙傛暟妯℃澘缂栫爜宸插瓨鍦�");
+
+    // ========== MES 浠撳偍鐗╂祦-瀹℃壒閰嶇疆锛�1-040-900-000锛� ==========
+    ErrorCode WMS_APPROVAL_CONFIG_NOT_EXISTS = new ErrorCode(1_040_900_000, "浠撳簱瀹℃壒閰嶇疆涓嶅瓨鍦�");
+    ErrorCode WMS_APPROVAL_ORDER_NOT_EXISTS = new ErrorCode(1_040_900_001, "瀹℃壒鍗曟嵁涓嶅瓨鍦�");
+    ErrorCode WMS_APPROVAL_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_040_900_002, "瀹℃壒娴佺▼瀹氫箟涓嶅瓨鍦�");
+    ErrorCode WMS_APPROVAL_ORDER_TYPE_NOT_SUPPORTED = new ErrorCode(1_040_900_003, "涓嶆敮鎸佺殑鍗曟嵁绫诲瀷");
+    ErrorCode WMS_APPROVAL_STATUS_INVALID = new ErrorCode(1_040_900_004, "鍗曟嵁鐘舵�佷笉姝g‘锛屾棤娉曟彁浜ゅ鎵�");
+    ErrorCode WMS_APPROVAL_ALREADY_SUBMITTED = new ErrorCode(1_040_900_005, "鍗曟嵁宸叉彁浜ゅ鎵癸紝璇峰嬁閲嶅鎻愪氦");
+
 }

--
Gitblit v1.9.3