From ac2e2b5af3726ee64dc37c3ebf26989a0346f22a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 07 十一月 2026 19:16:05 +0800
Subject: [PATCH] feat(feedback): 优化报工审批流程并增加报工人校验
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java | 30 ++++++++++++++++++++++++------
1 files changed, 24 insertions(+), 6 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 8f24866..061ee25 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
@@ -289,10 +289,13 @@
ErrorCode PRO_ROUTE_PROCESS_SORT_DUPLICATE = new ErrorCode(1_040_501_101, "搴忓彿宸插瓨鍦�");
ErrorCode PRO_ROUTE_PROCESS_DUPLICATE = new ErrorCode(1_040_501_102, "涓嶈兘閲嶅娣诲姞宸ュ簭");
ErrorCode PRO_ROUTE_PROCESS_KEY_DUPLICATE = new ErrorCode(1_040_501_103, "褰撳墠宸ヨ壓璺嚎宸茬粡鎸囧畾杩囧叧閿伐搴�");
+ ErrorCode PRO_ROUTE_PROCESS_OUTPUT_MAIN_REQUIRED = new ErrorCode(1_040_501_104, "鍚屼竴閬撳伐搴忓瓨鍦ㄥ涓骇鍑烘椂锛岃鎸囧畾涓讳骇鍑�");
+ ErrorCode PRO_ROUTE_PROCESS_OUTPUT_RATIO_INVALID = new ErrorCode(1_040_501_105, "浜у嚭鐗╂枡鐨勯厤姣斿繀椤诲ぇ浜� 0");
+ ErrorCode PRO_ROUTE_PROCESS_OUTPUT_MAIN_DUPLICATE = new ErrorCode(1_040_501_106, "鍚屼竴閬撳伐搴忕殑鍚屼竴褰掑睘浜у搧鍙兘鎸囧畾涓�涓富浜у嚭");
// ========== 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, "宸ヨ壓璺嚎鍙兘鍏宠仈浜у搧绫诲瀷鐗╂枡");
+ ErrorCode PRO_ROUTE_PRODUCT_ITEM_TYPE_INVALID = new ErrorCode(1_040_501_202, "宸ヨ壓璺嚎鍙兘鍏宠仈鎴愬搧鐗╂枡");
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, "宸ュ簭浜у嚭浜у搧銆恵}銆戞湭缁戝畾鍒板綋鍓嶅伐鑹鸿矾绾�");
@@ -330,6 +333,8 @@
ErrorCode PRO_WORK_ORDER_SALE_ORDER_NOT_EXISTS = new ErrorCode(1_040_502_205, "鍏宠仈鐨勮惀閿�璁㈠崟锛堥攢鍞鍗曪級涓嶅瓨鍦�");
// ========== MES 鐢熶骇绠$悊-鐢熶骇浠诲姟锛�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_NOT_EXISTS = new ErrorCode(1_040_503_000, "鐢熶骇浠诲姟涓嶅瓨鍦�");
ErrorCode PRO_TASK_ALREADY_FINISHED = new ErrorCode(1_040_503_001, "鐢熶骇浠诲姟宸插畬鎴愭垨宸插彇娑堬紝涓嶈兘缁х画鎿嶄綔");
ErrorCode PRO_TASK_WORK_ORDER_MISMATCH = new ErrorCode(1_040_503_002, "鐢熶骇浠诲姟涓嶅睘浜庡綋鍓嶇敓浜у伐鍗�");
@@ -371,6 +376,7 @@
ErrorCode PRO_FEEDBACK_APPROVER_NOT_CONFIGURED = new ErrorCode(1_040_506_015, "鎶ュ伐鍗曟湭鎸囧畾瀹℃牳浜猴紝鏃犳硶瀹℃壒");
ErrorCode PRO_FEEDBACK_PARAM_INVALID = new ErrorCode(1_040_506_017, "鎶ュ伐鍙傛暟閿欒锛歿}");
ErrorCode PRO_FEEDBACK_NOT_APPROVER = new ErrorCode(1_040_506_016, "鎮ㄤ笉鏄鎶ュ伐鍗曠殑鎸囧畾瀹℃牳浜猴紝鏃犳潈瀹℃壒");
+ ErrorCode PRO_FEEDBACK_NOT_ASSIGNED = new ErrorCode(1_040_506_018, "鎮ㄤ笉鏄鐢熶骇浠诲姟鐨勬姤宸ヤ汉锛屾棤娉曟姤宸�");
// ========== MES 鐢熶骇绠$悊-鐢熶骇娴佽浆鍗★紙1-040-507-000锛� ==========
ErrorCode PRO_CARD_NOT_EXISTS = new ErrorCode(1_040_507_000, "鐢熶骇娴佽浆鍗′笉瀛樺湪");
@@ -430,6 +436,7 @@
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, "瀹屾垚妫�楠屽崟鍓嶏紝妫�娴嬬粨鏋滃繀椤诲~鍐�");
ErrorCode QC_IQC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_603_009, "瀵煎叆鏉ユ枡妫�楠屽崟鏁版嵁涓嶈兘涓虹┖");
+ ErrorCode QC_IQC_SOURCE_DOC_TYPE_UNKNOWN = new ErrorCode(1_040_603_010, "鏃犳硶璇嗗埆鐨勬潵婧愬崟鎹被鍨�({})锛屾棤娉曞洖鍐�");
// ========== MES 璐ㄩ噺绠$悊-鏉ユ枡妫�楠岃锛�1-040-603-100锛� ==========
ErrorCode QC_IQC_LINE_NOT_EXISTS = new ErrorCode(1_040_603_100, "鏉ユ枡妫�楠岃涓嶅瓨鍦�");
@@ -446,6 +453,12 @@
ErrorCode QC_IPQC_SOURCE_LINE_REQUIRED = new ErrorCode(1_040_604_010, "鏉ユ簮鍗曟嵁绫诲瀷涓烘姤宸ユ椂锛屾潵婧愪骇鍑鸿 ID 涓嶈兘涓虹┖");
ErrorCode QC_IPQC_SOURCE_LINE_NOT_PENDING = new ErrorCode(1_040_604_011, "鏉ユ簮浜у嚭琛屼笉鏄緟妫�楠岀姸鎬�");
ErrorCode QC_IPQC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_604_012, "瀵煎叆杩囩▼妫�楠屽崟鏁版嵁涓嶈兘涓虹┖");
+ ErrorCode QC_IPQC_SOURCE_QUANTITY_INVALID = new ErrorCode(1_040_604_013, "妫�娴嬫暟閲忓繀椤荤瓑浜庡緟妫�浜у嚭鏁伴噺锛涘綋鍓嶄笉鏀寔鍒嗘壒妫�楠�");
+ ErrorCode QC_IPQC_SOURCE_ALREADY_LINKED = new ErrorCode(1_040_604_014, "璇ュ緟妫�浜у嚭宸叉湁杩囩▼妫�楠屽崟锛岃鎵撳紑宸叉湁妫�楠屽崟澶勭悊");
+ ErrorCode QC_IPQC_QUANTITY_INVALID = new ErrorCode(1_040_604_015, "妫�娴嬫暟閲忓繀椤诲ぇ浜庨浂锛屽悎鏍间笌涓嶅悎鏍兼暟閲忎笉寰椾负璐熶笖鍚堣椤荤瓑浜庢娴嬫暟閲�");
+ ErrorCode QC_IPQC_SOURCE_INCOMPLETE = new ErrorCode(1_040_604_016, "鏉ユ簮鍗曟嵁绫诲瀷銆佹姤宸ュ崟鍜屼骇鍑鸿蹇呴』瀹屾暣濉啓");
+ ErrorCode QC_IPQC_SCRAP_QUANTITY_INVALID = new ErrorCode(1_040_604_017, "宸ュ簾銆佹枡搴熷強鍏朵粬搴熷搧鏁伴噺涓嶈兘涓鸿礋锛屽悎璁′笉鑳借秴杩囦笉鍚堟牸鏁伴噺");
+ ErrorCode QC_IPQC_NO_TEMPLATE_FOR_ITEM = new ErrorCode(1_040_604_018, "鐗╂枡銆恵}銆戞湭閰嶇疆鍚敤鐨勮繃绋嬫楠屾ā鏉匡紝璇峰厛鍦ㄨ川閲忕鐞嗕腑涓鸿鐗╂枡鍚敤杩囩▼妫�楠�");
// ========== MES 璐ㄩ噺绠$悊-杩囩▼妫�楠岃锛�1-040-604-100锛� ==========
ErrorCode QC_IPQC_LINE_NOT_EXISTS = new ErrorCode(1_040_604_100, "杩囩▼妫�楠岃涓嶅瓨鍦�");
@@ -464,9 +477,11 @@
ErrorCode QC_OQC_CODE_DUPLICATE = new ErrorCode(1_040_607_001, "鍑鸿揣妫�楠屽崟缂栧彿宸插瓨鍦�");
ErrorCode QC_OQC_NOT_PREPARE = new ErrorCode(1_040_607_002, "鍙湁鑽夌鐘舵�佺殑妫�楠屽崟鎵嶅彲鎿嶄綔");
ErrorCode QC_OQC_QUANTITY_MISMATCH = new ErrorCode(1_040_607_004, "鍚堟牸鍝佷笌涓嶅悎鏍煎搧鏁伴噺涔嬪拰椤荤瓑浜庢娴嬫暟閲�");
+ ErrorCode QC_OQC_NO_TEMPLATE_FOR_ITEM = new ErrorCode(1_040_607_009, "鐗╂枡銆恵}銆戞湭閰嶇疆鍚敤鐨勫嚭璐ф楠屾ā鏉匡紝璇峰厛鍦ㄨ川閲忕鐞嗕腑閰嶇疆");
ErrorCode QC_OQC_NO_TEMPLATE = new ErrorCode(1_040_607_005, "褰撳墠浜у搧鏈厤缃� OQC 妫�娴嬫ā鏉�");
ErrorCode QC_OQC_CHECK_RESULT_EMPTY = new ErrorCode(1_040_607_006, "瀹屾垚妫�楠屽崟鍓嶏紝妫�娴嬬粨鏋滃繀椤诲~鍐�");
- ErrorCode QC_OQC_SOURCE_DOC_TYPE_UNKNOWN = new ErrorCode(1_040_607_007, "鏈煡鐨� OQC 鏉ユ簮鍗曟嵁绫诲瀷");
+ ErrorCode QC_OQC_SOURCE_DOC_TYPE_UNKNOWN = new ErrorCode(1_040_607_007, "鏃犳硶璇嗗埆鐨勬潵婧愬崟鎹被鍨�({})锛屾棤娉曞洖鍐�");
+ ErrorCode QC_OQC_SOURCE_LINE_REQUIRED = new ErrorCode(1_040_607_010, "鍑鸿揣妫�楠屽崟鐨勬潵婧愬崟鎹被鍨嬪凡濉啓锛屼絾鏈寚瀹氭潵婧愯锛屾棤娉曞洖鍐�");
ErrorCode QC_OQC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_607_008, "瀵煎叆鍑鸿揣妫�楠屽崟鏁版嵁涓嶈兘涓虹┖");
// ========== MES 璐ㄩ噺绠$悊-鍑鸿揣妫�楠岃锛�1-040-607-100锛� ==========
@@ -480,6 +495,9 @@
ErrorCode QC_RQC_NO_TEMPLATE = new ErrorCode(1_040_608_005, "褰撳墠浜у搧鏈厤缃� RQC 妫�娴嬫ā鏉�");
ErrorCode QC_RQC_CHECK_RESULT_EMPTY = new ErrorCode(1_040_608_006, "瀹屾垚妫�楠屽崟鍓嶏紝妫�娴嬬粨鏋滃繀椤诲~鍐�");
ErrorCode QC_RQC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_608_007, "瀵煎叆閫�璐ф楠屽崟鏁版嵁涓嶈兘涓虹┖");
+ ErrorCode QC_RQC_SOURCE_QUANTITY_INVALID = new ErrorCode(1_040_608_008, "妫�娴嬫暟閲忎笌鏉ユ簮閫�璐ц鏁伴噺({})涓嶄竴鑷达紝璇蜂繚鎸佷竴鑷�");
+ ErrorCode QC_RQC_SOURCE_LINE_REQUIRED = new ErrorCode(1_040_608_009, "閫�璐ф楠屽崟鐨勬潵婧愬崟鎹被鍨嬪凡濉啓锛屼絾鏈寚瀹氭潵婧愯锛屾棤娉曞洖鍐�");
+ ErrorCode QC_RQC_SOURCE_DOC_TYPE_UNKNOWN = new ErrorCode(1_040_608_010, "鏃犳硶璇嗗埆鐨勬潵婧愬崟鎹被鍨�({})锛屾棤娉曞洖鍐�");
// ========== MES 璐ㄩ噺绠$悊-閫�璐ф楠岃锛�1-040-608-100锛� ==========
ErrorCode QC_RQC_LINE_NOT_EXISTS = new ErrorCode(1_040_608_100, "閫�璐ф楠岃涓嶅瓨鍦�");
@@ -558,6 +576,7 @@
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_INBOUND_LINE = new ErrorCode(1_040_704_009, "鍒拌揣閫氱煡鍗曟病鏈夊彲鍏ュ簱鐨勮锛堟楠岀粨鏋滃潎涓洪��璐�/鎶ュ簾锛夛紝鏃犳硶鐢熸垚鍏ュ簱鍗�");
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, "鍒拌揣閫氱煡鍗曡涓嶅睘浜庢寚瀹氱殑鍒拌揣閫氱煡鍗�");
@@ -614,7 +633,7 @@
ErrorCode WM_PRODUCT_ISSUE_WORKSTATION_NOT_EXISTS = new ErrorCode(1_040_708_005, "宸ヤ綔绔欎笉瀛樺湪");
ErrorCode WM_PRODUCT_ISSUE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_708_006, "鐢熶骇棰嗘枡鍑哄簱鍗曞凡瀹屾垚鎴栧凡鍙栨秷锛屾棤娉曞彇娑�");
ErrorCode WM_PRODUCT_ISSUE_LINE_NOT_EXISTS = new ErrorCode(1_040_708_100, "鐢熶骇棰嗘枡鍑哄簱鍗曡涓嶅瓨鍦�");
- ErrorCode WM_PRODUCT_ISSUE_LINE_ITEM_NOT_IN_BOM = new ErrorCode(1_040_708_101, "褰撳墠鐗╂枡涓嶅湪鐢熶骇宸ュ崟鐨� BOM 鐗╂枡娓呭崟涓�");
+ ErrorCode WM_PRODUCT_ISSUE_LINE_ITEM_NOT_IN_BOM = new ErrorCode(1_040_708_101, "褰撳墠鐗╂枡涓嶅湪鐢熶骇宸ュ崟鎴栧綋鍓嶄换鍔″伐搴忕殑 BOM 鐗╂枡娓呭崟涓�");
ErrorCode WM_PRODUCT_ISSUE_CODE_DUPLICATE = new ErrorCode(1_040_708_102, "棰嗘枡鍑哄簱鍗曠紪鐮佸凡瀛樺湪");
ErrorCode WM_PRODUCT_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_708_200, "鐢熶骇棰嗘枡鍑哄簱鍗曟槑缁嗕笉瀛樺湪");
ErrorCode WM_PRODUCT_ISSUE_DETAIL_ITEM_MISMATCH = new ErrorCode(1_040_708_201, "鎷h揣鏄庣粏鐨勭墿鏂欎笌棰嗘枡鍗曡鐨勭墿鏂欎笉涓�鑷�");
@@ -628,6 +647,8 @@
ErrorCode WM_PRODUCT_PRODUCE_NO_LINE = new ErrorCode(1_040_709_002, "鐢熶骇鍏ュ簱鍗曡嚦灏戦渶瑕佷竴鏉¤鏁版嵁");
ErrorCode WM_PRODUCT_PRODUCE_DETAIL_QUANTITY_MISMATCH = new ErrorCode(1_040_709_003, "鐢熶骇鍏ュ簱鍗曡鏁伴噺涓庢槑缁嗘暟閲忎笉涓�鑷�");
ErrorCode WM_PRODUCT_PRODUCE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_709_004, "鐢熶骇鍏ュ簱鍗曞凡瀹屾垚鎴栧凡鍙栨秷锛屾棤娉曞彇娑�");
+ ErrorCode WM_PRODUCT_PRODUCE_OUTPUT_WAREHOUSE_REQUIRED = new ErrorCode(1_040_709_005, "鏈亾宸ュ簭璇烽厤缃疄闄呮垚鍝佷粨搴撱�佸簱鍖哄拰搴撲綅");
+ ErrorCode WM_ITEM_CONSUME_STOCK_INSUFFICIENT = new ErrorCode(1_040_709_006, "鐗╂枡銆恵}銆戠嚎杈瑰簱瀛樹笉瓒筹紝璇峰厛鎵ц鐢熶骇棰嗘枡");
ErrorCode WM_PRODUCT_PRODUCE_LINE_NOT_EXISTS = new ErrorCode(1_040_709_100, "鐢熶骇鍏ュ簱鍗曡涓嶅瓨鍦�");
ErrorCode WM_PRODUCT_PRODUCE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_709_200, "鐢熶骇鍏ュ簱鍗曟槑缁嗕笉瀛樺湪");
@@ -1001,8 +1022,5 @@
ErrorCode PD_CTC_REEL_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_960_010, "瀵煎叆鐩樺叿璁$畻鏁版嵁涓嶈兘涓虹┖锛�");
ErrorCode PD_TECH_CONFIRM_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_960_011, "瀵煎叆鎶�鏈‘璁ゅ嚱鏁版嵁涓嶈兘涓虹┖锛�");
- // ========== MES 鏁伴噰-鎶ヨ锛�1-040-920-000锛� ==========
- ErrorCode COLLECT_ALARM_NOT_EXISTS = new ErrorCode(1_040_920_001, "鎶ヨ璁板綍涓嶅瓨鍦�");
- ErrorCode COLLECT_ALARM_ALREADY_CLEARED = new ErrorCode(1_040_920_002, "璇ユ姤璀﹀凡娑堥櫎锛屾棤闇�閲嶅纭");
}
--
Gitblit v1.9.3