From 7bd10d34e8a8dc2437ec8551eb511e37634d7306 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 02 十一月 2026 16:51:52 +0800
Subject: [PATCH] feat(mes): 生产计划审批改走协同办公,修复工单领料与产成品入库校验

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 56 insertions(+), 2 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 34ddf34..1cee9fb 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
@@ -32,6 +32,7 @@
     // ========== MES 鍩虹鏁版嵁-鐗╂枡锛�1-040-102-000锛� ==========
     ErrorCode MD_ITEM_NOT_EXISTS = new ErrorCode(1_040_102_000, "鐗╂枡涓嶅瓨鍦�");
     ErrorCode MD_ITEM_CODE_DUPLICATE = new ErrorCode(1_040_102_001, "鐗╂枡缂栫爜宸插瓨鍦�");
+    // 1_040_102_002锛氱墿鏂欏悕绉板敮涓�鏍¢獙宸插彇娑堬紙鍏佽鍚屽悕涓嶅悓缂栫爜锛屼笌 MDM 鐗╂枡瀵归綈锛夛紝姝ょ爜浠呬繚鐣欏崰浣嶏紝璇峰嬁鍐嶇敤浜庢牎楠�
     ErrorCode MD_ITEM_NAME_DUPLICATE = new ErrorCode(1_040_102_002, "鐗╂枡鍚嶇О宸插瓨鍦�");
     ErrorCode MD_ITEM_BATCH_REQUIRED = new ErrorCode(1_040_102_004, "褰撳墠鐗╂枡鍚敤浜嗘壒娆$鐞嗭紝璇烽�夋嫨鎵规");
     ErrorCode MD_ITEM_IS_DISABLE = new ErrorCode(1_040_102_005, "鐗╂枡宸茬鐢�");
@@ -64,7 +65,6 @@
 
     // ========== MES 鍩虹鏁版嵁-瀹㈡埛锛�1-040-103-000锛� ==========
     ErrorCode MD_CLIENT_NOT_EXISTS = new ErrorCode(1_040_103_000, "瀹㈡埛涓嶅瓨鍦�");
-    ErrorCode MD_CLIENT_CODE_DUPLICATE = new ErrorCode(1_040_103_001, "瀹㈡埛缂栫爜宸插瓨鍦�");
     ErrorCode MD_CLIENT_NAME_DUPLICATE = new ErrorCode(1_040_103_002, "瀹㈡埛鍚嶇О宸插瓨鍦�");
     ErrorCode MD_CLIENT_NICKNAME_DUPLICATE = new ErrorCode(1_040_103_003, "瀹㈡埛绠�绉板凡瀛樺湪");
     ErrorCode MD_CLIENT_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_103_004, "瀵煎叆瀹㈡埛鏁版嵁涓嶈兘涓虹┖");
@@ -78,6 +78,12 @@
     ErrorCode MD_VENDOR_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_104_004, "瀵煎叆渚涘簲鍟嗘暟鎹笉鑳戒负绌�");
     ErrorCode MD_VENDOR_HAS_REFERENCE = new ErrorCode(1_040_104_005, "璇ヤ緵搴斿晢宸茶鍏朵粬涓氬姟寮曠敤锛屾棤娉曞垹闄�");
     ErrorCode MD_VENDOR_IS_DISABLE = new ErrorCode(1_040_104_006, "渚涘簲鍟嗗凡绂佺敤");
+
+    // ========== MES 鍩虹鏁版嵁-宸ュ巶锛�1-040-105-100锛� ==========
+    ErrorCode MD_FACTORY_NOT_EXISTS = new ErrorCode(1_040_105_100, "宸ュ巶涓嶅瓨鍦�");
+    ErrorCode MD_FACTORY_CODE_DUPLICATE = new ErrorCode(1_040_105_101, "宸ュ巶缂栫爜宸插瓨鍦�");
+    ErrorCode MD_FACTORY_NAME_DUPLICATE = new ErrorCode(1_040_105_102, "宸ュ巶鍚嶇О宸插瓨鍦�");
+    ErrorCode MD_FACTORY_HAS_WORKSHOP = new ErrorCode(1_040_105_103, "宸ュ巶涓嬪瓨鍦ㄨ溅闂达紝鏃犳硶鍒犻櫎");
 
     // ========== MES 鍩虹鏁版嵁-杞﹂棿锛�1-040-105-000锛� ==========
     ErrorCode MD_WORKSHOP_NOT_EXISTS = new ErrorCode(1_040_105_000, "杞﹂棿涓嶅瓨鍦�");
@@ -176,6 +182,7 @@
     ErrorCode DV_SUBJECT_CODE_DUPLICATE = new ErrorCode(1_040_304_001, "椤圭洰缂栫爜宸插瓨鍦�");
     ErrorCode DV_SUBJECT_USED_BY_CHECK_PLAN = new ErrorCode(1_040_304_002, "鐐规淇濆吇椤圭洰宸茶鐐规淇濆吇鏂规浣跨敤锛屾棤娉曞垹闄�");
     ErrorCode DV_SUBJECT_IS_DISABLE = new ErrorCode(1_040_304_003, "鐐规淇濆吇椤圭洰宸茬鐢�");
+    ErrorCode DV_SUBJECT_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_304_004, "瀵煎叆椤圭洰鏁版嵁涓嶈兘涓虹┖");
 
     // ========== MES 璁惧绠$悊-鐐规璁″垝锛�1-040-302-000锛� ==========
     ErrorCode DV_CHECK_PLAN_NOT_EXISTS = new ErrorCode(1_040_302_000, "鐐规璁″垝涓嶅瓨鍦�");
@@ -226,6 +233,12 @@
     ErrorCode DV_METERING_CHECK_NOT_EXISTS = new ErrorCode(1_040_307_100, "璁¢噺妫�娴嬭褰曚笉瀛樺湪");
     ErrorCode DV_METERING_CHECK_CODE_DUPLICATE = new ErrorCode(1_040_307_101, "璁¢噺妫�娴嬬紪鍙峰凡瀛樺湪");
 
+    // ========== MES 璁惧绠$悊-璁惧鍊熺敤褰掕繕锛�1-040-308-000锛� ==========
+    ErrorCode DV_BORROW_NOT_EXISTS = new ErrorCode(1_040_308_000, "璁惧鍊熺敤璁板綍涓嶅瓨鍦�");
+    ErrorCode DV_BORROW_CODE_DUPLICATE = new ErrorCode(1_040_308_001, "鍊熺敤鍗曞彿宸插瓨鍦�");
+    ErrorCode DV_BORROW_ALREADY_RETURNED = new ErrorCode(1_040_308_002, "璇ヨ澶囧�熷嚭璁板綍宸插綊杩橈紝鏃犻渶閲嶅褰掕繕");
+    ErrorCode DV_BORROW_MACHINERY_BORROWED = new ErrorCode(1_040_308_003, "璇ヨ澶囧皻鏈夋湭褰掕繕鐨勫�熺敤璁板綍锛岃鍏堝綊杩樺悗鍐嶅�熺敤");
+
     // ========== MES 宸ュ叿绠$悊-宸ュ叿绫诲瀷锛�1-040-400-000锛� ==========
     ErrorCode TM_TOOL_TYPE_NOT_EXISTS = new ErrorCode(1_040_400_000, "宸ュ叿绫诲瀷涓嶅瓨鍦�");
     ErrorCode TM_TOOL_TYPE_CODE_DUPLICATE = new ErrorCode(1_040_400_001, "宸ュ叿绫诲瀷缂栫爜宸插瓨鍦�");
@@ -254,6 +267,7 @@
     ErrorCode PRO_ROUTE_ENABLE_NO_KEY_PROCESS = new ErrorCode(1_040_501_003, "宸ヨ壓璺嚎蹇呴』瑕佹湁鍏抽敭宸ュ簭");
     ErrorCode PRO_ROUTE_ENABLE_PRODUCT_NO_BOM = new ErrorCode(1_040_501_004, "浜у搧 {} 鏈厤缃伐搴忕殑 BOM 娑堣��");
     ErrorCode PRO_ROUTE_IS_ENABLE = new ErrorCode(1_040_501_005, "宸ヨ壓璺嚎宸插惎鐢紝涓嶅厑璁告搷浣�");
+    ErrorCode PRO_ROUTE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_501_006, "瀵煎叆宸ヨ壓璺嚎鏁版嵁涓嶈兘涓虹┖");
     // ========== MES 鐢熶骇绠$悊-宸ヨ壓璺嚎宸ュ簭锛�1-040-501-100锛� ==========
     ErrorCode PRO_ROUTE_PROCESS_NOT_EXISTS = new ErrorCode(1_040_501_100, "宸ヨ壓璺嚎宸ュ簭涓嶅瓨鍦�");
     ErrorCode PRO_ROUTE_PROCESS_SORT_DUPLICATE = new ErrorCode(1_040_501_101, "搴忓彿宸插瓨鍦�");
@@ -262,6 +276,13 @@
     // ========== MES 鐢熶骇绠$悊-宸ヨ壓璺嚎浜у搧锛�1-040-501-200锛� ==========
     ErrorCode PRO_ROUTE_PRODUCT_NOT_EXISTS = new ErrorCode(1_040_501_200, "宸ヨ壓璺嚎浜у搧涓嶅瓨鍦�");
     ErrorCode PRO_ROUTE_PRODUCT_ITEM_DUPLICATE = new ErrorCode(1_040_501_201, "姝や骇鍝佸凡閰嶇疆浜嗗伐鑹鸿矾绾�");
+    ErrorCode PRO_ROUTE_PRODUCT_ITEM_TYPE_INVALID = new ErrorCode(1_040_501_202, "鐗╂枡銆恵}銆戠殑涓绘暟鎹被鍨嬪強MES鍒嗙被鍧囬潪鎴愬搧/鍗婃垚鍝侊紝璇峰厛鏍稿鐗╂枡绫诲瀷");
+    ErrorCode PRO_ROUTE_PRODUCT_WAREHOUSE_REQUIRED = new ErrorCode(1_040_501_203, "浜у搧銆恵}銆戞湭閰嶇疆鎶ュ伐鍏ュ簱浠撳簱銆佸簱鍖哄拰搴撲綅");
+    ErrorCode PRO_ROUTE_PROCESS_OUTPUT_REQUIRED = new ErrorCode(1_040_501_204, "宸ュ簭銆恵}銆戞湭閰嶇疆浜у嚭浜у搧");
+    ErrorCode PRO_ROUTE_PROCESS_OUTPUT_NOT_BOUND = new ErrorCode(1_040_501_205, "宸ュ簭浜у嚭浜у搧銆恵}銆戞湭缁戝畾鍒板綋鍓嶅伐鑹鸿矾绾�");
+    ErrorCode PRO_ROUTE_MIDDLE_OUTPUT_INVALID = new ErrorCode(1_040_501_206, "涓棿宸ュ簭銆恵}銆戝彧鑳戒骇鍑哄崐鎴愬搧鍒嗙被浜у搧");
+    ErrorCode PRO_ROUTE_LAST_OUTPUT_INVALID = new ErrorCode(1_040_501_207, "鏈亾宸ュ簭銆恵}銆戝彧鑳戒骇鍑烘垚鍝佸垎绫讳骇鍝侊紝涓斿繀椤诲寘鍚叏閮ㄧ粦瀹氭垚鍝�");
+    ErrorCode PRO_ROUTE_LAST_OUTPUT_ATTRIBUTION_REQUIRED = new ErrorCode(1_040_501_208, "鏈亾宸ュ簭銆恵}銆戠殑鎴愬搧浜у嚭蹇呴』鎸変骇鍝佸綊灞為厤缃紝姣忎釜鎴愬搧褰掑睘鍒拌嚜韬紝涓嶈兘浣跨敤鈥滈�氱敤鈥�");
     // ========== MES 鐢熶骇绠$悊-宸ヨ壓璺嚎浜у搧BOM锛�1-040-501-300锛� ==========
     ErrorCode PRO_ROUTE_PRODUCT_BOM_NOT_EXISTS = new ErrorCode(1_040_501_300, "宸ヨ壓璺嚎浜у搧 BOM 涓嶅瓨鍦�");
     ErrorCode PRO_ROUTE_PRODUCT_BOM_DUPLICATE = new ErrorCode(1_040_501_301, "褰撳墠 BOM 鐗╂枡鍦ㄦ宸ュ簭宸茬粡閰嶇疆杩�");
@@ -274,6 +295,8 @@
     ErrorCode PRO_WORK_ORDER_HAS_CHILDREN = new ErrorCode(1_040_502_004, "瀛樺湪瀛愬伐鍗曪紝鏃犳硶鍒犻櫎");
     ErrorCode PRO_WORK_ORDER_PRODUCT_MISMATCH = new ErrorCode(1_040_502_005, "褰撳墠浜у搧鐗╂枡涓庣敓浜у伐鍗曚骇鍝佷笉涓�鑷�");
     ErrorCode PRO_WORK_ORDER_SCHEDULE_QUANTITY_EXCEED = new ErrorCode(1_040_502_006, "鎺掍骇鏁伴噺瓒呴檺锛氬伐鍗晎}(璁″垝{}锛屽凡鎺掍骇{}锛屾湰娆℃帓浜})");
+    ErrorCode PRO_WORK_ORDER_ALREADY_STARTED = new ErrorCode(1_040_502_007, "宸ュ崟宸插惎鍔ㄧ敓浜э紝鏃犻渶閲嶅鍚姩");
+    ErrorCode PRO_WORK_ORDER_BATCH_NOT_EDITABLE = new ErrorCode(1_040_502_008, "宸ュ崟宸插畬宸ユ垨宸插彇娑堬紝鏃犳硶绠$悊鎵规");
     ErrorCode PRO_WORK_ORDER_BOM_NOT_EXISTS = new ErrorCode(1_040_502_100, "鐢熶骇宸ュ崟BOM涓嶅瓨鍦�");
 
     // ========== MES 鐢熶骇绠$悊-鐢熶骇宸ュ崟宸ュ簭锛�1-040-502-300锛� ==========
@@ -291,6 +314,8 @@
 
     // ========== MES 鐢熶骇绠$悊-鐢熶骇浠诲姟锛�1-040-503-000锛� ==========
     ErrorCode PRO_TASK_NOT_EXISTS = new ErrorCode(1_040_503_000, "鐢熶骇浠诲姟涓嶅瓨鍦�");
+    ErrorCode PRO_TASK_SCHEDULE_INVALID = new ErrorCode(1_040_503_020, "鎺掍骇鏍¢獙鏈�氳繃锛歿}");
+    ErrorCode PRO_TASK_SCHEDULE_PREVIEW_CHANGED = new ErrorCode(1_040_503_021, "鎺掍骇鏁版嵁宸插彉鍖栨垨棰勮宸茶繃鏈燂紝璇烽噸鏂扮敓鎴愰瑙堝悗纭");
     ErrorCode PRO_TASK_ALREADY_FINISHED = new ErrorCode(1_040_503_001, "鐢熶骇浠诲姟宸插畬鎴愭垨宸插彇娑堬紝涓嶈兘缁х画鎿嶄綔");
     ErrorCode PRO_TASK_WORK_ORDER_MISMATCH = new ErrorCode(1_040_503_002, "鐢熶骇浠诲姟涓嶅睘浜庡綋鍓嶇敓浜у伐鍗�");
     ErrorCode PRO_TASK_WORKSTATION_MISMATCH = new ErrorCode(1_040_503_003, "鐢熶骇浠诲姟涓嶅睘浜庡綋鍓嶅伐浣滅珯");
@@ -298,7 +323,7 @@
     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_009, "宸ヤ綔绔欐墍灞炲伐搴忎笌褰撳墠宸ュ簭涓嶄竴鑷�"); // 淇缂栧彿鍐茬獊
-    ErrorCode PRO_TASK_CANNOT_PAUSE = new ErrorCode(1_040_503_007, "鍙湁銆愮敓浜т腑銆戞垨銆愰儴鍒嗗畬鎴愩�戠殑浠诲姟鍙互鍋滃伐");
+    ErrorCode PRO_TASK_CANNOT_PAUSE = new ErrorCode(1_040_503_007, "鍙湁銆愯崏绋裤�戙�併�愮敓浜т腑銆戞垨銆愰儴鍒嗗畬鎴愩�戠殑浠诲姟鍙互鍋滃伐");
     ErrorCode PRO_TASK_NOT_PAUSED = new ErrorCode(1_040_503_008, "浠诲姟涓嶅浜庛�愬凡鍋滃伐銆戠姸鎬侊紝鏃犳硶澶嶅伐");
     // ========== MES 鐢熶骇绠$悊-鐢熶骇浠诲姟鎶曟枡锛�1-040-503-100锛� ==========
     ErrorCode PRO_TASK_ISSUE_NOT_EXISTS = new ErrorCode(1_040_503_100, "鐢熶骇浠诲姟鎶曟枡璁板綍涓嶅瓨鍦�");
@@ -332,6 +357,7 @@
             "鎶ュ伐瀵瑰簲鐨勪骇鍑哄叆搴撳崟宸插瓨鍦ㄥ鐞嗙粨鏋滐紝鏃犳硶鑷姩琛ョ敓鎴愬緟妫�琛岋紝璇疯繍琛岃川妫�鎶ュ伐鏁版嵁淇鑴氭湰鏍稿");
     ErrorCode PRO_FEEDBACK_PREV_PROCESS_NOT_FINISHED = new ErrorCode(1_040_506_016,
             "涓婁竴閬撳伐搴忋�寋}銆嶅皻鏈姤宸ュ畬鎴愶紙鍓╀綑 {}锛夛紝璇峰厛瀹屾垚涓婁竴閬撳伐搴忕殑鎶ュ伐");
+    ErrorCode PRO_FEEDBACK_EQUIPMENT_INVALID = new ErrorCode(1_040_506_017, "鎶ュ伐璁惧鏍¢獙澶辫触锛歿}");
 
     // ========== MES 鐢熶骇绠$悊-鐢熶骇娴佽浆鍗★紙1-040-507-000锛� ==========
     ErrorCode PRO_CARD_NOT_EXISTS = new ErrorCode(1_040_507_000, "鐢熶骇娴佽浆鍗′笉瀛樺湪");
@@ -357,6 +383,10 @@
     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锛屼骇鍝侊細{}");
     ErrorCode PRO_MPS_WORK_ORDER_HAS_FEEDBACK = new ErrorCode(1_040_509_009, "璇ヨ鍒掑叧鑱旂殑鐢熶骇璁㈠崟宸叉湁鎶ュ伐璁板綍锛屾棤娉曞彇娑堬紒");
+    ErrorCode PRO_MPS_NOT_APPROVED = new ErrorCode(1_040_509_011, "鍙湁宸插鏍哥姸鎬佺殑 MPS 鎵嶈兘鎵ц姝ゆ搷浣滐紝璇峰厛鎻愪氦瀹℃牳");
+    ErrorCode PRO_MPS_NO_MATERIAL_SHORTAGE = new ErrorCode(1_040_509_013, "璇ヨ鍒掓墍闇�鐗╂枡搴撳瓨鍏呰冻锛屾棤闇�鐢熸垚閲囪喘鍗�");
+    ErrorCode PRO_MPS_PROCESS_NOT_DEPLOYED = new ErrorCode(1_040_509_014, "鎻愪氦瀹℃牳澶辫触锛氱敓浜ц鍒掑鎵规祦绋�(mes-pro-mps-audit)灏氭湭閮ㄧ讲锛岃鑱旂郴绠$悊鍛樺湪銆屽崗鍚屽姙鍏� - 娴佺▼妯″瀷銆嶄腑閮ㄧ讲璇ユ祦绋嬪悗閲嶆柊鎻愪氦");
+    ErrorCode PRO_MPS_NO_MATERIAL_BOM = new ErrorCode(1_040_509_015, "鐢熶骇璁″垝{}鐨勪骇鍝併�恵}銆戝皻鏈淮鎶や骇鍝� BOM 鎴栧伐鑹鸿矾绾挎姇鏂� BOM锛屾棤娉曡绠楃墿鏂欑己鍙o紝璇峰厛鍒般�岀敓浜у熀纭�鏁版嵁 - 鐗╂枡BOM缁存姢銆嶆垨銆岀敓浜у熀纭�鏁版嵁 - 宸ヨ壓璺嚎銆嶄腑閰嶇疆鎶曟枡鍚庡啀鐢熸垚閲囪喘鐢宠鍗�");
 
     // ========== MES 璐ㄩ噺绠$悊-璐ㄦ鏂规锛�1-040-600-000锛� ==========
     ErrorCode QC_TEMPLATE_NOT_EXISTS = new ErrorCode(1_040_600_000, "璐ㄦ鏂规涓嶅瓨鍦�");
@@ -372,6 +402,12 @@
     ErrorCode QC_INDICATOR_CODE_DUPLICATE = new ErrorCode(1_040_601_001, "璐ㄦ鎸囨爣缂栫爜宸插瓨鍦�");
     ErrorCode QC_INDICATOR_NAME_DUPLICATE = new ErrorCode(1_040_601_002, "璐ㄦ鎸囨爣鍚嶇О宸插瓨鍦�");
     ErrorCode QC_INDICATOR_RESULT_SPECIFICATION_REQUIRED = new ErrorCode(1_040_601_003, "缁撴灉鍊煎睘鎬т笉鑳戒负绌�");
+    ErrorCode QC_INDICATOR_PARENT_NOT_EXISTS = new ErrorCode(1_040_601_004, "鐖舵寚鏍囦笉瀛樺湪");
+    ErrorCode QC_INDICATOR_PARENT_NOT_GROUP = new ErrorCode(1_040_601_005, "鐖舵寚鏍囦笉鏄垎缁勯」");
+    ErrorCode QC_INDICATOR_PARENT_SELF = new ErrorCode(1_040_601_006, "鐖舵寚鏍囦笉鑳芥槸鑷繁");
+    ErrorCode QC_INDICATOR_GROUP_CANNOT_NEST = new ErrorCode(1_040_601_007, "鍒嗙粍椤逛笉鑳芥寕鍦ㄥ叾瀹冩寚鏍囦笅");
+    ErrorCode QC_INDICATOR_HAS_CHILDREN = new ErrorCode(1_040_601_008, "璇ユ寚鏍囦笅宸叉湁瀛愰」");
+    ErrorCode QC_INDICATOR_RESULT_TYPE_REQUIRED = new ErrorCode(1_040_601_009, "褰曞叆椤圭殑缁撴灉鍊肩被鍨嬩笉鑳戒负绌�");
 
     // ========== MES 璐ㄩ噺绠$悊-缂洪櫡绫诲瀷锛�1-040-602-000锛� ==========
     ErrorCode QC_DEFECT_NOT_EXISTS = new ErrorCode(1_040_602_000, "缂洪櫡绫诲瀷涓嶅瓨鍦�");
@@ -576,6 +612,10 @@
     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, "鐢熶骇浠诲姟涓嶅瓨鍦�");
+    ErrorCode WM_PRODUCT_ISSUE_SUPPLEMENT_REASON_REQUIRED = new ErrorCode(1_040_708_007, "琛ラ杈呮枡蹇呴』濉啓琛ラ鍘熷洜");
+    ErrorCode WM_PRODUCT_ISSUE_SUPPLEMENT_WORK_ORDER_NOT_STARTED = new ErrorCode(1_040_708_008, "宸ュ崟{}灏氭湭纭锛屾棤娉曡ˉ棰嗚緟鏂欙紝璇峰厛纭宸ュ崟");
+    ErrorCode WM_PRODUCT_ISSUE_GENERATE_BOM_EMPTY = new ErrorCode(1_040_708_009, "鐢熶骇宸ュ崟{}鐨� BOM 鐗╂枡娓呭崟涓虹┖锛屾棤娉曠敓鎴愰鏂欎换鍔�");
+    ErrorCode WM_PRODUCT_ISSUE_GENERATE_ALL_ISSUED = new ErrorCode(1_040_708_010, "鐢熶骇宸ュ崟{}鎸� BOM 搴旈鐨勭墿鏂欏凡鍏ㄩ儴棰嗚繃锛屾棤闇�閲嶅鐢熸垚棰嗘枡浠诲姟");
 
     // ========== MES 浠撳簱绠$悊-鐢熶骇鍏ュ簱鍗曪紙1-040-709-000锛� ==========
     ErrorCode WM_PRODUCT_PRODUCE_NOT_EXISTS = new ErrorCode(1_040_709_000, "鐢熶骇鍏ュ簱鍗曚笉瀛樺湪");
@@ -694,6 +734,18 @@
     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_DIFFERENCE_PROCESSED = new ErrorCode(1_040_714_122, "璇ョ洏鐐逛换鍔$殑宸紓宸插鐞嗚繃锛屼笉鑳介噸澶嶈皟鏁村簱瀛�");
+    // ========== 搴撳瓨棰勮 1_040_750_xxx ==========
+    ErrorCode WM_STOCK_WARNING_RULE_NOT_EXISTS = new ErrorCode(1_040_750_000, "搴撳瓨棰勮瑙勫垯涓嶅瓨鍦�");
+    ErrorCode WM_STOCK_WARNING_ITEM_NOT_EXISTS = new ErrorCode(1_040_750_001, "鎵�閫夌墿鏂欎笉瀛樺湪");
+    ErrorCode WM_STOCK_WARNING_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_750_002, "鎵�閫変粨搴撲笉瀛樺湪");
+    ErrorCode WM_SORT_TASK_NOT_EXISTS = new ErrorCode(1_040_750_100, "鍒嗘嫞浠诲姟涓嶅瓨鍦�");
+    ErrorCode WM_SORT_TASK_LINE_NOT_EXISTS = new ErrorCode(1_040_750_101, "鍒嗘嫞浠诲姟鏄庣粏涓嶅瓨鍦�");
+    ErrorCode WM_SORT_TASK_NOT_PENDING = new ErrorCode(1_040_750_102, "鍙湁寰呭垎鎷f垨鍒嗘嫞涓殑浠诲姟鎵嶅厑璁告鎿嶄綔");
+    ErrorCode WM_SORT_TASK_SCAN_MISMATCH = new ErrorCode(1_040_750_103, "鎵爜缁撴灉涓庡垎鎷f槑缁嗕笉鍖归厤");
+    ErrorCode WM_SORT_TASK_NOTICE_EXISTS = new ErrorCode(1_040_750_104, "璇ュ彂璐ч�氱煡鍗曞凡瀛樺湪鏈畬鎴愮殑鍒嗘嫞浠诲姟");
+    ErrorCode WM_SORT_TASK_LINE_ALREADY_SORTED = new ErrorCode(1_040_750_105, "璇ュ垎鎷f槑缁嗗凡瀹屾垚锛屼笉鑳介噸澶嶅垎鎷�");
+    ErrorCode WM_SORT_TASK_NO_STOCK = new ErrorCode(1_040_750_106, "鍙戣揣鍗曟槑缁嗗湪搴撲綅涓婃病鏈夊彲鐢ㄥ簱瀛�");
 
     // ========== MES 浠撳簱绠$悊-閿�鍞嚭搴撳崟锛�1-040-714-000锛� ==========
     ErrorCode WM_PRODUCT_SALES_NOT_EXISTS = new ErrorCode(1_040_714_000, "閿�鍞嚭搴撳崟涓嶅瓨鍦�");
@@ -807,6 +859,8 @@
 
     // ========== MES 浜у搧璁捐-璧勬枡瀹℃牳锛�1-040-802-000锛� ==========
     ErrorCode PD_DOCUMENT_AUDIT_NOT_EXISTS = new ErrorCode(1_040_802_000, "璧勬枡瀹℃牳璁板綍涓嶅瓨鍦�");
+    ErrorCode PD_DOCUMENT_AUDIT_STATUS_REQUIRED = new ErrorCode(1_040_802_001, "瀹℃牳缁撴灉涓嶈兘涓虹┖锛氳閫夋嫨銆屽鏍搁�氳繃銆嶆垨銆屽鏍镐笉閫氳繃銆嶅悗閲嶆柊鎻愪氦");
+    ErrorCode PD_DOCUMENT_AUDIT_STATUS_INVALID = new ErrorCode(1_040_802_002, "瀹℃牳缁撴灉涓嶅悎娉曪細鍙厑璁搞�屽鏍搁�氳繃銆嶆垨銆屽鏍镐笉閫氳繃銆嶏紝璇烽噸鏂伴�夋嫨鍚庢彁浜�");
 
     // ========== MES 浜у搧璁捐-褰掓。鍙拌处锛�1-040-803-000锛� ==========
     ErrorCode PD_ARCHIVE_NOT_EXISTS = new ErrorCode(1_040_803_000, "褰掓。鍙拌处涓嶅瓨鍦�");

--
Gitblit v1.9.3