From a0b4de611e3b1986b2713c6a161cc1613ec31a5b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 10 十一月 2026 11:42:13 +0800
Subject: [PATCH] feat(mes): 采购入库简化为确认入库并自动生成入库单

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 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 509733b..0ead565 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
@@ -106,6 +106,7 @@
     ErrorCode MD_PRODUCT_BOM_SELF_REFERENCE = new ErrorCode(1_040_107_001, "浜у搧涓嶈兘浣滀负鑷韩鐨凚OM鐗╂枡");
     ErrorCode MD_PRODUCT_BOM_CIRCULAR = new ErrorCode(1_040_107_002, "BOM鐗╂枡瀛樺湪闂幆锛屾棤娉曟柊澧�");
     ErrorCode MD_PRODUCT_BOM_ITEM_INVALID = new ErrorCode(1_040_107_003, "閫夋嫨鐨� BOM 鐗╂枡涓嶅睘浜庡綋鍓嶄骇鍝�");
+    ErrorCode MD_PRODUCT_BOM_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_107_004, "瀵煎叆鐨� BOM 鏁版嵁涓嶈兘涓虹┖");
 
     // ========== MES 鍩虹鏁版嵁-浜у搧SOP锛�1-040-108-000锛� ==========
     ErrorCode MD_PRODUCT_SOP_NOT_EXISTS = new ErrorCode(1_040_108_000, "浜у搧SOP涓嶅瓨鍦�");
@@ -354,6 +355,12 @@
             "宸ュ簭銆寋}銆嶆寜璁℃椂璁¤柂锛岃濉啓鏈鎶ュ伐宸ユ椂锛堝皬鏃讹級锛屽伐鏃跺繀椤诲ぇ浜� 0锛涜嫢瀹為檯鎸夋暟閲忚钖紝璇峰厛鎶婅宸ュ簭鐨勮璐圭被鍨嬫敼涓鸿浠�");
     ErrorCode PRO_FEEDBACK_TIME_BILLING_QUICK_UNSUPPORTED = new ErrorCode(1_040_506_020,
             "宸ュ簭銆寋}銆嶆寜璁℃椂璁¤柂锛屽揩鎹锋姤宸ユ棤娉曞綍鍏ュ伐鏃讹紙灏忔椂锛夛紱璇峰埌銆岀敓浜ф姤宸ャ�嶉〉闈㈡柊澧炴姤宸ュ苟濉啓宸ユ椂");
+    ErrorCode PRO_FEEDBACK_APPROVAL_PROCESS_KEY_REQUIRED = new ErrorCode(1_040_506_021,
+            "宸ュ崟宸插紑鍚姤宸ュ鎵癸紝浣嗘湭閰嶇疆瀹℃壒娴佺▼锛岃鍏堜负宸ュ崟閰嶇疆娴佺▼鍚庡啀鎻愪氦鎶ュ伐");
+    ErrorCode PRO_FEEDBACK_APPROVAL_PROCESS_KEY_INVALID = new ErrorCode(1_040_506_022,
+            "宸ュ崟閰嶇疆鐨勬姤宸ュ鎵规祦绋嬫湭婵�娲绘垨涓嶅睘浜庢姤宸ュ鎵瑰垎绫伙紝璇锋鏌ュ伐鍗曞鎵归厤缃�");
+    ErrorCode PRO_FEEDBACK_APPROVAL_HANDLE_IN_BPM = new ErrorCode(1_040_506_023,
+            "璇ユ姤宸ュ崟宸插彂璧峰鎵规祦绋嬶紝涓嶈兘鍦ㄦ姤宸ラ〉闈㈢洿鎺ラ�氳繃鎴栨嫆缁濓紱璇峰鎵逛汉鍓嶅線銆屽緟鍔炰换鍔°�嶅鐞嗚娴佺▼锛屾祦绋嬬粨鏉熷悗鎶ュ伐鐘舵�佷細鑷姩鏇存柊");
 
     // ========== MES 鐢熶骇绠$悊-杈呭姪宸ユ椂閰嶇疆锛�1-040-510-000锛� ==========
     ErrorCode PRO_WORKTIME_AUX_NOT_EXISTS = new ErrorCode(1_040_510_000, "杈呭姪宸ユ椂椤圭洰涓嶅瓨鍦�");
@@ -505,6 +512,11 @@
     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, "澶勭疆鏂瑰紡[{}]涓嶅湪鍏佽鑼冨洿鍐咃紝璇蜂粠[璁╂鏀捐銆佽繑淇�佽繑宸ャ�佹姤搴焆涓�夋嫨涓�椤�");
+    ErrorCode QC_NCR_DISPOSE_STORAGE_REQUIRED = new ErrorCode(1_040_609_011, "澶勭疆鏂瑰紡[{}]闇�瑕佸叆搴撳埌鎸囧畾搴撲綅锛氬綋鍓嶄粨搴揫{}]銆佸簱鍖篬{}]銆佸簱浣峓{}]鏈�夊叏锛岃鍥炲埌澶勭疆寮圭獥琛ラ�夌己澶遍」鍚庨噸鏂版彁浜�");
+    ErrorCode QC_NCR_DISPOSE_BATCH_REQUIRED = new ErrorCode(1_040_609_012, "鐗╂枡[{}]鍚敤浜嗘壒娆$鐞嗭紝澶勭疆鏂瑰紡[{}]鍏ュ簱鏃跺繀椤诲~鍐欐壒娆″彿锛涜鍦ㄥ缃脊绐楃殑[鎵规鍙穄涓~鍐欏悗閲嶈瘯");
+    ErrorCode QC_NCR_DISPOSE_QUANTITY_INVALID = new ErrorCode(1_040_609_013, "涓嶅悎鏍兼暟閲廩{}]蹇呴』澶т簬 0 鎵嶈兘鐢熸垚鍏ュ簱鍗�/鐢熶骇璁㈠崟锛岃鍏堝湪妫�楠屽崟涓慨姝d笉鍚堟牸鏁伴噺");
+    ErrorCode QC_NCR_DISPOSE_STORAGE_DISABLED = new ErrorCode(1_040_609_014, "澶勭疆鏂瑰紡[{}]鎵�閫夊簱浣峓{}]涓嶅彲鐢細浠撳簱[{}]銆佸簱鍖篬{}]涓庡簱浣峓{}]鐨勫綊灞炲叧绯讳笉涓�鑷达紝璇峰洖鍒板缃脊绐楅噸鏂伴�夋嫨浠撳簱/搴撳尯/搴撲綅");
+    ErrorCode QC_NCR_DISPOSE_PRODUCT_NOT_EXISTS = new ErrorCode(1_040_609_015, "鐗╂枡[{}]鍦� MES 浜у搧涓绘暟鎹腑涓嶅瓨鍦紙MDM 鐗╂枡 ID={}锛夛紝鏃犳硶鐢熸垚杩斿伐/杩斾慨鐢熶骇璁㈠崟锛涜鍏堝湪[鐗╂枡浜у搧]涓淮鎶よ浜у搧鍚庡啀澶勭疆");
 
     // ========== MES 浠撳簱绠$悊-浠撳簱锛�1-040-700-000锛� ==========
     ErrorCode WM_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_700_000, "浠撳簱涓嶅瓨鍦�");
@@ -578,6 +590,9 @@
     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_NO_IQC_LINE = new ErrorCode(1_040_704_009, "鍒拌揣閫氱煡鍗曟病鏈夐渶瑕佹楠岀殑鏄庣粏琛岋紝鏃犻渶鐢熸垚鏉ユ枡妫�楠屽崟");
+    ErrorCode WM_ARRIVAL_NOTICE_IQC_ALREADY_CREATED = new ErrorCode(1_040_704_010, "鍒拌揣閫氱煡鍗曠殑闇�妫�琛屽凡鍏ㄩ儴鐢熸垚鏉ユ枡妫�楠屽崟");
+    ErrorCode WM_ARRIVAL_NOTICE_IQC_CREATE_FAILED = new ErrorCode(1_040_704_011, "鐢熸垚鏉ユ枡妫�楠屽崟澶辫触");
     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, "鍒拌揣閫氱煡鍗曡涓嶅睘浜庢寚瀹氱殑鍒拌揣閫氱煡鍗�");
 
@@ -590,6 +605,7 @@
     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_ITEM_RECEIPT_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_040_705_008, "閲囪喘鍏ュ簱瀹℃壒娴佺▼鏈厤缃垨鎵�閫夋祦绋嬩笉灞炰簬閲囪喘鍏ュ簱瀹℃壒");
     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, "閲囪喘鍏ュ簱鍗曡涓嶅瓨鍦�");
@@ -600,6 +616,12 @@
     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, "鐗╂枡銆恵}-{}銆戝凡寮�鍚壒娆$鐞嗭紝涓婃灦鏄庣粏鐨勬壒娆″彿涓嶈兘涓虹┖");
+    ErrorCode WM_ITEM_RECEIPT_CONFIRM_STATUS_ERROR = new ErrorCode(1_040_705_009, "閲囪喘鍏ュ簱鍗曞綋鍓嶇姸鎬佷笉鍏佽纭鍏ュ簱");
+    ErrorCode WM_ITEM_RECEIPT_CONFIRM_LOCATION_REQUIRED = new ErrorCode(1_040_705_010, "纭鍏ュ簱蹇呴』閫夋嫨鍏ュ簱浠撳簱銆佸簱鍖哄拰搴撲綅");
+    ErrorCode WM_ITEM_RECEIPT_CONFIRM_LOCATION_MISMATCH = new ErrorCode(1_040_705_011, "鍏ュ簱浠撳簱銆佸簱鍖恒�佸簱浣嶇殑灞傜骇涓嶅尮閰�");
+    ErrorCode WM_ITEM_RECEIPT_CONFIRM_QUANTITY_INVALID = new ErrorCode(1_040_705_013, "鍏ュ簱鏁伴噺蹇呴』澶т簬 0");
+    ErrorCode WM_ITEM_RECEIPT_CONFIRM_BATCH_GENERATE_FAILED = new ErrorCode(1_040_705_014, "鐢熸垚鐗╂枡鎵规澶辫触");
+    ErrorCode WM_ITEM_RECEIPT_CONFIRM_DETAIL_MISSING = new ErrorCode(1_040_705_015, "鏃ф祦绋嬬殑寰呮墽琛屽叆搴撳崟缂哄皯涓婃灦鏄庣粏");
 
     // ========== MES 浠撳簱绠$悊-棰嗘枡鐢宠鍗曪紙1-040-706-000锛� ==========
     ErrorCode WM_MATERIAL_REQUEST_NOT_EXISTS = new ErrorCode(1_040_706_000, "棰嗘枡鐢宠鍗曚笉瀛樺湪");
@@ -853,7 +875,12 @@
     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_BPM_PROCESS_DEFINITION_NOT_IN_CATEGORY = new ErrorCode(1_040_720_024,
+            "鎵�閫夊鎵规祦绋媅{}]涓嶅睘浜庛�屽彂璐у鎵广�嶅垎绫伙紝涓嶈兘鐢ㄤ簬鍙戣揣鍗曞鎵癸紱璇峰湪鎻愪氦鏃堕�夋嫨鍙戣揣瀹℃壒鍒嗙被涓嬬殑娴佺▼");
+    ErrorCode WM_SALES_NOTICE_BPM_PROCESS_KEY_INVALID = new ErrorCode(1_040_720_025,
+            "鎵�閫夊鎵规祦绋� Key[{}] 涓嶅瓨鍦ㄦ垨宸插仠鐢紝璇烽噸鏂伴�夋嫨銆屽彂璐у鎵广�嶅垎绫讳笅宸插惎鐢ㄧ殑娴佺▼");
     ErrorCode WM_SALES_NOTICE_UPDATE_AUDIT_STATUS_FAIL_NOT_APPROVING = new ErrorCode(1_040_720_022, "鍙戣揣鍗�({})褰撳墠鐘舵�佷负[{}]锛屼笉澶勪簬瀹℃壒涓紝鏃犳硶鏇存柊瀹℃壒缁撴灉");
+    ErrorCode WM_SALES_NOTICE_STATUS_NOT_ALLOW_SUBMIT = new ErrorCode(1_040_720_023, "鍙湁鑽夌鐘舵�佺殑鍙戣揣閫氱煡鍗曟墠鑳芥彁浜ゅ鎵�");
 
     // ========== MES 浠撳簱绠$悊-鏉$爜閰嶇疆锛�1-040-730-000锛� ==========
     ErrorCode WM_BARCODE_CONFIG_NOT_EXISTS = new ErrorCode(1_040_730_000, "鏉$爜閰嶇疆涓嶅瓨鍦�");

--
Gitblit v1.9.3