127 lines
5.2 KiB
MySQL
127 lines
5.2 KiB
MySQL
|
|
-- =====================================================
|
|||
|
|
-- 计划类型字段修改 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)
|
|||
|
|
-- - 执行后需要重启应用以刷新字典缓存
|