From 4ca4444ad33a2a1a51f5c06e78ee9365dfb1eed6 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期四, 08 十月 2026 17:11:11 +0800
Subject: [PATCH] feat(mes): 种子二维码标签国标四要素合规改造

---
 docs/mes_bag_code_package_refactor_requirements.md |  142 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 142 insertions(+), 0 deletions(-)

diff --git a/docs/mes_bag_code_package_refactor_requirements.md b/docs/mes_bag_code_package_refactor_requirements.md
new file mode 100644
index 0000000..5eb73e6
--- /dev/null
+++ b/docs/mes_bag_code_package_refactor_requirements.md
@@ -0,0 +1,142 @@
+# 涓�琚嬩竴鐮佺敓浜ч�昏緫鏀归�� - 闇�姹傛柟妗�
+
+> 鐘舵�侊細宸茬‘璁ゅ苟瀹屾垚瀹炴柦锛�2026-09-17锛夈�傚喅绛栫偣瀹氱瑙佹枃鏈��6. 纭缁撹銆嶃��
+
+## 1. 闇�姹傝儗鏅�
+
+涓�琚嬩竴鐮佺殑鐢熶骇閫昏緫璋冩暣锛�
+
+- 鎵规鐢熶骇绠$悊**涓嶅啀缁戝畾鍝佺**锛屽搧绉嶄笅娌夊埌銆岃祴鐮佺鐞嗐�嶇殑鏁版嵁鍖呬笂銆�
+- 鐢熸垚鏁版嵁鍖呮椂閫夋嫨**鍝佺**骞惰緭鍏�**鎵樼洏鏁�**锛岀郴缁熸寜鍝佺涓昏閲忓崟浣嶇殑銆岀被鍨嬨�嶈嚜鍔ㄨ绠楄鐮佹暟閲忓苟鐢熸垚琚嬬爜銆�
+- 鎸夋墭鐩樻暟**鑷姩鐢熸垚鎵樼洏骞惰嚜鍔ㄧ粦瀹�**琚嬬爜锛涙墭鐩樹笉鍐嶉渶瑕併�屽彲瑁呰鏁般�嶃��
+- 鍝佺涓恒�屽惃銆嶆椂鏃犳墭鐩橈細鏀逛负鐩存帴杈撳叆**琚嬬爜鏁�**锛岃鐮佸彧缁戠敓浜ф壒娆°�佷笉缁戞墭鐩樼爜銆�
+
+## 2. 鐜扮姸瑕佺偣
+
+| 瀵硅薄 | 鐜扮姸 |
+|------|------|
+| 鏁版嵁鍖呯敓鎴� | `POST /mes/pro/bag-code/generate` 浠呬紶 `count`锛岀敓鎴愮┖鐧借鐮侊紙鏃犲搧绉�/鎵规/鎵樼洏锛� |
+| 鎵规 | `mes_pro_batch.itemId` 缁戝畾鍝佺锛涙壒娆″彿 = PC + 鏃ユ湡 + 浜х嚎缂栫爜 + 鍝佺缂栫爜 + 娴佹按鍙� |
+| 鎵樼洏 | 鎵嬪姩鍒涘缓锛堟壒閲忕敓鎴�/棰勭敓鎴愶級锛屽垱寤烘椂濉� `capacity 鍙琚嬫暟`锛涜鐮佹墜鍔ㄧ粦鎵樼洏骞舵牎楠屽閲� |
+| 鍝佺鈫掑崟浣� | `mdm_item.unitMeasureId 鈫� mdm_unit_measure.type`锛堢被鍨嬮�夐」锛�48鍗冨厠/100鍗冨厠/鍚紝鏈宸插姞锛� |
+| 杩芥函 | 鎵爜杩芥函鐨勫搧绉嶄俊鎭彇鑷壒娆� `batch.itemId` |
+
+## 3. 鏀归�犳柟妗�
+
+### 3.1 鐢熸垚鏁版嵁鍖咃紙璧嬬爜绠$悊锛屾牳蹇冩敼鍔級
+
+**鎹㈢畻瑙勫垯**锛堝悗绔绠楋紝涓嶄俊浠诲墠绔紶鍊硷級锛�
+
+| 鍝佺涓诲崟浣嶇被鍨� | 杈撳叆 | 鐢熸垚缁撴灉 |
+|------|------|------|
+| 48鍗冨厠 | 鎵樼洏鏁� P | 琚嬬爜 48 脳 P 涓紱鑷姩鐢熸垚 P 涓墭鐩橈紝姣忔墭缁戝畾 48 涓鐮� |
+| 100鍗冨厠 | 鎵樼洏鏁� P | 琚嬬爜 100 脳 P 涓紱鑷姩鐢熸垚 P 涓墭鐩橈紝姣忔墭缁戝畾 100 涓鐮� |
+| 鍚� | 琚嬬爜鏁� N | 琚嬬爜 N 涓紱涓嶇敓鎴愭墭鐩橈紝琚嬬爜涓嶇粦鎵樼洏 |
+| 绫诲瀷涓虹┖/鏃犳硶瑙f瀽 | - | 鎶ラ敊锛氬搧绉嶄富璁¢噺鍗曚綅鏈厤缃被鍨嬶紙48鍗冨厠/100鍗冨厠/鍚級 |
+
+**鎺ュ彛鍙樻洿** `POST /mes/pro/bag-code/generate`锛�
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| itemId | Long | 鏄� | 鍝佺锛坢dm_item 缂栧彿锛� |
+| palletCount | Integer | 鏉′欢蹇呭~ | 鎵樼洏鏁帮紙绫诲瀷涓� N鍗冨厠 鏃跺繀濉級 |
+| bagCount | Integer | 鏉′欢蹇呭~ | 琚嬬爜鏁帮紙绫诲瀷涓� 鍚� 鏃跺繀濉級 |
+| remark | String | 鍚� | 澶囨敞 |
+
+鍝嶅簲鏂板锛歚uuid銆乼ype銆乸erPallet锛堟瘡鎵樿鏁帮級銆乼otalCount锛堢敓鎴愯鐮佹暟锛夈�乸alletIds锛堣嚜鍔ㄧ敓鎴愮殑鎵樼洏锛塦銆�
+
+**浜嬪姟閫昏緫**锛氫竴娆$敓鎴� = 鍚屼竴 uuid 鐨勮鐮佺粍 + 鍚屾壒鑷姩鐢熸垚鐨勬墭鐩橈紱鎵樼洏鍏堜互**涓存椂鐮侊紙PL-搴忓彿锛�**钀藉簱骞跺畬鎴愯鐮佺粦瀹氾紝姝e紡鎵樼洏鐮佸湪銆屽綍鍏ユ壒娆°�嶆椂鐢熸垚銆�
+
+**鐢熸垚鏁版嵁鍖呭脊绐楋紙鍓嶇锛�**锛氶�夋嫨鍝佺锛堟部鐢ㄥ搧绉嶉�夋嫨缁勪欢锛夆啋 璇诲彇璇ュ搧绉嶄富鍗曚綅绫诲瀷锛堝墠绔煡 `mdm_unit_measure`锛岀被鍨嬩负绌虹粰鎻愮ず锛夆啋 鎸夌被鍨嬪垏鎹㈣緭鍏ャ�屾墭鐩樻暟銆嶆垨銆岃鐮佹暟銆嶁啋 瀹炴椂棰勮"灏嗙敓鎴� 琚嬬爜 X 涓� / 鎵樼洏 Y 涓�"銆�
+
+### 3.2 褰曞叆鎵规锛堜繚鎸佸悗褰曞叆锛屾墿灞曠骇鑱旓級
+
+`PUT /mes/pro/bag-code/bind-batch` 娴佺▼涓嶅彉锛屾柊澧炵骇鑱旓細
+
+1. 琚嬬爜缁戝畾鎵规锛堢幇鐘讹級銆�
+2. 璇ョ粍琚嬬爜鎵�缁戝畾鐨勪复鏃舵墭鐩樿嚜鍔ㄧ粦瀹氬悓涓�鎵规锛屽苟鍒嗛厤姝e紡鎵樼洏鐮� `鎵规鍙�-P搴忓彿`锛屽洖鍐欐壒娆℃墭鐩樻暟銆�
+3. 鏂板鏍¢獙锛氬悓涓�鏁版嵁鍖咃紙鍚屾壒缁戝畾琚嬬爜锛夊搧绉嶅繀椤讳竴鑷达紙鐢熸垚鏃跺ぉ鐒朵竴鑷达紝闃叉墜鍔ㄦ贩閫夛級銆�
+
+### 3.3 琚嬬爜鏁版嵁妯″瀷
+
+`mes_pro_bag_code` 鏂板锛歚item_id`銆乣item_code`銆乣item_name`锛堝啑浣欙級銆�
+
+- 鍒楄〃/鏌ヨ锛氭樉绀哄搧绉嶅垪锛堢紪鐮�/鍚嶇О鍙绱㈡湰鏈熶笉鍋氾紝浠呭睍绀猴級銆�
+- 鍒犻櫎鏁版嵁鍖咃紙delete-by-uuid锛夛細绾ц仈鍒犻櫎鏈粍**鑷姩鐢熸垚**鐨勬墭鐩橈紙鍓嶆彁浠嶆槸鍏ㄩ儴鏈粦鎵规锛涘凡褰曟壒娆$淮鎸佺幇鐘朵笉鍙垹锛夈��
+- 琚嬬爜涓嶅己鍒舵墭鐩橈細`pallet_id` 淇濇寔鍙┖锛堝惃绫诲瀷锛夈��
+
+### 3.4 鎵规鐢熶骇绠$悊
+
+- **鍘绘帀鍝佺瀛楁**锛氬垱寤�/缂栬緫琛ㄥ崟銆佸垪琛ㄥ垪銆佹煡璇㈡潯浠躲�丼ave/Resp/Page VO 鍧囩Щ闄� `itemId`锛汥O 涓庢暟鎹簱鍒� `mes_pro_batch.item_id` 淇濈暀锛堝巻鍙叉暟鎹�佽拷婧洖閫�鐢級锛屾敞閲婃爣璁�"宸插簾寮�"銆�
+- **鎵规鍙疯鍒欐敼涓�** `PC + yyyyMMdd + 浜х嚎缂栫爜 + 娴佹按鍙穈锛坄generateBatchCode` 涓嶅啀鎷煎搧绉嶇紪鐮侊紱鑷姩缂栫爜瑙勫垯閰嶇疆鏃犻渶鏀癸級銆�
+- 缂栬緫鎵规涓嶅啀鍥犲搧绉嶅彉鍖栭噸鏂扮敓鎴愭壒娆″彿銆�
+
+### 3.5 鎵樼洏绠$悊
+
+- 鎵归噺鐢熸垚/棰勭敓鎴愭帴鍙e幓鎺� `capacity` 鍏ュ弬锛涜〃鍗曞幓鎺夈�屽彲瑁呰鏁般�嶅瓧娈碉紱鍒楄〃鍘绘帀璇ュ垪銆侱B 鍒椾繚鐣欏吋瀹瑰巻鍙层��
+- 琚嬬爜鎵嬪姩缁戞墭鐩樺幓鎺夊閲忔牎楠岋紙`capacity` 鍒ょ┖閫昏緫澶╃劧璺宠繃锛屽垹闄ょ浉鍏虫牎楠屼唬鐮侊級銆�
+- 鎵樼洏鍒楄〃涓鸿嚜鍔ㄧ敓鎴愭墭鐩樻墦鏍囪瘑锛堝鐢� `auto_generated` 瀛楁 = true锛夈��
+
+### 3.6 杩芥函/鎵爜/鐪嬫澘锛堝洖褰掗」锛�
+
+- 琚嬬爜杩芥函锛坄/get-by-code`銆乀raceRespVO锛夛細鍝佺鏀逛负**浼樺厛鍙栬鐮� item_id锛屽巻鍙茶鐮佸洖閫�鎵规 itemId**銆�
+- 鎵规杩芥函瑙嗗浘锛圡esProBatchTraceRespVO锛夛細淇濈暀鍝佺杩斿洖浣嗗彲鑳戒负绌猴紙鍘嗗彶鎵规鏈夊�硷級銆�
+- 鎵爜鍏ュ簱銆侀攢鍞嚭搴撱�佽鐮侀椤电湅鏉匡細涓嶇洿鎺ヤ緷璧栨壒娆″搧绉嶇殑閫昏緫涓嶅姩锛屾秹鍙婂鍥炲綊楠岃瘉銆�
+
+## 4. 鏁版嵁搴撳彉鏇达紙mom-thzy锛�
+
+```sql
+ALTER TABLE mes_pro_bag_code ADD COLUMN item_id BIGINT NULL COMMENT '鍝佺锛堢墿鏂欙級缂栧彿' AFTER pallet_code;
+ALTER TABLE mes_pro_bag_code ADD COLUMN item_code VARCHAR(64) NULL COMMENT '鍝佺缂栫爜锛堝啑浣欙級' AFTER item_id;
+ALTER TABLE mes_pro_bag_code ADD COLUMN item_name VARCHAR(255) NULL COMMENT '鍝佺鍚嶇О锛堝啑浣欙級' AFTER item_code;
+-- mes_pro_batch.item_id 淇濈暀涓嶅垹锛孞ava 娉ㄩ噴鏍囪搴熷純
+```
+
+## 5. 鍓嶅悗绔敼鍔ㄦ竻鍗�
+
+| 灞� | 鏂囦欢 | 鏀瑰姩 |
+|----|------|------|
+| DB | mes_pro_bag_code | +item_id/item_code/item_name |
+| 鍚庣 | MesProBagCodeGenerateReqVO/RespVO銆丼erviceImpl | 鏂板弬鏁般�佺被鍨嬫崲绠椼�佽嚜鍔ㄥ缓鎵樼洏銆佷簨鍔� |
+| 鍚庣 | MesProBagCodeDO/RespVO/Mapper | +鍝佺瀛楁 |
+| 鍚庣 | bind-batch 娴佺▼ | 绾ц仈鎵樼洏缁戞壒娆°�佸搧绉嶄竴鑷存�ф牎楠� |
+| 鍚庣 | MesProBatchServiceImpl/VO | 鍘诲搧绉嶃�佹壒娆″彿瑙勫垯銆佺紪杈戦�昏緫 |
+| 鍚庣 | MesProPalletServiceImpl/VO | 鍘� capacity 鍏ュ弬涓庢牎楠� |
+| 鍚庣 | delete-by-uuid | 绾ц仈鍒犺嚜鍔ㄦ墭鐩� |
+| 鍚庣 | 杩芥函 VO | 鍝佺浼樺厛琚嬬爜銆佸洖閫�鎵规 |
+| 鍓嶇 | pro/bagCode generate-form | 鍝佺+鎵樼洏鏁�/琚嬬爜鏁拌〃鍗� |
+| 鍓嶇 | pro/bagCode 鍒楄〃 | +鍝佺鍒� |
+| 鍓嶇 | pro/batch form/list/search | 绉婚櫎鍝佺 |
+| 鍓嶇 | pro/pallet form/list | 绉婚櫎鍙琚嬫暟 |
+
+## 6. 纭缁撹锛堝畾绋匡級
+
+1. **娣峰搧绉�**锛氳銆備竴娆� bind-batch 鍕鹃�夌殑琚嬬爜鍝佺蹇呴』涓�鑷达紝鍚﹀垯鎶ラ敊銆屽綍鍏ユ壒娆$殑琚嬬爜蹇呴』灞炰簬鍚屼竴鍝佺銆嶏紙鍘嗗彶绌虹櫧琚嬬爜涓嶅弬涓庢牎楠岋級銆�
+2. **鑷姩鎵樼洏鍙惁鍐嶆墜鍔ㄥ缁�**锛氭棤瀹归噺涓婇檺锛岃婊″悗浠嶅彲缁х画鎵嬪姩缁戝叆琚嬬爜銆�
+3. **鎵规鍒楄〃鍘嗗彶鏁版嵁**锛氳�佹壒娆� itemId 鐩存帴涓嶅睍绀哄嵆鍙紝鏃犳暟鎹縼绉伙紱杩芥函瑙嗗浘淇濈暀鎵规鍝佺鍋氬巻鍙插洖閫�銆�
+4. **娴佺▼涓庢壒娆″彿**锛氫繚鎸併�屽厛鐢熸垚鏁版嵁鍖呫�佸悗褰曞叆鎵规銆嶏紱鎵规鍙疯鍒欐敼涓� `PC + yyyyMMdd + 浜х嚎缂栫爜 + 娴佹按鍙穈銆�
+
+## 7. 瀹炴柦璁板綍锛�2026-09-17锛�
+
+- DB锛坢om-thzy锛夛細`mes_pro_bag_code` 鏂板 `item_id/item_code/item_name`锛沗mdm_unit_measure.type`锛�48鍗冨厠/100鍗冨厠/鍚級锛沗mes_pro_batch.item_id` 淇濈暀鏍囧簾寮冦��
+- 鍚庣锛歚generate` 閲嶅啓锛堢被鍨嬫崲绠�+鑷姩涓存椂鎵樼洏锛夈�乣bind-batch` 绾ц仈鎵樼洏姝e紡鐮�+鍝佺涓�鑷存牎楠屻�乣delete-by-uuid` 绾ц仈鍒犺嚜鍔ㄦ墭鐩樸�乣replace` 缁ф壙鍝佺銆佹墭鐩樺垱寤哄幓 `capacity` 鍏ュ弬銆佽鐮佺粦鎵樼洏鍘诲閲忔牎楠屻�佹壒娆� VO/Service 鍘诲搧绉嶃�佹壒娆″彿鍗曚骇绾胯绱犮�佽鐮�/鍏叡杩芥函涓庝簩缁寸爜鏍囩鍝佺銆岃鐮佷紭鍏堛�佹壒娆″洖閫�銆嶃��
+- 鍓嶇锛氳鐮佺敓鎴愬脊绐楋紙鍝佺+鎵樼洏鏁�/琚嬬爜鏁板姩鎬�+棰勮锛夈�佸垪琛ㄥ搧绉嶅垪锛涙壒娆¤〃鍗�/鍒楄〃/鎼滅储鍘诲搧绉嶏紱鎵樼洏琛ㄥ崟/鍒楄〃鍘诲彲瑁呰鏁般�佸垪琛ㄥ姞銆岃嚜鍔ㄧ敓鎴愩�嶆爣璇嗐�佺粦鎵樼洏涓嬫媺鍘诲閲忔彁绀恒��
+- 缂栬瘧锛歚mvn compile -pl yudao-module-mes -am -q` 閫氳繃銆�
+
+## 8. 琛ュ厖闇�姹傦細鎵规鎿嶄綔缁戝畾鎵樼洏锛�2026-09-17锛�
+
+- 鎵规鏂板/琛ュ綍/缂栬緫鍧囧彲閫夈�岀粦瀹氭墭鐩樸�嶏紙澶氶�夈�侀潪蹇呭~锛夛細鍕鹃�夊悗鎵规鐘舵�佺洿鎺ョ疆**鐢熶骇涓�**锛屽悓浜嬪姟澶嶇敤鎵樼洏缁戝畾鎵规閫昏緫锛堟寮忔墭鐩樼爜銆佹墭鐩樹笅琚嬬爜绾ц仈褰曞叆銆佸搧绉嶄竴鑷存牎楠岋級锛屼换涓�姝ュけ璐ユ暣浣撳洖婊氥��
+- 缂栬緫鏃朵粎浼犳湰娆℃柊澧炲嬀閫夌殑鎵樼洏锛涘凡缁戝畾鎵樼洏涓嶅湪涓嬫媺涓紙unbound-list 宸茶繃婊わ級锛屼笉鏀寔瑙g粦锛屾湭鍕鹃�変笉鏀圭姸鎬併�佷笉鎴柇鍥為��銆�
+- 鏂版帴鍙� `GET /mes/pro/pallet/unbound-list`锛歜atch_id 涓虹┖銆佹棤姝e紡鎵樼洏鐮佷笖鏈綔搴熺殑涓存椂鎵樼洏銆�
+- 鍓嶇鑱旇皟缁嗗垯瑙� `docs/mes_bag_code_package_refactor_integration.md`銆�
+
+## 9. 琛ュ厖闇�姹傦細鍘熷琚嬬爜涓庡垪琛ㄦ帓搴忥紙2026-09-17锛�
+
+- 鏂板 `POST /mes/pro/bag-code/raw-generate`锛氫粎閫夊搧绉�+琚嬬爜鏁伴噺鍗崇敓鎴愬搴旀暟閲忚鐮侊紙甯﹀搧绉嶅啑浣欍�乽uid 鎴愮粍锛夛紝**涓嶆牎楠岃閲忓崟浣嶇被鍨嬨�佷笉鐢熸垚鎵樼洏**锛涘悗缁綍鍏ユ壒娆�/缁戞墭鐩�/鍗板埛/鍒犻櫎涓庢暟鎹寘琚嬬爜涓�鑷淬�傝祴鐮佺鐞嗛〉宸ュ叿鏍忓姞銆岀敓鎴愬師濮嬭鐮併�嶅脊绐楀叆鍙c��
+- 琚嬬爜鍒嗛〉鏌ヨ鏀逛负鎸�**鍒涘缓鏃堕棿鍊掑簭**锛堝悓绉掓寜缂栧彿鍊掑簭锛夛紝鍘熴�岃搴忓彿鍗囧簭銆嶅簾寮冦��
+- 缂栬瘧 `mvn compile -pl yudao-module-mes -am -q` 閫氳繃銆佸墠绔被鍨嬫鏌ユ敼鍔ㄦ枃浠堕浂閿欒銆�
+
+## 10. 琛ュ厖闇�姹傦細琚嬬爜鍒楄〃鍝佺鏌ヨ锛�2026-09-17锛�
+
+- 璧嬬爜绠$悊鍒楄〃鎼滅储鍖烘柊澧炪�屽搧绉嶃�嶆潯浠讹紙澶嶇敤 `MdmItemSelect` 閫夋嫨缁勪欢锛夛紝鎸� `mes_pro_bag_code.item_id` 绛夊�艰繃婊わ紱鍒嗛〉涓庡鍑� Excel 鍚屽彛寰勭敓鏁堛��
+- 鍘嗗彶绌虹櫧琚嬬爜 `item_id` 涓虹┖锛岄�夋嫨鍝佺鍚庝笉浼氬懡涓紙灞炴甯革級銆偮�3.3 鍘熴�岀紪鐮�/鍚嶇О鍙绱㈡湰鏈熶笉鍋氾紝浠呭睍绀恒�嶅氨姝ゅ崌绾т负鎸夊搧绉嶇紪鍙锋绱€��

--
Gitblit v1.9.3