-- 几个菜单名称顺序调整 UPDATE public.sys_menu SET order_num = CASE menu_name WHEN '辐照度曲线' THEN 10 WHEN '光伏温度' THEN 20 WHEN '光伏风速' THEN 30 WHEN '光伏风向' THEN 40 WHEN '光伏湿度' THEN 50 WHEN '光伏气压' THEN 60 ELSE order_num END WHERE menu_name IN ( '辐照度曲线', '光伏温度', '光伏风速', '光伏风向', '光伏湿度', '光伏气压' ); -- 菜单名称调整 update "public"."sys_menu" set menu_name = '辐照度' where menu_name = '辐照度曲线'; update "public"."sys_menu" set menu_name = '风向' where menu_name = '光伏风向'; update "public"."sys_menu" set menu_name = '风速' where menu_name = '光伏风速'; update "public"."sys_menu" set menu_name = '温度' where menu_name = '光伏温度'; update "public"."sys_menu" set menu_name = '湿度' where menu_name = '光伏湿度'; update "public"."sys_menu" set menu_name = '气压' where menu_name = '光伏气压'; update "public"."sys_menu" set order_num = 10 where menu_name = '超短期功率预测'; update "public"."sys_menu" set order_num = 20 where menu_name = '短期功率预测'; update "public"."sys_menu" set order_num = 30 where menu_name = '中期功率预测'; update "public"."sys_menu" set order_num = 40 where menu_name = '辐照度功率对比'; update "public"."sys_menu" set order_num = 50 where menu_name = '超短期功率预测修正'; update "public"."sys_menu" set order_num = 60 where menu_name = '短期功率预测修正'; -- 中期功率预测修正菜单 INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu), '中期功率预测修正', (select menu_id from sys_menu t where t.menu_name = '功率预测'), 70, 'mediumTermPowerForecastCorrect', 'ufo/electricity/forecast/DataMediumTermPowerForecastCorrect', '', 'DataMediumTermPowerForecastCorrect', 1, 0, 'C', '0', '0', 'mediumterm:powerForecastCorrect:list', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '中期功率预测修正' WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '中期功率预测修正'); update sys_menu set icon = 'StockOutlined' where menu_name = '超短期功率预测修正'; update sys_menu set icon = 'StockOutlined' where menu_name = '短期功率预测修正'; -- 功率误差统计菜单补丁(幂等,可重复执行) -- 增加 统计分析 一级目录菜单 INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu), '统计分析', 0, 20, 'statanalysis', '', '', '', 1, 0, 'M', '0', '0', '', 'BarChartOutlined', 'admin', now(), '', NULL, '统计分析' WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0); -- 增加 功率误差统计 二级菜单 INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu), '功率误差统计', (select menu_id from sys_menu t where t.menu_name = '统计分析' and t.parent_id = 0), 10, 'power-error-stat', 'ufo/electricity/statanalysis/powerErrorStat', '', 'PowerErrorStat', 1, 0, 'C', '0', '0', 'data:powerErrorStat:list', 'CalculatorOutlined', 'admin', now(), '', NULL, '功率误差统计页面' WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '功率误差统计'); -- 增加 上传状态查询 二级菜单(挂在 统计分析 下) INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu), '上传状态查询', (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0), 20, 'report-log-query', 'ufo/electricity/statanalysis/reportLogQuery', '', 'ReportLogQuery', 1, 0, 'C', '0', '0', 'fileupload:reportLog:list', 'CloudUploadOutlined', 'admin', now(), '', NULL, '上传状态查询页面' WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '上传状态查询'); -- 增加 功率频率分布统计 二级菜单(挂在 统计分析 下) INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu), '功率频率分布统计', (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0), 30, 'power-frequency-distribution', 'ufo/electricity/statanalysis/powerFrequencyDistribution', '', 'PowerFrequencyDistribution', 1, 0, 'C', '0', '0', 'data:powerFrequencyDistribution:list', 'BarChartOutlined', 'admin', now(), '', NULL, '功率频率分布统计页面' WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '功率频率分布统计'); -- 增加 辐照度频率分布统计 二级菜单(挂在 统计分析 下) INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) SELECT (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu), '辐照度频率分布统计', (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0), 40, 'irradiance-frequency-distribution', 'ufo/electricity/statanalysis/irradianceFrequencyDistribution', '', 'IrradianceFrequencyDistribution', 1, 0, 'C', '0', '0', 'data:irradianceFrequencyDistribution:list', 'BarChartOutlined', 'admin', now(), '', NULL, '辐照度频率分布统计页面' WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '辐照度频率分布统计'); -- ----------------------------------------------------- -- 3. 字典配置项 power_forecast_report_batch_config -- dict_value 存整个 JSON 数组: [{stationCode, type, period, times, initInterval}] -- 例: [{"stationCode":"3301","type":"short","period":"daily","times":["08:00:00"],"initInterval":60}] -- initInterval 单位分钟(提前生成窗口) -- ----------------------------------------------------- -- JSON 数组配置可能超过 dict_value 原长度(VARCHAR(100)), 扩容(可重复执行) ALTER TABLE sys_dict_data ALTER COLUMN dict_value TYPE VARCHAR(2000); INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark) SELECT nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')), '文件上报配置', 'power_forecast_report_batch_config', '0', 'admin', now(), '短期/超短期功率预测上报批次生成配置' WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'power_forecast_report_batch_config'); INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) SELECT nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 1, '短期/超短期批次生成配置', '[]', 'power_forecast_report_batch_config', '', '', 'Y', '0', 'admin', now(), 'JSON数组, 每项含 stationCode/type/period/times/initInterval(分钟)' WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'power_forecast_report_batch_config');