From 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 07 十一月 2026 08:50:53 +0800
Subject: [PATCH] feat: 完善质检、生产、销售、财务与人事模块并接入审批流程

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java |   89 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 86 insertions(+), 3 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 10ea662..509733b 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
@@ -163,7 +163,7 @@
 
     // ========== MES 璁惧绠$悊-璁惧鍙拌处锛�1-040-301-000锛� ==========
     ErrorCode DV_MACHINERY_NOT_EXISTS = new ErrorCode(1_040_301_000, "璁惧涓嶅瓨鍦�");
-    ErrorCode DV_MACHINERY_CODE_DUPLICATE = new ErrorCode(1_040_301_001, "璁惧缂栫爜宸插瓨鍦�");
+    ErrorCode DV_MACHINERY_CODE_DUPLICATE = new ErrorCode(1_040_301_001, "璁惧缂栧彿宸插瓨鍦�");
     ErrorCode DV_MACHINERY_IS_DISABLE = new ErrorCode(1_040_301_007, "璁惧宸茬鐢�");
     ErrorCode DV_MACHINERY_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_301_002, "瀵煎叆璁惧鏁版嵁涓嶈兘涓虹┖");
     ErrorCode DV_MACHINERY_HAS_CHECK_PLAN = new ErrorCode(1_040_301_003, "璁惧宸插叧鑱旂偣妫�璁″垝锛屾棤娉曞垹闄�");
@@ -245,6 +245,10 @@
     ErrorCode PRO_PROCESS_NAME_EXISTS = new ErrorCode(1_040_500_002, "宸ュ簭鍚嶇О宸插瓨鍦�");
     ErrorCode PRO_PROCESS_USED_BY_ROUTE = new ErrorCode(1_040_500_003, "宸ュ簭宸茶宸ヨ壓璺嚎寮曠敤锛屾棤娉曞垹闄�");
     ErrorCode PRO_PROCESS_IS_DISABLE = new ErrorCode(1_040_500_004, "宸ュ簭宸茬鐢�");
+    ErrorCode PRO_PROCESS_BILLING_TYPE_INVALID = new ErrorCode(1_040_500_005,
+            "宸ュ簭銆寋}銆嶇殑璁¤垂绫诲瀷[{}]鏃犳晥锛屽彧鑳芥槸 1-璁℃椂 鎴� 2-璁′欢锛岃閲嶆柊閫夋嫨璁¤垂绫诲瀷");
+    ErrorCode PRO_PROCESS_WAGE_RATE_INVALID = new ErrorCode(1_040_500_006,
+            "宸ュ簭銆寋}銆嶇殑宸ヨ祫瀹氶[{}]鏃犳晥锛屽繀椤诲ぇ浜庣瓑浜� 0锛堣鏃朵负鍏�/灏忔椂锛岃浠朵负鍏�/浠讹級锛岃閲嶆柊濉啓");
     // ========== MES 鐢熶骇绠$悊-宸ュ簭鍐呭锛�1-040-500-100锛� ==========
     ErrorCode PRO_PROCESS_CONTENT_NOT_EXISTS = new ErrorCode(1_040_500_100, "宸ュ簭鍐呭涓嶅瓨鍦�");
 
@@ -344,7 +348,31 @@
     ErrorCode PRO_FEEDBACK_PREV_PROCESS_NOT_FINISHED = new ErrorCode(1_040_506_016,
             "涓婁竴閬撳伐搴忋�寋}銆嶅皻鏈姤宸ュ畬鎴愶紙鍓╀綑 {}锛夛紝璇峰厛瀹屾垚涓婁竴閬撳伐搴忕殑鎶ュ伐");
     ErrorCode PRO_FEEDBACK_EQUIPMENT_INVALID = new ErrorCode(1_040_506_017, "鎶ュ伐璁惧鏍¢獙澶辫触锛歿}");
+    ErrorCode PRO_FEEDBACK_PROCESS_NOT_EXISTS = new ErrorCode(1_040_506_018,
+            "褰撳墠鐢熶骇浠诲姟鍏宠仈鐨勫伐搴� ID={} 涓嶅瓨鍦紝鏃犳硶璁$畻鎶ュ伐宸ヨ祫锛岃鑱旂郴宸ヨ壓鍛樻鏌ヤ换鍔$殑宸ュ簭閰嶇疆");
+    ErrorCode PRO_FEEDBACK_WORK_HOURS_REQUIRED = new ErrorCode(1_040_506_019,
+            "宸ュ簭銆寋}銆嶆寜璁℃椂璁¤柂锛岃濉啓鏈鎶ュ伐宸ユ椂锛堝皬鏃讹級锛屽伐鏃跺繀椤诲ぇ浜� 0锛涜嫢瀹為檯鎸夋暟閲忚钖紝璇峰厛鎶婅宸ュ簭鐨勮璐圭被鍨嬫敼涓鸿浠�");
+    ErrorCode PRO_FEEDBACK_TIME_BILLING_QUICK_UNSUPPORTED = new ErrorCode(1_040_506_020,
+            "宸ュ簭銆寋}銆嶆寜璁℃椂璁¤柂锛屽揩鎹锋姤宸ユ棤娉曞綍鍏ュ伐鏃讹紙灏忔椂锛夛紱璇峰埌銆岀敓浜ф姤宸ャ�嶉〉闈㈡柊澧炴姤宸ュ苟濉啓宸ユ椂");
 
+    // ========== MES 鐢熶骇绠$悊-杈呭姪宸ユ椂閰嶇疆锛�1-040-510-000锛� ==========
+    ErrorCode PRO_WORKTIME_AUX_NOT_EXISTS = new ErrorCode(1_040_510_000, "杈呭姪宸ユ椂椤圭洰涓嶅瓨鍦�");
+    ErrorCode PRO_WORKTIME_AUX_PROCESS_NOT_EXISTS = new ErrorCode(1_040_510_001,
+            "鎵�閫夊伐搴� ID={} 涓嶅瓨鍦紝鏃犳硶淇濆瓨杈呭姪宸ユ椂椤圭洰锛岃閲嶆柊閫夋嫨宸ュ簭");
+    ErrorCode PRO_WORKTIME_AUX_MEASURE_TYPE_INVALID = new ErrorCode(1_040_510_002,
+            "杈呭姪宸ユ椂椤圭洰銆寋}銆嶇殑璁¢噺鏂瑰紡[{}]鏃犳晥锛屽彧鑳芥槸 1-鎸夋 / 2-鎸変釜 / 3-鎸夌洏 / 4-鎸夌背鎶樼畻锛岃閲嶆柊閫夋嫨");
+    ErrorCode PRO_WORKTIME_AUX_DURATION_REQUIRED = new ErrorCode(1_040_510_003,
+            "杈呭姪宸ユ椂椤圭洰銆寋}銆嶆寜[{}]璁¢噺锛岃濉啓鍗曢」鍒嗛挓鏁颁笖蹇呴』澶т簬 0");
+    ErrorCode PRO_WORKTIME_AUX_SPEED_REQUIRED = new ErrorCode(1_040_510_004,
+            "杈呭姪宸ユ椂椤圭洰銆寋}銆嶆寜绫虫姌绠楋紝璇峰~鍐欐姌绠楅�熷害锛堢背/鍒嗭級涓斿繀椤诲ぇ浜� 0");
+    ErrorCode PRO_WORKTIME_AUX_CODE_DUPLICATE = new ErrorCode(1_040_510_005,
+            "宸ュ簭銆寋}銆嶄笅宸插瓨鍦ㄨ緟鍔╅」鐩紪鐮併�寋}銆嶏紙鏈哄彴鑼冨洿锛歿}锛夛紝璇蜂慨鏀归」鐩紪鐮佹垨鍏堝垹闄ゅ師椤圭洰");
+    ErrorCode PRO_WORKTIME_AUX_IN_USE = new ErrorCode(1_040_510_006,
+            "杈呭姪宸ユ椂椤圭洰銆寋}銆嶅凡琚姤宸ヨ褰曞紩鐢紝鏃犳硶鍒犻櫎锛涘闇�鍋滄浣跨敤锛岃鎶婄姸鎬佹敼涓虹鐢�");
+    ErrorCode PRO_WORKTIME_ITEM_NOT_APPLICABLE = new ErrorCode(1_040_510_007,
+            "杈呭姪宸ユ椂椤圭洰銆寋}銆嶄笉閫傜敤浜庡綋鍓嶅伐搴忋�寋}銆嶆垨鏈哄彴銆寋}銆嶏紝璇峰埛鏂伴〉闈㈠悗閲嶆柊閫夋嫨");
+    ErrorCode PRO_WORKTIME_REPORT_DIM_INVALID = new ErrorCode(1_040_510_008,
+            "宸ユ椂鑰冩牳缁熻缁村害[{}]鏃犳晥锛屽彧鑳芥槸 1-鎸変汉 / 2-鎸夊伐搴� / 3-鎸夋満鍙� / 4-鎸夋棩鏈燂紝璇烽噸鏂伴�夋嫨");
     // ========== MES 鐢熶骇绠$悊-鐢熶骇娴佽浆鍗★紙1-040-507-000锛� ==========
     ErrorCode PRO_CARD_NOT_EXISTS = new ErrorCode(1_040_507_000, "鐢熶骇娴佽浆鍗′笉瀛樺湪");
     ErrorCode PRO_CARD_CODE_DUPLICATE = new ErrorCode(1_040_507_001, "娴佽浆鍗$紪鐮佸凡瀛樺湪");
@@ -421,8 +449,11 @@
     ErrorCode QC_IPQC_SOURCE_DOC_NO_PENDING_LINE = new ErrorCode(1_040_604_008, "鏉ユ簮鎶ュ伐鍗曚笉瀛樺湪寰呮浜у嚭琛岋紝鏃犳硶鍒涘缓 IPQC");
     ErrorCode QC_IPQC_SOURCE_LINE_NOT_BELONG = new ErrorCode(1_040_604_009, "鏉ユ簮鍗曟嵁琛屼笉灞炰簬璇ユ姤宸ュ崟");
     ErrorCode QC_IPQC_SOURCE_LINE_REQUIRED = new ErrorCode(1_040_604_010, "鏉ユ簮鍗曟嵁绫诲瀷涓烘姤宸ユ椂锛屾潵婧愪骇鍑鸿 ID 涓嶈兘涓虹┖");
+    ErrorCode QC_IPQC_PROCESS_REQUIRED = new ErrorCode(1_040_604_011, "杩囩▼妫�楠屽崟缂哄皯妫�楠屽伐搴忥細宸ヤ綅鍜屾楠屽伐搴忓潎鏈�夋嫨銆傝閫夋嫨宸ヤ綅锛堣嚜鍔ㄥ甫鍑烘墍灞炲伐搴忥級锛屾垨鐩存帴閫夋嫨妫�楠屽伐搴忓悗鍐嶄繚瀛�");
     ErrorCode QC_IPQC_SOURCE_LINE_NOT_PENDING = new ErrorCode(1_040_604_011, "鏉ユ簮浜у嚭琛屼笉鏄緟妫�楠岀姸鎬�");
     ErrorCode QC_IPQC_WORK_ORDER_STATUS_INVALID = new ErrorCode(1_040_604_012, "浠呭凡纭鎴栧凡瀹屾垚鐨勭敓浜у伐鍗曞彲鍒涘缓杩囩▼妫�楠�");
+    ErrorCode QC_IPQC_WAGE_FIELD_NOT_BELONG = new ErrorCode(1_040_604_013, "宸ヨ祫瀛楁[{}]涓嶅睘浜庤繃绋嬫楠屽崟[{}]鎵�鍦ㄥ伐搴忥紝璇烽噸鏂版墦寮�妫�楠屽崟鍚庡~鍐�");
+    ErrorCode QC_IPQC_WAGE_FIELD_VALUE_INVALID = new ErrorCode(1_040_604_014, "宸ヨ祫瀛楁[{}]鍙備笌宸ヨ祫璁$畻锛屽彧鑳藉~鍐欐暟瀛楋紝褰撳墠濉啓涓篬{}]");
     // ========== MES 璐ㄩ噺绠$悊-杩囩▼妫�楠岃锛�1-040-604-100锛� ==========
     ErrorCode QC_IPQC_LINE_NOT_EXISTS = new ErrorCode(1_040_604_100, "杩囩▼妫�楠岃涓嶅瓨鍦�");
 
@@ -459,11 +490,21 @@
     ErrorCode QC_RQC_LINE_NOT_EXISTS = new ErrorCode(1_040_608_100, "閫�璐ф楠岃涓嶅瓨鍦�");
 
     // ========== MES 璐ㄩ噺绠$悊-涓嶅悎鏍煎搧澶勭悊 NCR锛�1-040-609-000锛� ==========
-    ErrorCode QC_NCR_NOT_EXISTS = new ErrorCode(1_040_609_000, "涓嶅悎鏍煎搧澶勭悊鍗曚笉瀛樺湪");
-    ErrorCode QC_NCR_CODE_DUPLICATE = new ErrorCode(1_040_609_001, "涓嶅悎鏍煎搧澶勭悊鍗曠紪鍙峰凡瀛樺湪");
+    // ========== 璐ㄩ噺宸℃ 1-040-610-000 ==========
+    ErrorCode QC_PATROL_NOT_EXISTS = new ErrorCode(1_040_610_000, "璐ㄩ噺宸℃璁板綍涓嶅瓨鍦�");
+    ErrorCode QC_PATROL_CODE_DUPLICATE = new ErrorCode(1_040_610_001, "璐ㄩ噺宸℃鍗曠紪鍙峰凡瀛樺湪");
+
+    ErrorCode QC_NCR_NOT_EXISTS = new ErrorCode(1_040_609_000, "涓嶅悎鏍煎搧澶勭悊鍗昜{}]涓嶅瓨鍦紝璇峰埛鏂板垪琛ㄥ悗閲嶈瘯");
+    ErrorCode QC_NCR_CODE_DUPLICATE = new ErrorCode(1_040_609_001, "NCR鍗曞彿[{}]宸插瓨鍦紝璇蜂慨鏀筃CR鍗曞彿鍚庨噸鏂颁繚瀛�");
+    ErrorCode QC_NCR_CLOSE_STATUS_INVALID = new ErrorCode(1_040_609_010, "涓嶅悎鏍煎搧澶勭悊鍗昜{}]褰撳墠鐘舵�佷负[{}]锛屽彧鏈塠宸插缃甝鐘舵�佹墠鍙叧闂紱璇峰厛瀹屾垚澶勭疆");
     ErrorCode QC_NCR_NOT_PENDING_REVIEW = new ErrorCode(1_040_609_002, "鍙湁寰呰瘎瀹$姸鎬佺殑涓嶅悎鏍煎搧澶勭悊鍗曟墠鍙搷浣�");
     ErrorCode QC_NCR_NOT_REVIEWED = new ErrorCode(1_040_609_003, "鍙湁宸茶瘎瀹$姸鎬佺殑涓嶅悎鏍煎搧澶勭悊鍗曟墠鍙墽琛屽缃�");
     ErrorCode QC_NCR_NOT_DISPOSED = new ErrorCode(1_040_609_004, "鍙湁宸插缃姸鎬佺殑涓嶅悎鏍煎搧澶勭悊鍗曟墠鍙叧闂�");
+    ErrorCode QC_NCR_STATUS_NOT_PENDING = new ErrorCode(1_040_609_005, "涓嶅悎鏍煎搧澶勭悊鍗昜{}]褰撳墠鐘舵�佷负[{}]锛屽彧鏈塠寰呰瘎瀹鐘舵�佹墠鍙慨鏀广�佸垹闄ゆ垨璇勫锛涘鎵逛腑璇风瓑寰呯粨鏋滐紝宸茶瘎瀹¤鐩存帴澶勭疆");
+    ErrorCode QC_NCR_SUBMIT_STATUS_INVALID = new ErrorCode(1_040_609_006, "涓嶅悎鏍煎搧澶勭悊鍗昜{}]褰撳墠鐘舵�佷负[{}]锛屽彧鏈塠寰呰瘎瀹鐘舵�佹墠鍙彁浜ゅ鎵癸紱瀹℃壒涓绛夊緟缁撴灉锛屽凡璇勫/宸插缃�/宸插叧闂棤闇�閲嶅鎻愪氦");
+    ErrorCode QC_NCR_DISPOSE_STATUS_INVALID = new ErrorCode(1_040_609_007, "涓嶅悎鏍煎搧澶勭悊鍗昜{}]褰撳墠鐘舵�佷负[{}]锛屽彧鏈夊鎵归�氳繃鍚庣殑[宸茶瘎瀹鐘舵�佹墠鍙墽琛屽缃紱璇峰厛鎻愪氦瀹℃壒骞剁瓑寰呭鎵归�氳繃");
+    ErrorCode QC_NCR_DISPOSITION_REQUIRED = new ErrorCode(1_040_609_008, "澶勭疆鏂瑰紡涓嶈兘涓虹┖锛岃浠嶽璁╂鏀捐銆佽繑淇�佽繑宸ャ�佹姤搴焆涓�夋嫨涓�椤�");
+    ErrorCode QC_NCR_DISPOSITION_INVALID = new ErrorCode(1_040_609_009, "澶勭疆鏂瑰紡[{}]涓嶅湪鍏佽鑼冨洿鍐咃紝璇蜂粠[璁╂鏀捐銆佽繑淇�佽繑宸ャ�佹姤搴焆涓�夋嫨涓�椤�");
 
     // ========== MES 浠撳簱绠$悊-浠撳簱锛�1-040-700-000锛� ==========
     ErrorCode WM_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_700_000, "浠撳簱涓嶅瓨鍦�");
@@ -657,9 +698,20 @@
     ErrorCode WM_RETURN_VENDOR_DETAIL_NOT_EXISTS = new ErrorCode(1_040_711_200, "渚涘簲鍟嗛��璐у崟鏄庣粏涓嶅瓨鍦�");
     ErrorCode WM_RETURN_VENDOR_DETAIL_QUANTITY_INVALID = new ErrorCode(1_040_711_201, "閫�璐ф槑缁嗘暟閲忓繀椤诲ぇ浜� 0");
     ErrorCode WM_RETURN_VENDOR_DETAIL_LINE_NOT_MATCH = new ErrorCode(1_040_711_202, "鎷h揣鏄庣粏涓嶅睘浜庢寚瀹氱殑渚涘簲鍟嗛��璐у崟");
+    ErrorCode WM_RETURN_VENDOR_DETAIL_STATUS_INVALID = new ErrorCode(1_040_711_203, "渚涘簲鍟嗛��璐у崟[{}]褰撳墠鐘舵�佷笉鍏佽淇敼鎷h揣鏄庣粏锛屼粎鑽夌鎴栧緟鎷h揣鐘舵�佸彲鎿嶄綔");
+    ErrorCode WM_RETURN_VENDOR_DETAIL_PARENT_IMMUTABLE = new ErrorCode(1_040_711_204, "鎷h揣鏄庣粏涓嶈兘鍙樻洿鎵�灞為��璐у崟鎴栭��璐ц");
     ErrorCode WM_RETURN_VENDOR_PURCHASE_ORDER_REQUIRED = new ErrorCode(1_040_711_008, "璇峰厛閫夋嫨閲囪喘璁㈠崟");
     ErrorCode WM_RETURN_VENDOR_PURCHASE_ORDER_NO_ITEM = new ErrorCode(1_040_711_009, "閲囪喘璁㈠崟鏃犳槑缁嗘暟鎹紝鏃犳硶甯﹀叆鐗╂枡");
     ErrorCode WM_RETURN_VENDOR_ITEM_NOT_IN_PURCHASE_ORDER = new ErrorCode(1_040_711_010, "閫�璐х墿鏂欎笉鍦ㄦ墍鍏宠仈閲囪喘璁㈠崟鍐咃紝鏃犳硶娣诲姞");
+    ErrorCode WM_RETURN_VENDOR_APPROVE_PROCESS_NOT_PUBLISHED = new ErrorCode(1_040_711_011, "閲囪喘閫�璐у鎵规祦绋媅{}]鏈彂甯冿紝璇疯仈绯荤鐞嗗憳鍦� BPM 鍚庡彴鍙戝竷娴佺▼妯″瀷鍚庡啀鎻愪氦");
+    ErrorCode WM_RETURN_VENDOR_HANDLE_TYPE_INVALID = new ErrorCode(1_040_711_012, "渚涘簲鍟嗛��璐у崟澶勭悊鏂瑰紡涓嶆纭細褰撳墠涓篬{}]锛屼粎鏀寔 1閫�娆� / 2鎹㈣揣锛岃淇敼澶勭悊鏂瑰紡鍚庡啀鎿嶄綔");
+    ErrorCode WM_RETURN_VENDOR_REFUND_AMOUNT_REQUIRED = new ErrorCode(1_040_711_013, "鏃犳硶鑷姩璁$畻閫�娆鹃噾棰濓細閫�璐у崟[{}]鏈叧鑱旈噰璐鍗曪紝鎴栭��璐х墿鏂橻{}]鏈尮閰嶅埌閲囪喘璁㈠崟鏄庣粏銆傝鍦ㄩ��璐у崟濉啓閫�娆鹃噾棰濆悗鍐嶅畬鎴愰��璐�");
+    ErrorCode WM_RETURN_VENDOR_FINISHED_REQUIRED = new ErrorCode(1_040_711_014, "渚涘簲鍟嗛��璐у崟[{}]褰撳墠鐘舵�佷负[{}]锛屽彧鏈夊凡瀹屾垚鐨勯��璐у崟鎵嶈兘鎵ц璇ユ搷浣�");
+    ErrorCode WM_RETURN_VENDOR_ATTACHMENT_REQUIRED = new ErrorCode(1_040_711_015, "渚涘簲鍟嗛��璐у崟[{}]鏈笂浼犻��璐ч檮浠讹紝璐ㄩ噺閮ㄥ彂璧烽��璐у繀椤讳笂浼犺川妫�鎶ュ憡銆佷笉鍚堟牸鐓х墖绛夐檮浠跺悗鎵嶈兘鎻愪氦瀹℃壒锛岃鍏堢紪杈戝崟鎹笂浼犻檮浠�");
+    ErrorCode WM_RETURN_VENDOR_APPROVAL_REQUIRED = new ErrorCode(1_040_711_016, "渚涘簲鍟嗛��璐у崟[{}]娌℃湁鏈夋晥瀹℃壒璁板綍锛屼笉鑳芥嫞璐ф垨瀹屾垚閫�璐э紝璇峰厛鎻愪氦瀹℃壒");
+    ErrorCode WM_RETURN_VENDOR_APPROVAL_PROCESS_INVALID = new ErrorCode(1_040_711_017, "渚涘簲鍟嗛��璐у繀椤讳娇鐢ㄥ鎵规祦绋媅{}]");
+    ErrorCode WM_RETURN_VENDOR_QUANTITY_EXCEED = new ErrorCode(1_040_711_018, "閫�璐х墿鏂橻{}]鏁伴噺[{}]瓒呰繃閲囪喘璁㈠崟鍓╀綑鍙��鏁伴噺[{}]");
+    ErrorCode WM_RETURN_VENDOR_PURCHASE_ITEM_AMBIGUOUS = new ErrorCode(1_040_711_019, "閲囪喘璁㈠崟涓墿鏂橻{}]瀛樺湪澶氭潯鏄庣粏锛屾棤娉曠‘瀹氶��璐у綊灞烇紝璇峰厛鎷嗗垎鎴栬皟鏁撮噰璐鍗曟槑缁�");
 
     // ========== MES 浠撳簱绠$悊-浜у搧鏀惰揣鍗曪紙1-040-712-000锛� ==========
     ErrorCode WM_PRODUCT_RECPT_NOT_EXISTS = new ErrorCode(1_040_712_000, "浜у搧鏀惰揣鍗曚笉瀛樺湪");
@@ -696,6 +748,11 @@
     ErrorCode WM_RETURN_SALES_LINE_NOT_EXISTS = new ErrorCode(1_040_713_100, "閿�鍞��璐у崟琛屼笉瀛樺湪");
     ErrorCode WM_RETURN_SALES_DETAIL_NOT_EXISTS = new ErrorCode(1_040_713_200, "閿�鍞��璐у崟鏄庣粏涓嶅瓨鍦�");
     ErrorCode WM_RETURN_SALES_DETAIL_QUANTITY_EXCEED = new ErrorCode(1_040_713_201, "涓婃灦鏄庣粏鎬绘暟閲忎笉鑳借秴杩囬��璐ц鏁伴噺");
+    ErrorCode WM_RETURN_SALES_DETAIL_SOURCE_MISMATCH = new ErrorCode(1_040_713_202, "閫�璐ф槑缁嗙殑鍗曟嵁鎴栫墿鏂欎笌閫�璐ц涓嶄竴鑷�");
+    ErrorCode WM_RETURN_SALES_DETAIL_BATCH_MISMATCH = new ErrorCode(1_040_713_203, "閫�璐ф槑缁嗘壒娆′笌閫�璐ц鎵规涓嶄竴鑷�");
+    ErrorCode WM_RETURN_SALES_REEL_MISMATCH = new ErrorCode(1_040_713_204, "璇烽�夋嫨鐩樺彿灞炰簬璇ラ攢鍞鍗曚骇鍝佹槑缁嗙殑鎵规");
+    ErrorCode WM_RETURN_SALES_BATCH_NOT_SHIPPED = new ErrorCode(1_040_713_205, "鎵�閫夌洏鍙锋壒娆℃湭鍦ㄨ閿�鍞鍗曚腑瀹屾垚鍑哄簱锛屼笉鑳戒綔涓洪��璐ф潵婧�");
+    ErrorCode WM_RETURN_SALES_LINE_NOT_QUALIFIED = new ErrorCode(1_040_713_206, "閫�璐х墿鏂欏皻鏈川妫�鍚堟牸锛屼笉鍙叆搴擄紱涓嶅悎鏍煎搧璇峰厛澶勭悊");
 
     // ========== MES 浠撳簱绠$悊-鐩樼偣鏂规/浠诲姟/缁撴灉锛�1-040-714-100锛� ==========
     ErrorCode WM_STOCK_TAKING_PLAN_NOT_EXISTS = new ErrorCode(1_040_714_100, "鐩樼偣鏂规涓嶅瓨鍦�");
@@ -717,6 +774,10 @@
     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, "鍙湁宸插畬鎴愮姸鎬佺殑鐩樼偣浠诲姟鎵嶈兘澶勭悊宸紓");
+    ErrorCode WM_STOCK_TAKING_TASK_INCOMPLETE = new ErrorCode(1_040_714_122, "鐩樼偣浠诲姟灏氭湁鏈綍鍏ョ粨鏋滅殑浠诲姟琛岋細{}");
+    ErrorCode WM_STOCK_TAKING_TASK_RESULT_LINE_INVALID = new ErrorCode(1_040_714_123, "鐩樼偣缁撴灉涓庡綋鍓嶄换鍔¤涓嶅尮閰�");
+    ErrorCode WM_STOCK_TAKING_TASK_RESULT_DUPLICATE = new ErrorCode(1_040_714_124, "璇ョ洏鐐逛换鍔¤宸叉湁缁撴灉锛屼笉鑳介噸澶嶅綍鍏�");
+    ErrorCode WM_STOCK_TAKING_TASK_LINE_TASK_MISMATCH = new ErrorCode(1_040_714_125, "鐩樼偣娓呭崟琛屼笉灞炰簬鎸囧畾浠诲姟");
 
     // ========== MES 浠撳簱绠$悊-閿�鍞嚭搴撳崟锛�1-040-714-000锛� ==========
     ErrorCode WM_PRODUCT_SALES_NOT_EXISTS = new ErrorCode(1_040_714_000, "閿�鍞嚭搴撳崟涓嶅瓨鍦�");
@@ -785,9 +846,14 @@
     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_LINE_SALE_ITEM_REQUIRED = new ErrorCode(1_040_720_013, "鍏宠仈閿�鍞鍗曠殑鍙戣揣琛屽繀椤婚�夋嫨閿�鍞鍗曟槑缁�");
+    ErrorCode WM_SALES_NOTICE_LINE_SALE_ITEM_MISMATCH = new ErrorCode(1_040_720_014, "閿�鍞鍗曟槑缁嗕笌鍙戣揣閫氱煡鍗曟垨鐗╂枡涓嶅尮閰�");
     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, "璇ラ攢鍞鍗曞凡鐢熸垚鍙戣揣閫氱煡鍗曪紝涓嶈兘閲嶅鐢熸垚");
+    ErrorCode WM_SALES_NOTICE_SUBMIT_PROCESS_KEY_REQUIRED = new ErrorCode(1_040_720_020, "鎻愪氦鍙戣揣瀹℃壒鍓嶅繀椤婚�夋嫨瀹℃壒娴佺▼锛氭湭浼犳祦绋嬪畾涔� Key");
+    ErrorCode WM_SALES_NOTICE_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_040_720_021, "鍙戣揣瀹℃壒娴佺▼鏈厤缃細璇峰厛鍦ㄣ�屾祦绋嬬鐞嗐�嶄腑璁捐骞跺惎鐢ㄣ�屽彂璐у鎵广�嶆祦绋嬶紝鍐嶆彁浜ゅ彂璐у崟");
+    ErrorCode WM_SALES_NOTICE_UPDATE_AUDIT_STATUS_FAIL_NOT_APPROVING = new ErrorCode(1_040_720_022, "鍙戣揣鍗�({})褰撳墠鐘舵�佷负[{}]锛屼笉澶勪簬瀹℃壒涓紝鏃犳硶鏇存柊瀹℃壒缁撴灉");
 
     // ========== MES 浠撳簱绠$悊-鏉$爜閰嶇疆锛�1-040-730-000锛� ==========
     ErrorCode WM_BARCODE_CONFIG_NOT_EXISTS = new ErrorCode(1_040_730_000, "鏉$爜閰嶇疆涓嶅瓨鍦�");
@@ -847,6 +913,23 @@
     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-806-000锛� ==========
+    ErrorCode PRO_PROCESS_WAGE_FIELD_NOT_EXISTS = new ErrorCode(1_040_806_000, "宸ュ簭宸ヨ祫瀛楁涓嶅瓨鍦�");
+    ErrorCode PRO_PROCESS_WAGE_FIELD_CODE_DUPLICATE = new ErrorCode(1_040_806_001, "宸ュ簭宸ヨ祫瀛楁缂栫爜閲嶅");
+    ErrorCode PRO_PROCESS_WAGE_FIELD_TYPE_INVALID = new ErrorCode(1_040_806_002, "宸ュ簭宸ヨ祫瀛楁绫诲瀷涓嶅悎娉�");
+    ErrorCode PRO_PROCESS_WAGE_FIELD_VALUE_INVALID = new ErrorCode(1_040_806_003, "宸ュ簭宸ヨ祫瀛楁鍊间笉鍚堟硶");
+    ErrorCode PRO_PROCESS_WAGE_FIELD_ROLE_INVALID = new ErrorCode(1_040_806_004, "宸ュ簭宸ヨ祫瀛楁璁$畻瑙掕壊涓嶅悎娉�");
+    ErrorCode PRO_PROCESS_WAGE_RULE_NOT_EXISTS = new ErrorCode(1_040_806_005, "宸ュ簭宸ヨ祫鍗曚环瑙勫垯涓嶅瓨鍦�");
+    ErrorCode PRO_PROCESS_WAGE_RULE_DUPLICATE = new ErrorCode(1_040_806_006, "宸ュ簭宸ヨ祫鍗曚环瑙勫垯閲嶅");
+    ErrorCode PRO_WAGE_QUALITY_RULE_NOT_EXISTS = new ErrorCode(1_040_806_007, "璐ㄩ噺宸ヨ祫瑙勫垯涓嶅瓨鍦�");
+    ErrorCode PRO_WAGE_QUALITY_RULE_RANGE_INVALID = new ErrorCode(1_040_806_008, "璐ㄩ噺宸ヨ祫瑙勫垯鍚堟牸鐜囧尯闂翠笉鍚堟硶");
+    ErrorCode PRO_WAGE_QUALITY_RULE_VALUE_INVALID = new ErrorCode(1_040_806_009, "璐ㄩ噺宸ヨ祫瑙勫垯绯绘暟鎴栨墸娆鹃噾棰濅笉鍚堟硶");
+    ErrorCode QC_TEMPLATE_PROCESS_NOT_EXISTS = new ErrorCode(1_040_806_010, "璐ㄦ鏂规-宸ュ簭缁戝畾涓嶅瓨鍦�");
+    ErrorCode QC_TEMPLATE_PROCESS_DUPLICATE = new ErrorCode(1_040_806_011, "璇ュ伐搴忓凡缁戝畾鐩稿悓鐨勮川妫�鏂规");
+    ErrorCode PRO_FEEDBACK_QUALITY_INSPECTION_NOT_FINISHED = new ErrorCode(1_040_806_012, "璐ㄦ宸ュ簭鐨勮繃绋嬫楠屽皻鏈畬鎴�");
+    ErrorCode PRO_FEEDBACK_WAGE_RATE_NOT_CONFIGURED = new ErrorCode(1_040_806_013, "宸ュ簭宸ヨ祫鍗曚环鏈厤缃�");
+    ErrorCode PRO_FEEDBACK_AUX_WAGE_RATE_MISSING = new ErrorCode(1_040_806_014, "杈呭姪宸ユ椂璁¤柂鍗曚环鏈厤缃�");
+
     // ========== 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, "瀹℃壒鍗曟嵁涓嶅瓨鍦�");

--
Gitblit v1.9.3