11 小时以前 7dc2054d4d93f17ce8595f1b0559c904bee2a38f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
-- =============================================
-- MES 托盘码自动生成(按有效袋码累计阈值)迁移脚本
-- 1. mes_pro_batch 增加包装袋型 bag_type(小袋 10 / 大袋 20)
-- 2. mes_pro_pallet 增加 auto_generated 自动生成标识
-- 3. 增加包装袋型字典
-- MySQL 8.4 适用,不包含 tenant_id
-- =============================================
 
SET NAMES utf8mb4;
 
-- ----------------------------
-- 1. 生产批次增加包装袋型
-- ----------------------------
SET @batch_bag_type_exists = (SELECT COUNT(*) FROM information_schema.columns
    WHERE table_schema = DATABASE() AND table_name = 'mes_pro_batch' AND column_name = 'bag_type');
SET @batch_bag_type_sql = IF(@batch_bag_type_exists = 0,
    'ALTER TABLE mes_pro_batch ADD COLUMN bag_type TINYINT DEFAULT NULL COMMENT ''包装袋型(字典 mes_pro_bag_type:10 小袋 20 大袋),用于自动归集托盘'' AFTER item_id',
    'SELECT 1');
PREPARE batch_bag_type_stmt FROM @batch_bag_type_sql;
EXECUTE batch_bag_type_stmt;
DEALLOCATE PREPARE batch_bag_type_stmt;
 
-- ----------------------------
-- 2. 托盘码表增加自动生成标识
-- ----------------------------
SET @pallet_auto_generated_exists = (SELECT COUNT(*) FROM information_schema.columns
    WHERE table_schema = DATABASE() AND table_name = 'mes_pro_pallet' AND column_name = 'auto_generated');
SET @pallet_auto_generated_sql = IF(@pallet_auto_generated_exists = 0,
    'ALTER TABLE mes_pro_pallet ADD COLUMN auto_generated BIT(1) NOT NULL DEFAULT b''0'' COMMENT ''是否自动生成(按有效袋码累计阈值生成,容量固定为阈值)'' AFTER bag_count',
    'SELECT 1');
PREPARE pallet_auto_generated_stmt FROM @pallet_auto_generated_sql;
EXECUTE pallet_auto_generated_stmt;
DEALLOCATE PREPARE pallet_auto_generated_stmt;
 
-- ----------------------------
-- 3. 包装袋型字典
-- ----------------------------
INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
SELECT 'MES 包装袋型', 'mes_pro_bag_type', 0, '托盘自动归集阈值判定', '1', NOW(), '1', NOW(), b'0' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_dict_type WHERE `type` = 'mes_pro_bag_type' AND deleted = 0) t);
 
INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
(1065364, 1, '小袋', '10', 'mes_pro_bag_type', 0, 'primary', '', '1', NOW(), '1', NOW(), b'0'),
(1065365, 2, '大袋', '20', 'mes_pro_bag_type', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');