From 8655501ffb8dbdaf2508e575933063e6731be714 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 28 八月 2026 17:14:40 +0800
Subject: [PATCH] refactor(mes): 重构MES生产批次和袋码管理功能
---
sql/mysql/mes_pro_batch_bag_code_init.sql | 67 ++++++++++++++++++++++++++++-----
1 files changed, 57 insertions(+), 10 deletions(-)
diff --git a/sql/mysql/mes_pro_batch_bag_code_init.sql b/sql/mysql/mes_pro_batch_bag_code_init.sql
index a3a1a03..ed7fc6c 100644
--- a/sql/mysql/mes_pro_batch_bag_code_init.sql
+++ b/sql/mysql/mes_pro_batch_bag_code_init.sql
@@ -12,8 +12,10 @@
-- ----------------------------
CREATE TABLE IF NOT EXISTS `mes_pro_batch` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
- `code` VARCHAR(64) NOT NULL COMMENT '鎵规鍙凤紙鑷姩鐢熸垚锛氬墠缂�+鏃ユ湡+浜х嚎+鍝佺+娴佹按鍙凤級',
+ `code` VARCHAR(64) DEFAULT NULL COMMENT '鎵规鍙凤紙琛ュ綍涓氬姟淇℃伅鍚庤嚜鍔ㄧ敓鎴愶紱鍗曟褰曞叆鎴栬ˉ褰曟祦绋嬪繀濉級',
+ `temp_code` VARCHAR(64) DEFAULT NULL COMMENT '涓存椂鎵规鐮侊紙PB-8浣嶅叏灞�搴忓彿锛岄鐢熸垚浜岀淮鐮侀樁娈典娇鐢級',
`item_id` BIGINT NOT NULL COMMENT '鍝佺锛堜骇鍝佺墿鏂欙級缂栧彿锛屽叧鑱� mdm_item.id',
+ `line_id` BIGINT DEFAULT NULL COMMENT '浜х嚎缂栧彿锛屽叧鑱� mes_pro_line.id',
`line_code` VARCHAR(32) DEFAULT NULL COMMENT '浜х嚎缂栫爜锛堟墜濉紝鍙備笌鎵规鍙风敓鎴愶級',
`line_name` VARCHAR(64) DEFAULT NULL COMMENT '浜х嚎鍚嶇О锛堟墜濉級',
`machinery_id` BIGINT DEFAULT NULL COMMENT '鐢熶骇璁惧缂栧彿锛堟満锛夛紝鍏宠仈 mes_dv_machinery.id',
@@ -23,6 +25,11 @@
`owner_user_id` BIGINT DEFAULT NULL COMMENT '璐d换浜虹敤鎴风紪鍙凤紙璐d换钀藉疄鍒颁汉锛夛紝鍏宠仈 system_users.id',
`bag_quantity` INT NOT NULL DEFAULT 0 COMMENT '宸茬敓鎴愯鐮佹暟閲忥紙涓�琚嬩竴鐮侊級',
`pallet_quantity` INT NOT NULL DEFAULT 0 COMMENT '宸茬敓鎴愭墭鐩樼爜鏁伴噺',
+ `inbound_time` DATETIME DEFAULT NULL COMMENT '鍏ュ簱鏃堕棿',
+ `inbound_bag_quantity` INT DEFAULT NULL COMMENT '绱鍏ュ簱琚嬫暟',
+ `inbound_event_id` BIGINT DEFAULT NULL COMMENT '鏈�杩戝叆搴撲簨浠剁紪鍙�',
+ `inbound_device_code` VARCHAR(64) DEFAULT NULL COMMENT '鍏ュ簱璁惧缂栫爜',
+ `inbound_line_code` VARCHAR(64) DEFAULT NULL COMMENT '鍏ュ簱浜х嚎缂栫爜',
`status` TINYINT NOT NULL DEFAULT 10 COMMENT '鎵规鐘舵�侊紙瀛楀吀 mes_pro_batch_status锛�10 鑽夌 20 鐢熶骇涓� 30 宸插畬鎴� 40 宸蹭綔搴燂級',
`remark` VARCHAR(500) DEFAULT NULL COMMENT '澶囨敞',
`creator` VARCHAR(64) DEFAULT '' COMMENT '鍒涘缓鑰�',
@@ -32,6 +39,7 @@
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_code` (`code`),
+ UNIQUE KEY `uk_temp_code` (`temp_code`),
KEY `idx_item_id` (`item_id`),
KEY `idx_work_order_id` (`work_order_id`),
KEY `idx_status` (`status`)
@@ -61,12 +69,14 @@
-- ----------------------------
CREATE TABLE IF NOT EXISTS `mes_pro_pallet` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
- `code` VARCHAR(64) NOT NULL COMMENT '鎵樼洏鐮侊紙鎵规鍙�-P+鎵樼洏搴忓彿锛屽叏灞�鍞竴锛�',
- `batch_id` BIGINT NOT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽叧鑱� mes_pro_batch.id',
+ `code` VARCHAR(64) DEFAULT NULL COMMENT '鎵樼洏鐮侊紙鎵规鍙�-P+鎵樼洏搴忓彿锛岀粦瀹氭壒娆″悗鐢熸垚锛�',
+ `temp_code` VARCHAR(64) DEFAULT NULL COMMENT '涓存椂鎵樼洏鐮侊紙PL-8浣嶅叏灞�搴忓彿锛岄鐢熸垚浜岀淮鐮侀樁娈典娇鐢級',
+ `batch_id` BIGINT DEFAULT NULL COMMENT '鐢熶骇鎵规缂栧彿锛岀粦瀹氭壒娆″悗鍏宠仈 mes_pro_batch.id',
`batch_code` VARCHAR(64) DEFAULT NULL COMMENT '鎵规鍙凤紙鍐椾綑锛屼究浜庡睍绀猴級',
- `pallet_no` INT NOT NULL COMMENT '鎵规鍐呮墭鐩樺簭鍙�',
+ `pallet_no` INT DEFAULT NULL COMMENT '鎵规鍐呮墭鐩樺簭鍙凤紙缁戝畾鎵规鍚庣敓鎴愶級',
`capacity` INT DEFAULT NULL COMMENT '鍙琚嬫暟锛堣/鎵樼洏锛�',
`bag_count` INT NOT NULL DEFAULT 0 COMMENT '宸茬粦瀹氳鐮佹暟閲�',
+ `auto_generated` BIT(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鑷姩鐢熸垚',
`status` TINYINT NOT NULL DEFAULT 10 COMMENT '鐘舵�侊紙瀛楀吀 mes_pro_pallet_status锛�10 鍚敤 20 浣滃簾锛�',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '澶囨敞',
`creator` VARCHAR(64) DEFAULT '' COMMENT '鍒涘缓鑰�',
@@ -76,6 +86,7 @@
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_code` (`code`),
+ UNIQUE KEY `uk_temp_code` (`temp_code`),
KEY `idx_batch_id` (`batch_id`)
) ENGINE = InnoDB COMMENT = 'MES 鎵樼洏鐮�';
@@ -85,15 +96,17 @@
CREATE TABLE IF NOT EXISTS `mes_pro_bag_code` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
`uuid` VARCHAR(32) DEFAULT NULL COMMENT '鐢熸垚缁� UUID锛堟爣璁板悓涓�娆$敓鎴愮殑鏁版嵁鍖咃級',
- `code` VARCHAR(64) NOT NULL COMMENT '琚嬬爜锛堜簩缁寸爜鍐呭锛氭壒娆″彿-琚嬪簭鍙凤紝鍏ㄥ眬鍞竴锛�',
- `bag_no` INT NOT NULL COMMENT '鎵规鍐呰搴忓彿',
- `batch_id` BIGINT NOT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽叧鑱� mes_pro_batch.id',
+ `code` VARCHAR(64) NOT NULL COMMENT '琚嬬爜锛堜簩缁寸爜鍐呭锛屽叏灞�鍞竴锛�',
+ `bag_no` INT NOT NULL COMMENT '鍏ㄥ眬琚嬪簭鍙�',
+ `batch_id` BIGINT DEFAULT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽綍鍏ヤ俊鎭悗鍏宠仈 mes_pro_batch.id',
`batch_code` VARCHAR(64) DEFAULT NULL COMMENT '鎵规鍙凤紙鍐椾綑锛屼究浜庡睍绀猴級',
`item_id` BIGINT DEFAULT NULL COMMENT '鍝佺锛堜骇鍝佺墿鏂欙級缂栧彿锛堝啑浣欒嚜鎵规锛�',
`pallet_id` BIGINT DEFAULT NULL COMMENT '缁戝畾鎵樼洏缂栧彿锛屽叧鑱� mes_pro_pallet.id',
`pallet_code` VARCHAR(64) DEFAULT NULL COMMENT '鎵樼洏鐮侊紙鍐椾綑锛屼究浜庡睍绀猴級',
`status` TINYINT NOT NULL DEFAULT 10 COMMENT '鐘舵�侊紙瀛楀吀 mes_pro_bag_code_status锛�10 宸茬敓鎴� 20 宸插鍑哄嵃鍒� 30 宸蹭綔搴燂級',
`print_time` DATETIME DEFAULT NULL COMMENT '瀵煎嚭锛堜氦浠樺嵃鍒凤級鏃堕棿',
+ `cancel_time` DATETIME DEFAULT NULL COMMENT '浣滃簾鏃堕棿',
+ `cancel_reason` VARCHAR(255) DEFAULT NULL COMMENT '浣滃簾鍘熷洜',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '澶囨敞',
`creator` VARCHAR(64) DEFAULT '' COMMENT '鍒涘缓鑰�',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
@@ -105,10 +118,43 @@
KEY `idx_batch_id` (`batch_id`),
KEY `idx_uuid` (`uuid`),
KEY `idx_pallet_id` (`pallet_id`)
-) ENGINE = InnoDB COMMENT = 'MES 琚嬬爜璧嬬爜锛堜竴琚嬩竴鐮侊級';
+ ) ENGINE = InnoDB COMMENT = 'MES 琚嬬爜璧嬬爜锛堜竴琚嬩竴鐮侊級';
-- ----------------------------
--- 5. 鎵规鍙疯嚜鍔ㄧ紪鐮佽鍒欙細PRO_BATCH_CODE
+-- 5. 琚嬬爜鏇挎崲璁板綍琛�
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS `mes_pro_bag_code_replace` (
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+ `replace_uuid` VARCHAR(32) NOT NULL COMMENT '鏇挎崲缁� UUID',
+ `batch_id` BIGINT NOT NULL COMMENT '鐢熶骇鎵规缂栧彿',
+ `batch_code` VARCHAR(64) DEFAULT NULL COMMENT '鐢熶骇鎵规鍙�',
+ `old_bag_code_id` BIGINT NOT NULL COMMENT '鏃ц鐮佺紪鍙�',
+ `old_code` VARCHAR(64) NOT NULL COMMENT '鏃ц鐮�',
+ `old_bag_no` INT NOT NULL COMMENT '鏃ц搴忓彿',
+ `old_status` TINYINT NOT NULL COMMENT '鏃ц鐮佷綔搴熷墠鐘舵��',
+ `old_pallet_id` BIGINT DEFAULT NULL COMMENT '鏃ц鐮佸師鎵樼洏缂栧彿',
+ `old_pallet_code` VARCHAR(64) DEFAULT NULL COMMENT '鏃ц鐮佸師鎵樼洏鐮�',
+ `new_bag_code_id` BIGINT NOT NULL COMMENT '鏂拌鐮佺紪鍙�',
+ `new_code` VARCHAR(64) NOT NULL COMMENT '鏂拌鐮�',
+ `new_bag_no` INT NOT NULL COMMENT '鏂拌搴忓彿',
+ `reason` VARCHAR(255) NOT NULL COMMENT '鏇挎崲鍘熷洜',
+ `replace_time` DATETIME NOT NULL COMMENT '鏇挎崲鏃堕棿',
+ `creator` VARCHAR(64) DEFAULT '' COMMENT '鍒涘缓鑰�',
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+ `updater` VARCHAR(64) DEFAULT '' COMMENT '鏇存柊鑰�',
+ `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+ `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_old_bag_code_id` (`old_bag_code_id`),
+ UNIQUE KEY `uk_new_bag_code_id` (`new_bag_code_id`),
+ KEY `idx_replace_uuid` (`replace_uuid`),
+ KEY `idx_batch_id` (`batch_id`),
+ KEY `idx_old_code` (`old_code`),
+ KEY `idx_new_code` (`new_code`)
+) ENGINE = InnoDB COMMENT = 'MES 琚嬬爜鏇挎崲璁板綍';
+
+-- ----------------------------
+-- 6. 鎵规鍙疯嚜鍔ㄧ紪鐮佽鍒欙細PRO_BATCH_CODE
-- 缁撴瀯锛氬浐瀹氬瓧绗�(PC) + 鏃ユ湡(yyyyMMdd) + 杈撳叆瀛楃(浜х嚎缂栫爜+鍝佺缂栫爜) + 娴佹按鍙�(3浣嶏紝鎸夋棩寰幆)
-- 绀轰緥锛歅C20260818L01NY001
-- ----------------------------
@@ -189,7 +235,8 @@
(602620, '鐢熸垚浜岀淮鐮佹暟鎹寘', 'mes:pro-bag-code:generate', 3, 2, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602621, '琚嬬爜鍒犻櫎', 'mes:pro-bag-code:delete', 3, 3, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602622, '琚嬬爜瀵煎嚭', 'mes:pro-bag-code:export', 3, 4, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
-(602623, '琚嬬爜缁戝畾鎵樼洏', 'mes:pro-bag-code:bind', 3, 5, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
+(602623, '琚嬬爜缁戝畾鎵樼洏', 'mes:pro-bag-code:bind', 3, 5, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
+(602629, '琚嬬爜鐮存崯鏇挎崲', 'mes:pro-bag-code:replace', 3, 6, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
-- 鎵樼洏鐮佺鐞�
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
--
Gitblit v1.9.3