Files
MES/yawei-mes/.sql/2026-01-20_v1.6.019_周启威_保养频率改时间.sql
2026-04-02 10:39:03 +08:00

57 lines
2.8 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.

-- =============================================
-- 保养计划优化 - 频率改为计划执行时间
-- 作者: Cascade
-- 日期: 2026-01-20
-- 描述:
-- 1. 添加计划执行时间字段(planned_time)替代频率
-- 2. 修改状态字段含义0待执行/1已执行/2已取消
-- 3. 执行一次计划就结束,不再循环
-- =============================================
-- =============================================
-- 一、扩展表结构
-- =============================================
SET @dbname = DATABASE();
SET @tablename = 'dm_inspection_plan';
-- 1.1 添加 planned_time 字段(计划执行时间)
SET @columnname = 'planned_time';
SET @preparedStatement = (SELECT IF(
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = @tablename AND COLUMN_NAME = @columnname) > 0,
'SELECT 1',
CONCAT('ALTER TABLE ', @tablename, ' ADD COLUMN ', @columnname, ' DATETIME DEFAULT NULL COMMENT ''计划执行时间'' AFTER `end_date`')
));
PREPARE alterIfNotExists FROM @preparedStatement;
EXECUTE alterIfNotExists;
DEALLOCATE PREPARE alterIfNotExists;
-- =============================================
-- 二、更新字典数据
-- =============================================
-- 2.1 新增保养计划状态字典类型
INSERT IGNORE INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `remark`)
VALUES ('保养计划状态', 'maintenance_plan_status', '0', 'admin', NOW(), '保养计划状态:待执行/已执行/已取消');
-- 2.2 保养计划状态字典数据
INSERT IGNORE INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `remark`)
VALUES (0, '待执行', '0', 'maintenance_plan_status', NULL, 'warning', 'Y', '0', 'admin', NOW(), '待执行');
INSERT IGNORE INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `remark`)
VALUES (1, '已执行', '1', 'maintenance_plan_status', NULL, 'success', 'N', '0', 'admin', NOW(), '已执行');
INSERT IGNORE INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `remark`)
VALUES (2, '已取消', '2', 'maintenance_plan_status', NULL, 'info', 'N', '0', 'admin', NOW(), '已取消');
-- =============================================
-- 三、回退SQL
-- =============================================
/*
-- 删除字典数据
DELETE FROM `sys_dict_data` WHERE `dict_type` = 'maintenance_plan_status';
DELETE FROM `sys_dict_type` WHERE `dict_type` = 'maintenance_plan_status';
-- 删除扩展字段
ALTER TABLE `dm_inspection_plan` DROP COLUMN `planned_time`;
*/