Files
MES/yawei-mes/.sql/2026-01-20_v1.6.019_周启威_保养频率改时间.sql

57 lines
2.8 KiB
MySQL
Raw Permalink Normal View History

2026-04-02 10:38:23 +08:00
-- =============================================
-- 保养计划优化 - 频率改为计划执行时间
-- 作者: 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`;
*/