-- ================================================ -- v2.0.013_周启威_三级优化 SQL变更脚本 -- 包含内容: -- 1. 新增字段:点巡检记录表-故障预测信息 -- 2. 初始化班次字典时间范围(sys_dict_data.remark) -- 3. 新增菜单:班次时间配置页面(sys_menu表) -- ================================================ -- ================================================ -- 1. 点巡检记录表新增故障预测信息字段 -- ================================================ ALTER TABLE dm_inspection_plan_record ADD COLUMN fault_forecast VARCHAR(255) COMMENT '故障预测信息' AFTER problem_desc; -- ================================================ -- 2. 班次字典初始化时间范围(sys_dict_data.remark) -- 格式:HH:mm-HH:mm,如 08:00-16:00 -- 说明:ShiftTimeUtil 优先读字典 remark,找不到才 fallback sys_config -- ================================================ -- 晚班:00:00-08:00(dict_sort 最小的默认早班,但这里按实际时间范围写) UPDATE sys_dict_data SET remark = '00:00-08:00' WHERE dict_type = 'sys_shift_type' AND dict_value = 'C' AND (remark IS NULL OR remark = ''); -- 早班:08:00-16:00 UPDATE sys_dict_data SET remark = '08:00-16:00' WHERE dict_type = 'sys_shift_type' AND dict_value = 'A' AND (remark IS NULL OR remark = ''); -- 中班:16:00-00:00 UPDATE sys_dict_data SET remark = '16:00-00:00' WHERE dict_type = 'sys_shift_type' AND dict_value = 'B' AND (remark IS NULL OR remark = ''); -- 验证班次字典 remark SELECT dict_label, dict_value, remark FROM sys_dict_data WHERE dict_type = 'sys_shift_type' ORDER BY dict_sort; -- ================================================ -- 3. 班次时间配置菜单(sys_menu表) -- ================================================ -- 查询生产计划菜单ID SET @plan_menu_id = (SELECT menu_id FROM sys_menu WHERE perms = 'production:plan:list' LIMIT 1); -- 验证是否找到生产计划菜单 SELECT CONCAT('生产计划菜单ID: ', IFNULL(@plan_menu_id, '未找到')) AS '查询结果'; -- 班次时间配置页面菜单(C=菜单) INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT '班次时间配置', @plan_menu_id, 20, 'shiftConfig', 'mes/production/shiftConfig/index', NULL, 1, 0, 'C', '0', '0', 'production:shift:config:query', 'time', 'admin', NOW(), 'admin', NOW(), '班次时间通过字典管理的班次类型备注字段配置' WHERE @plan_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms = 'production:shift:config:query'); -- 查询权限按钮(F=按钮) INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT '班次配置查询', @plan_menu_id, 21, '', NULL, NULL, 1, 0, 'F', '0', '0', 'production:shift:config:query', '#', 'admin', NOW(), 'admin', NOW(), '班次时间配置查询权限' WHERE @plan_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms = 'production:shift:config:query'); -- 编辑权限按钮(F=按钮) INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT '班次配置编辑', @plan_menu_id, 22, '', NULL, NULL, 1, 0, 'F', '0', '0', 'production:shift:config:edit', '#', 'admin', NOW(), 'admin', NOW(), '班次时间配置编辑权限' WHERE @plan_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms = 'production:shift:config:edit'); -- 验证菜单是否添加成功 SELECT menu_id, menu_name, parent_id, perms FROM sys_menu WHERE perms LIKE 'production:shift:config:%' ORDER BY parent_id, order_num; -- ================================================ -- 4. 执行后操作 -- - 清除浏览器缓存,退出重新登录 -- - 打开"系统管理->字典管理->班次类型",编辑备注字段即可修改班次时间范围(格式:HH:mm-HH:mm,如 08:00-16:00) -- - 打开"系统管理->角色管理",为需要的角色分配班次配置权限 -- ================================================