Files
MES/yawei-mes/.sql/2026-02-05_v1.6.037_周启威_计划类型字段修改.sql
2026-04-02 10:39:03 +08:00

127 lines
5.2 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- =====================================================
-- 计划类型字段修改 v1.6.038
-- 作者: 周启威
-- 日期: 2026-02-05
-- 说明: 修改计划类型字段的标签和选项值
-- 来源类型 → 计划类型
-- 销售计划 → 库存生产计划(MTS)
-- 生产订单 → 订单生产计划(MTO)
-- =====================================================
-- -----------------------------------------------------
-- 1. 更新字段注释
-- -----------------------------------------------------
-- 更新pro_plan表的plan_source_type字段注释
ALTER TABLE `pro_plan`
MODIFY COLUMN `plan_source_type` varchar(50) DEFAULT NULL
COMMENT '计划类型MTS=库存生产计划(Make to Stock), MTO=订单生产计划(Make to Order)';
-- -----------------------------------------------------
-- 2. 更新字典类型
-- -----------------------------------------------------
-- 检查并更新字典类型名称
UPDATE sys_dict_type
SET dict_name = '计划类型',
remark = '生产计划类型列表MTS=库存生产计划, MTO=订单生产计划'
WHERE dict_type = 'pro_plan_source_type';
-- 如果字典类型不存在,则创建
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
SELECT '计划类型', 'pro_plan_source_type', '0', 'admin', NOW(),
'生产计划类型列表MTS=库存生产计划, MTO=订单生产计划'
WHERE NOT EXISTS (
SELECT 1 FROM sys_dict_type WHERE dict_type = 'pro_plan_source_type'
);
-- -----------------------------------------------------
-- 3. 更新字典数据
-- -----------------------------------------------------
-- 删除旧的字典数据(如果存在)
DELETE FROM sys_dict_data
WHERE dict_type = 'pro_plan_source_type'
AND dict_value IN ('order', 'plan');
-- 插入新的字典数据MTS=库存生产计划(原来的销售计划)
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
SELECT 1, '库存生产计划', 'MTS', 'pro_plan_source_type', '', 'success', 'Y', '0', 'admin', NOW(),
'Make to Stock - 根据库存需求生成的生产计划(原销售计划)'
WHERE NOT EXISTS (
SELECT 1 FROM sys_dict_data WHERE dict_type = 'pro_plan_source_type' AND dict_value = 'MTS'
);
-- 插入新的字典数据MTO=订单生产计划(原来的生产订单)
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
SELECT 2, '订单生产计划', 'MTO', 'pro_plan_source_type', '', 'primary', 'N', '0', 'admin', NOW(),
'Make to Order - 根据销售订单生成的生产计划(原生产订单)'
WHERE NOT EXISTS (
SELECT 1 FROM sys_dict_data WHERE dict_type = 'pro_plan_source_type' AND dict_value = 'MTO'
);
-- -----------------------------------------------------
-- 4. 数据迁移(可选)
-- -----------------------------------------------------
-- 如果需要迁移旧数据,取消下面的注释
-- 将旧的 'plan' 值更新为 'MTS'(销售计划 → 库存生产计划)
UPDATE pro_plan SET plan_source_type = 'MTS' WHERE plan_source_type = 'plan';
-- 将旧的 'order' 值更新为 'MTO'(生产订单 → 订单生产计划)
UPDATE pro_plan SET plan_source_type = 'MTO' WHERE plan_source_type = 'order';
-- -----------------------------------------------------
-- 5. 验证
-- -----------------------------------------------------
-- 查看字典类型
SELECT dict_name, dict_type, remark
FROM sys_dict_type
WHERE dict_type = 'pro_plan_source_type';
-- 查看字典数据
SELECT dict_value, dict_label, dict_sort, status, remark
FROM sys_dict_data
WHERE dict_type = 'pro_plan_source_type'
ORDER BY dict_sort;
-- 查看字段注释
SELECT column_name, column_type, column_comment
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name = 'pro_plan'
AND column_name = 'plan_source_type';
-- 查看现有数据分布
SELECT
plan_source_type,
COUNT(*) as count,
CASE plan_source_type
WHEN 'plan' THEN '旧值销售计划需迁移为MTS'
WHEN 'order' THEN '旧值生产订单需迁移为MTO'
WHEN 'MTS' THEN '新值:库存生产计划'
WHEN 'MTO' THEN '新值:订单生产计划'
ELSE '未知值'
END as description
FROM pro_plan
GROUP BY plan_source_type;
-- 修改生产计划表的plan_source_id字段支持多个ID逗号分隔
-- 从 bigint 改为 varchar以支持多个订单ID
ALTER TABLE `pro_plan` MODIFY COLUMN `plan_source_id` varchar(255) DEFAULT NULL COMMENT '来源ID支持多个逗号分隔';
-- -----------------------------------------------------
-- 说明
-- -----------------------------------------------------
-- 修改内容:
-- 1. 字段标签:来源类型 → 计划类型
-- 2. 选项值和标签:
-- - MTS (Make to Stock) = 库存生产计划(原来的 plan=销售计划)
-- - MTO (Make to Order) = 订单生产计划(原来的 order=生产订单)
--
-- 注意:
-- - 旧数据不会自动迁移如需迁移请取消第4部分的注释
-- - 新创建的计划将使用新的字典值MTS/MTO
-- - 执行后需要重启应用以刷新字典缓存