From ac2545f3cd01f3061a107e4980fc6fa59eaeaa6b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 21 八月 2026 13:43:38 +0800
Subject: [PATCH] feat(mes): 新增袋码破损替换功能

---
 sql/mysql/mes_pro_batch_bag_code_init.sql |   42 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 39 insertions(+), 3 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..8c7a86f 100644
--- a/sql/mysql/mes_pro_batch_bag_code_init.sql
+++ b/sql/mysql/mes_pro_batch_bag_code_init.sql
@@ -94,6 +94,8 @@
     `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 +107,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 +224,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