backend_dml_2026112.sql 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665
  1. -- 短期功率预测
  2. 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)
  3. SELECT
  4. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  5. '短期功率预测',
  6. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  7. 4, 'short-term-power', 'ufo/electricity/forecast/ShortTermPowerForecasting', '', 'ShortTermPowerForecasting', 1, 0, 'C', '0', '0', 'electricity:forecast:shorttermpower', 'area-chart', 'admin', now(), '', NULL, '短期功率预测菜单'
  8. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '短期功率预测');
  9. -- 超短期功率预测
  10. 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)
  11. SELECT
  12. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  13. '超短期功率预测',
  14. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  15. 4, 'ultra-short-term-power', 'ufo/electricity/forecast/UltraShortTermPowerForecasting', '', 'UltraShortTermPowerForecasting', 1, 0, 'C', '0', '0', 'electricity:forecast:ultrashorttermpower', 'area-chart', 'admin', now(), '', NULL, '超短期功率预测菜单'
  16. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '超短期功率预测');
  17. -- 辐照度功率对比
  18. 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)
  19. SELECT
  20. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  21. '辐照度功率对比',
  22. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  23. 9, 'irradiance-power-comparison', 'ufo/electricity/forecast/IrradiancePowerComparison', '', 'IrradiancePowerComparison', 1, 0, 'C', '0', '0', 'data:irradiancePowerComparison:list', 'BarChartOutlined', 'admin', '2026-08-31 00:00:00', '', NULL, ''
  24. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '辐照度功率对比');
  25. -- 短期预测功率
  26. 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)
  27. SELECT
  28. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  29. '短期预测功率',
  30. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  31. 9, 'powerForecastIssued', 'ufo/electricity/forecast/ShortTermPowerForecastIssued', '', 'ShortTermPowerForecastIssued', 1, 0, 'C', '0', '0', 'power:powerForecastIssued:list', 'chart', 'admin', '2026-08-31 00:00:00', '', NULL, ''
  32. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '短期预测功率');
  33. -- 短期预测功率修正
  34. 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)
  35. SELECT
  36. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  37. '短期预测功率修正',
  38. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  39. 11, 'shortTermPowerForecastCorrect', 'ufo/electricity/forecast/DataShortTermPowerForecastCorrect', '', 'DataShortTermPowerForecastCorrect', 1, 0, 'C', '0', '0', 'power:powerForecastCorrect:list', 'chart', 'admin', '2026-08-31 00:00:00', '', NULL, ''
  40. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '短期预测功率修正');
  41. -- 超短期预测功率修正
  42. 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)
  43. SELECT
  44. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  45. '超短期预测功率修正',
  46. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  47. 12, 'superShortTermForecastCorrect', 'ufo/electricity/forecast/DataSuperShortTermForecastCorrect', '', 'DataSuperShortTermForecastCorrect', 1, 0, 'C', '0', '0', 'supershort:dataSuperForecastCorrect:list', 'chart', 'admin', '2026-08-31 00:00:00', '', NULL, ''
  48. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '超短期预测功率修正');
  49. -- 超短期预测功率
  50. 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)
  51. SELECT
  52. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  53. '超短期预测功率',
  54. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  55. 10, 'superShortTermForecastIssued', 'ufo/electricity/forecast/DataSuperShortTermForecastIssued', '', 'DataSuperShortTermForecastIssued', 1, 0, 'C', '0', '0', 'supershort:dataSuperForecastIssued:list', 'chart', 'admin', '2026-08-31 00:00:00', '', NULL, ''
  56. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '超短期预测功率');
  57. -- 光伏电场累计报表数据采集频率配置(单位:秒)
  58. INSERT INTO "public"."sys_dict_data" (
  59. "dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class",
  60. "list_class", "is_default", "status", "create_by", "create_time", "remark"
  61. )
  62. SELECT
  63. NULL, COALESCE((SELECT MAX(dict_sort) + 1 FROM sys_dict_data WHERE dict_type = 'data_local_frequency'), 1),
  64. '15分钟', '900', 'data_local_frequency', '', 'default', 'N', '0', 'admin', NOW(),
  65. '数据采集频率(秒)'
  66. WHERE NOT EXISTS (
  67. SELECT 1 FROM sys_dict_data WHERE dict_type = 'data_local_frequency' AND dict_value = '900'
  68. );
  69. -- 隐藏、修复菜单
  70. UPDATE "public"."sys_menu" set status = 1 where menu_name in ('多源多模型预测', '理论功率预测');
  71. update "public"."sys_menu" set menu_name = '湿度曲线图' where menu_name = '温度曲线图' and menu_id = 2074;
  72. update "public"."sys_menu" set menu_name = '气压曲线图' where menu_name = '湿度曲线图' and menu_id = 2075;
  73. update "public"."sys_menu" set menu_name = '辐照曲线图' where menu_name = '气压曲线图' and menu_id = 2076;
  74. update "public"."sys_menu" set menu_name = '功率预测' where menu_name = '预报管理' and menu_id = 2007;
  75. update "public"."sys_menu" set status = 1 where menu_name = '发电量预测' and menu_id = 2010;
  76. update "public"."sys_menu" set status = 1 where menu_name = '短期预测功率' and menu_id = 2083;
  77. update "public"."sys_menu" set status = 1 where menu_name = '超短期预测功率' and menu_id = 2084;
  78. update "public"."sys_menu" set menu_name = '短期功率预测修正' where menu_name = '短期预测功率修正' and menu_id = 2085;
  79. update "public"."sys_menu" set menu_name = '超短期功率预测修正' where menu_name = '超短期预测功率修正' and menu_id = 2086;
  80. update "public"."sys_menu" set parent_id = SELECT 1, (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测') where menu_name = '辐照度功率对比';
  81. -- 新加菜单
  82. DELETE FROM sys_role_menu t where t.menu_id
  83. in (
  84. SELECT menu_id from sys_menu where menu_name in (
  85. '数据报表',
  86. '短期预测日报',
  87. '短期预测月报',
  88. '短期预测年报',
  89. '超短期预测日报',
  90. '超短期预测月报',
  91. '超短期预测年报',
  92. '光伏电场累计日报',
  93. '光伏电场累计月报',
  94. '光伏电场累计年报',
  95. '光伏气象资源数据报表',
  96. '辐照度累计值报表'
  97. )
  98. );
  99. delete from sys_menu where menu_name in (
  100. '数据报表',
  101. '短期预测日报',
  102. '短期预测月报',
  103. '短期预测年报',
  104. '超短期预测日报',
  105. '超短期预测月报',
  106. '超短期预测年报',
  107. '光伏电场累计日报',
  108. '光伏电场累计月报',
  109. '光伏电场累计年报',
  110. '光伏气象资源数据报表',
  111. '辐照度累计值报表'
  112. );
  113. 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)
  114. SELECT
  115. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  116. '数据报表', 0, 15, 'datareport', '', '', '', 1, 0, 'M', '0', '0', '', 'PieChartOutlined', 'admin', now(), '', NULL, '短期预测日报页面'
  117. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '数据报表');
  118. -- 短期预测日报
  119. 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)
  120. SELECT
  121. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  122. '短期预测日报',
  123. (select menu_id from sys_menu t where t.menu_name = '数据报表'),
  124. 3, 'short-term-forecast-daily', 'ufo/electricity/datareport/shorTermForecastDailyReport', '', 'ShorTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:daily', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测日报页面'
  125. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '短期预测日报');
  126. -- 短期预测月报
  127. 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)
  128. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  129. '短期预测月报',
  130. (select menu_id from sys_menu t where t.menu_name = '数据报表'),
  131. 4, 'short-term-forecast-monthly', 'ufo/electricity/datareport/shorTermForecastMonthlyReport', '', 'ShorTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:monthly', 'LineChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测月报页面'
  132. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '短期预测月报');
  133. -- 短期预测年报
  134. 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)
  135. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  136. '短期预测年报',
  137. (select menu_id from sys_menu t where t.menu_name = '数据报表')
  138. , 5, 'short-term-forecast-yearly', 'ufo/electricity/datareport/shorTermForecastYearlyReport', '', 'ShorTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:yearly', 'AreaChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测年报页面'
  139. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '短期预测年报');
  140. -- 超短期预测日报
  141. 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)
  142. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  143. '超短期预测日报',
  144. (select menu_id from sys_menu t where t.menu_name = '数据报表')
  145. , 6, 'ultra-short-term-forecast-daily', 'ufo/electricity/datareport/ultraShortTermForecastDailyReport', '', 'UltraShorTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:daily', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测日报页面'
  146. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '超短期预测日报');
  147. -- 超短期预测月报
  148. 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)
  149. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  150. '超短期预测月报',
  151. (select menu_id from sys_menu t where t.menu_name = '数据报表')
  152. , 6, 'ultra-short-term-forecast-monthly', 'ufo/electricity/datareport/ultraShortTermForecastMonthlyReport', '', 'UltraShorTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:monthly', 'LineChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测月报页面'
  153. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '超短期预测月报');
  154. -- 超短期预测年报
  155. 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)
  156. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  157. '超短期预测年报',
  158. (select menu_id from sys_menu t where t.menu_name = '数据报表')
  159. , 6, 'ultra-short-term-forecast-yearly', 'ufo/electricity/datareport/ultraShortTermForecastYearlyReport', '', 'UltraShorTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:yearly', 'AreaChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测年报页面'
  160. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '超短期预测年报');
  161. -- 光伏电场累计日报
  162. 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)
  163. SELECT
  164. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  165. '光伏电场累计日报',
  166. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '数据报表'),
  167. 9, 'pv-plant-cumulative-daily', 'ufo/electricity/datareport/pvPlantCumulativeDailyReport', '', 'PvPlantCumulativeDailyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:daily', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计日报页面'
  168. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '光伏电场累计日报');
  169. -- 光伏电场累计月报
  170. 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)
  171. SELECT
  172. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  173. '光伏电场累计月报',
  174. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '数据报表'),
  175. 10, 'pv-plant-cumulative-monthly', 'ufo/electricity/datareport/pvPlantCumulativeMonthlyReport', '', 'PvPlantCumulativeMonthlyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:monthly', 'LineChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计月报页面'
  176. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '光伏电场累计月报');
  177. -- 光伏电场累计年报
  178. 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)
  179. SELECT
  180. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  181. '光伏电场累计年报',
  182. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '数据报表'),
  183. 11, 'pv-plant-cumulative-yearly', 'ufo/electricity/datareport/pvPlantCumulativeYearlyReport', '', 'PvPlantCumulativeYearlyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:yearly', 'AreaChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计年报页面'
  184. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '光伏电场累计年报');
  185. -- 光伏气象资源数据报表
  186. 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)
  187. SELECT
  188. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  189. '光伏气象资源数据报表',
  190. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '数据报表'),
  191. 12, 'pv-meteorological-resource-data', 'ufo/electricity/datareport/pvMeteorologicalResourceDataReport', '', 'PvMeteorologicalResourceDataReport', 1, 0, 'C', '0', '0', 'data:pvMeteorologicalResourceData:list', 'HeatMapOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏气象资源数据报表页面'
  192. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '光伏气象资源数据报表');
  193. -- 辐照度累计值报表
  194. 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)
  195. SELECT
  196. nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  197. '辐照度累计值报表',
  198. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '数据报表'),
  199. 13, 'cumulative-irradiance', 'ufo/electricity/datareport/cumulativeIrradianceDataReport', '', 'CumulativeIrradianceDataReport', 1, 0, 'C', '0', '0', 'data:cumulativeIrradiance:list', 'DotChartOutlined', 'admin', '2026-09-16 00:00:00', '', NULL, '辐照度累计值报表页面'
  200. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '辐照度累计值报表');
  201. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  202. SELECT
  203. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  204. '网关服务配置项', 'gateway_app_config', '0', 'admin', now(), '网关服务(gatewayapp)地址与接口配置, JSON格式'
  205. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'gateway_app_config');
  206. 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)
  207. SELECT
  208. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  209. 1, '网关服务配置项', '{"baseUrl":"http://xxx","pointStateUrl":"/biz/point-state/real","channelStateExpressions":"#iValue != null and #iValue == 1","channelOperationUrl":"/biz/channel/control"}', 'gateway_app_config', '', '', 'Y', '0', 'admin', now(), 'JSON: baseUrl/pointStateUrl/channelStateExpressions/channelOperationUrl'
  210. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'gateway_app_config');
  211. -- 测点监测
  212. 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)
  213. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  214. '测点监测',
  215. (select menu_id from sys_menu t where t.menu_name = '实时监控')
  216. , 3, 'point-monitor', 'ufo/electricity/realtime/PointMonitor', '', 'PointMonitor', 1, 0, 'C', '0', '0', 'data:oointMonitor', 'MonitorOutlined', 'admin', now(), '', NULL, '测点监测页面'
  217. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '测点监测');
  218. -- 优化菜单名称
  219. update public.sys_menu set menu_name = '短期功率预测修正' where menu_name = '短期预测功率修正';
  220. update public.sys_menu set menu_name = '超短期功率预测修正' where menu_name = '超短期预测功率修正';
  221. update public.sys_menu set menu_name = '气象资源' where menu_name = '气象与灾害预警地图';
  222. -- 20260922
  223. UPDATE public.sys_menu set menu_name = '设备管理' where menu_name = '风机设备信息';
  224. update public.sys_menu set status = 1 where menu_name = '设备状态监控';
  225. -- 1. 中期功率预测(工作台,挂在"功率预测"菜单下)
  226. 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)
  227. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  228. '中期功率预测',
  229. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  230. 5, 'medium-term-power', 'ufo/electricity/forecast/MediumTermPowerForecasting', '', 'MediumTermPowerForecasting', 1, 0, 'C', '0', '0', 'electricity:forecast:mediumtermpower', 'area-chart', 'admin', now(), '', NULL, '中期功率预测菜单'
  231. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '中期功率预测');
  232. -- 2. 中期预测日报(挂在"数据报表"菜单下)
  233. 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)
  234. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  235. '中期预测日报',
  236. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '数据报表'),
  237. 10, 'medium-term-forecast-daily', 'ufo/electricity/datareport/mediumTermForecastDailyReport', '', 'MediumTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:mediumTermForecastReport:daily', 'StockOutlined', 'admin', now(), '', NULL, '中期预测日报页面'
  238. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '中期预测日报');
  239. -- 3. 中期预测月报
  240. 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)
  241. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  242. '中期预测月报',
  243. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '数据报表'),
  244. 11, 'medium-term-forecast-monthly', 'ufo/electricity/datareport/mediumTermForecastMonthlyReport', '', 'MediumTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:mediumTermForecastReport:monthly', 'LineChartOutlined', 'admin', now(), '', NULL, '中期预测月报页面'
  245. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '中期预测月报');
  246. -- 4. 中期预测年报
  247. 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)
  248. SELECT nextval(pg_get_serial_sequence('sys_menu', 'menu_id')),
  249. '中期预测年报',
  250. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '数据报表'),
  251. 12, 'medium-term-forecast-yearly', 'ufo/electricity/datareport/mediumTermForecastYearlyReport', '', 'MediumTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:mediumTermForecastReport:yearly', 'AreaChartOutlined', 'admin', now(), '', NULL, '中期预测年报页面'
  252. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '中期预测年报');
  253. update "public"."sys_menu" set order_num = 5 where menu_name = '中期功率预测';
  254. update "public"."sys_menu" set order_num = 6 where menu_name = '超短期功率预测';
  255. update "public"."sys_menu" set order_num = 11 where menu_name = '中期预测日报';
  256. update "public"."sys_menu" set order_num = 12 where menu_name = '中期预测月报';
  257. update "public"."sys_menu" set order_num = 13 where menu_name = '中期预测年报';
  258. update "public"."sys_menu" set order_num = 21 where menu_name = '超短期预测日报';
  259. update "public"."sys_menu" set order_num = 22 where menu_name = '超短期预测月报';
  260. update "public"."sys_menu" set order_num = 23 where menu_name = '超短期预测年报';
  261. update "public"."sys_menu" set order_num = 31 where menu_name = '光伏电场累计日报';
  262. update "public"."sys_menu" set order_num = 32 where menu_name = '光伏电场累计月报';
  263. update "public"."sys_menu" set order_num = 33 where menu_name = '光伏电场累计年报';
  264. update "public"."sys_menu" set order_num = 41 where menu_name = '光伏气象资源数据报表';
  265. update "public"."sys_menu" set order_num = 51 where menu_name = '辐照度累计值报表';
  266. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  267. SELECT
  268. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  269. '场站编码-文件映射', 'station_file_code_mapping', '0', 'admin', now(), '气象数据文件名编码到场站编码(config_station.station_code)的映射, JSON格式'
  270. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'station_file_code_mapping');
  271. 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)
  272. SELECT
  273. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  274. 1, '场站编码-文件映射', '{"JMJD01":"JMJD01","YUWEI":"YUWEI","ZHONGXIN":"ZHONGXIN"}', 'station_file_code_mapping', '', '', 'Y', '0', 'admin', now(), 'JSON对象: key=文件名首段编码, value=场站编码'
  275. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'station_file_code_mapping');
  276. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  277. SELECT
  278. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  279. '数据文件同步配置', 'data_file_sync_config', '0', 'admin', now(), '气象、功率数据文件同步扫描目录配置'
  280. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'data_file_sync_config');
  281. 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)
  282. SELECT
  283. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  284. 1, '文件同步配置', '[]', 'data_file_sync_config', '', '', 'Y', '0', 'admin', now(), 'JSON数组, 每项含 scanFolder/updateInterval/handler, type可选'
  285. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'data_file_sync_config');
  286. -- 1.3.1 江门 (JMJD01)
  287. INSERT INTO config_station (
  288. station_name, station_code, superior_area_id, period_total,
  289. longitude, latitude,
  290. province_number, city_number, position,
  291. installed_capacity, grid_connected_capacity, fans_pv_panelquantity,
  292. elevation, operation_time, boosterstation_voltage_level,
  293. booster_station_longitude, boosterstation_latitude,
  294. responsible_person_name, responsible_person_phone,
  295. is_enable, push_status, subject_total, is_full_power, is_del,
  296. create_by, create_time, update_by, update_time,
  297. station_type, system_power_uuid, area_id
  298. ) select
  299. '江门', 'JMJD01', 'EAST01', 0,
  300. '113.135232', '22.555907',
  301. '440700', '440700', '广东省江门市江海区东宁路91号',
  302. 4050, 4050, 8723,
  303. '6', '2025-05-30', '10.5KV',
  304. '113.135232', '22.555907',
  305. '张工', '13800000000',
  306. 'true', 1, 1, '0', 'false',
  307. 'admin', NOW(), 'admin', NOW(),
  308. 1, '', 'EAST01'
  309. WHERE NOT EXISTS (SELECT 1 FROM config_station t WHERE t.station_code = 'JMJD01');
  310. -- 1.3.2 北流煜炜 (YUWEI)
  311. INSERT INTO config_station (
  312. station_name, station_code, superior_area_id, period_total,
  313. longitude, latitude,
  314. province_number, city_number, position,
  315. installed_capacity, grid_connected_capacity, fans_pv_panelquantity,
  316. elevation, operation_time, boosterstation_voltage_level,
  317. booster_station_longitude, boosterstation_latitude,
  318. responsible_person_name, responsible_person_phone,
  319. is_enable, push_status, subject_total, is_full_power, is_del,
  320. create_by, create_time, update_by, update_time,
  321. station_type, system_power_uuid, area_id
  322. ) select
  323. '北流煜炜', 'YUWEI', 'EAST01', 0,
  324. '110.305066', '22.615142',
  325. '450981', '450981', '广西壮族自治区玉林市北流市塘岸镇六和村241国道与和谐路交叉口东北 480 米处',
  326. 3000, 3000, 5567,
  327. '108', '2025-04-30', '10.5KV',
  328. '110.305066', '22.615142',
  329. '', '',
  330. 'true', 1, 1, '0', 'false',
  331. 'admin', NOW(), 'admin', NOW(),
  332. 1, '', 'EAST01'
  333. WHERE NOT EXISTS (SELECT 1 FROM config_station t WHERE t.station_code = 'YUWEI');
  334. -- 1.3.3 清远忠信 (ZHONGXIN)
  335. INSERT INTO config_station (
  336. station_name, station_code, superior_area_id, period_total,
  337. longitude, latitude,
  338. province_number, city_number, position,
  339. installed_capacity, grid_connected_capacity, fans_pv_panelquantity,
  340. elevation, operation_time, boosterstation_voltage_level,
  341. booster_station_longitude, boosterstation_latitude,
  342. responsible_person_name, responsible_person_phone,
  343. is_enable, push_status, subject_total, is_full_power, is_del,
  344. create_by, create_time, update_by, update_time,
  345. station_type, system_power_uuid, area_id
  346. ) select
  347. '清远忠信', 'ZHONGXIN', 'EAST01', 0,
  348. '112.996233', '23.542156',
  349. '441802', '441802', '广东省清远市清城区石龙大道建滔循环经济工业园',
  350. 2250, 2250, 3980,
  351. '13', '', '10.5KV',
  352. '112.996233', '23.542156',
  353. '', '',
  354. 'true', 1, 1, '0', 'false',
  355. 'admin', NOW(), 'admin', NOW(),
  356. 1, '', 'EAST01'
  357. WHERE NOT EXISTS (SELECT 1 FROM config_station t WHERE t.station_code = 'ZHONGXIN');
  358. -- ============================================================
  359. -- UPDATE 脚本 (站码已存在时执行)
  360. -- ============================================================
  361. -- 1.3.1 江门
  362. UPDATE config_station SET
  363. station_name = '江门',
  364. superior_area_id = 'EAST01',
  365. period_total = 0,
  366. longitude = '113.135232',
  367. latitude = '22.555907',
  368. province_number = '440700',
  369. city_number = '440700',
  370. position = '广东省江门市江海区东宁路91号',
  371. installed_capacity = 4050,
  372. grid_connected_capacity = 4050,
  373. fans_pv_panelquantity = 8723,
  374. elevation = '6',
  375. operation_time = '2025-05-30',
  376. boosterstation_voltage_level = '10.5KV',
  377. booster_station_longitude = '113.135232',
  378. boosterstation_latitude = '22.555907',
  379. responsible_person_name = '张工',
  380. responsible_person_phone = '13800000000',
  381. is_enable = 'true',
  382. push_status = 1,
  383. subject_total = 1,
  384. is_full_power = '0',
  385. update_by = 'admin',
  386. update_time = NOW(),
  387. station_type = 1,
  388. system_power_uuid = '',
  389. area_id = 'EAST01'
  390. WHERE station_code = 'JMJD01';
  391. -- 1.3.2 北流煜炜
  392. UPDATE config_station SET
  393. station_name = '北流煜炜',
  394. superior_area_id = 'EAST01',
  395. period_total = 0,
  396. longitude = '110.305066',
  397. latitude = '22.615142',
  398. province_number = '450981',
  399. city_number = '450981',
  400. position = '广西壮族自治区玉林市北流市塘岸镇六和村241国道与和谐路交叉口东北 480 米处',
  401. installed_capacity = 3000,
  402. grid_connected_capacity = 3000,
  403. fans_pv_panelquantity = 5567,
  404. elevation = '108',
  405. operation_time = '2025-04-30',
  406. boosterstation_voltage_level = '10.5KV',
  407. booster_station_longitude = '110.305066',
  408. boosterstation_latitude = '22.615142',
  409. responsible_person_name = '',
  410. responsible_person_phone = '',
  411. is_enable = 'true',
  412. push_status = 1,
  413. subject_total = 1,
  414. is_full_power = '0',
  415. update_by = 'admin',
  416. update_time = NOW(),
  417. station_type = 1,
  418. system_power_uuid = '',
  419. area_id = 'EAST01'
  420. WHERE station_code = 'YUWEI';
  421. -- 1.3.3 清远忠信
  422. UPDATE config_station SET
  423. station_name = '清远忠信',
  424. superior_area_id = 'EAST01',
  425. period_total = 0,
  426. longitude = '112.996233',
  427. latitude = '23.542156',
  428. province_number = '441802',
  429. city_number = '441802',
  430. position = '广东省清远市清城区石龙大道建滔循环经济工业园',
  431. installed_capacity = 2250,
  432. grid_connected_capacity = 2250,
  433. fans_pv_panelquantity = 3980,
  434. elevation = '13',
  435. operation_time = '',
  436. boosterstation_voltage_level = '10.5KV',
  437. booster_station_longitude = '112.996233',
  438. boosterstation_latitude = '23.542156',
  439. responsible_person_name = '',
  440. responsible_person_phone = '',
  441. is_enable = 'true',
  442. push_status = 1,
  443. subject_total = 1,
  444. is_full_power = '0',
  445. update_by = 'admin',
  446. update_time = NOW(),
  447. station_type = 1,
  448. system_power_uuid = '',
  449. area_id = 'EAST01'
  450. WHERE station_code = 'ZHONGXIN';
  451. -- 几个菜单名称顺序调整
  452. UPDATE public.sys_menu
  453. SET order_num = CASE menu_name
  454. WHEN '辐照度曲线' THEN 10
  455. WHEN '光伏温度' THEN 20
  456. WHEN '光伏风速' THEN 30
  457. WHEN '光伏风向' THEN 40
  458. WHEN '光伏湿度' THEN 50
  459. WHEN '光伏气压' THEN 60
  460. ELSE order_num
  461. END
  462. WHERE menu_name IN (
  463. '辐照度曲线',
  464. '光伏温度',
  465. '光伏风速',
  466. '光伏风向',
  467. '光伏湿度',
  468. '光伏气压'
  469. );
  470. -- 菜单名称调整
  471. update "public"."sys_menu" set menu_name = '辐照度' where menu_name = '辐照度曲线';
  472. update "public"."sys_menu" set menu_name = '风向' where menu_name = '光伏风向';
  473. update "public"."sys_menu" set menu_name = '风速' where menu_name = '光伏风速';
  474. update "public"."sys_menu" set menu_name = '温度' where menu_name = '光伏温度';
  475. update "public"."sys_menu" set menu_name = '湿度' where menu_name = '光伏湿度';
  476. update "public"."sys_menu" set menu_name = '气压' where menu_name = '光伏气压';
  477. update "public"."sys_menu" set order_num = 10 where menu_name = '超短期功率预测';
  478. update "public"."sys_menu" set order_num = 20 where menu_name = '短期功率预测';
  479. update "public"."sys_menu" set order_num = 30 where menu_name = '中期功率预测';
  480. update "public"."sys_menu" set order_num = 40 where menu_name = '辐照度功率对比';
  481. update "public"."sys_menu" set order_num = 50 where menu_name = '超短期功率预测修正';
  482. update "public"."sys_menu" set order_num = 60 where menu_name = '短期功率预测修正';
  483. -- 中期功率预测修正菜单
  484. 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)
  485. SELECT
  486. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  487. '中期功率预测修正',
  488. (select menu_id from sys_menu t where t.menu_name = '功率预测'),
  489. 70, 'mediumTermPowerForecastCorrect', 'ufo/electricity/forecast/DataMediumTermPowerForecastCorrect', '', 'DataMediumTermPowerForecastCorrect', 1, 0, 'C', '0', '0', 'mediumterm:powerForecastCorrect:list', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '中期功率预测修正'
  490. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '中期功率预测修正');
  491. update sys_menu set icon = 'StockOutlined' where menu_name = '超短期功率预测修正';
  492. update sys_menu set icon = 'StockOutlined' where menu_name = '短期功率预测修正';
  493. -- 功率误差统计菜单补丁(幂等,可重复执行)
  494. -- 增加 统计分析 一级目录菜单
  495. 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)
  496. SELECT
  497. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  498. '统计分析', 0, 20, 'statanalysis', '', '', '', 1, 0, 'M', '0', '0', '', 'BarChartOutlined', 'admin', now(), '', NULL, '统计分析'
  499. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0);
  500. -- 增加 功率误差统计 二级菜单
  501. 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)
  502. SELECT
  503. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  504. '功率误差统计',
  505. (select menu_id from sys_menu t where t.menu_name = '统计分析' and t.parent_id = 0),
  506. 10, 'power-error-stat', 'ufo/electricity/statanalysis/powerErrorStat', '', 'PowerErrorStat', 1, 0, 'C', '0', '0', 'data:powerErrorStat:list', 'CalculatorOutlined', 'admin', now(), '', NULL, '功率误差统计页面'
  507. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '功率误差统计');
  508. -- 增加 上传状态查询 二级菜单(挂在 统计分析 下)
  509. 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)
  510. SELECT
  511. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  512. '上传状态查询',
  513. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0),
  514. 20, 'report-log-query', 'ufo/electricity/statanalysis/reportLogQuery', '', 'ReportLogQuery', 1, 0, 'C', '0', '0', 'fileupload:reportLog:list', 'CloudUploadOutlined', 'admin', now(), '', NULL, '上传状态查询页面'
  515. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '上传状态查询');
  516. -- 增加 功率频率分布统计 二级菜单(挂在 统计分析 下)
  517. 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)
  518. SELECT
  519. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  520. '功率频率分布统计',
  521. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0),
  522. 30, 'power-frequency-distribution', 'ufo/electricity/statanalysis/powerFrequencyDistribution', '', 'PowerFrequencyDistribution', 1, 0, 'C', '0', '0', 'data:powerFrequencyDistribution:list', 'BarChartOutlined', 'admin', now(), '', NULL, '功率频率分布统计页面'
  523. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '功率频率分布统计');
  524. -- 增加 辐照度频率分布统计 二级菜单(挂在 统计分析 下)
  525. 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)
  526. SELECT
  527. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  528. '辐照度频率分布统计',
  529. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0),
  530. 40, 'irradiance-frequency-distribution', 'ufo/electricity/statanalysis/irradianceFrequencyDistribution', '', 'IrradianceFrequencyDistribution', 1, 0, 'C', '0', '0', 'data:irradianceFrequencyDistribution:list', 'BarChartOutlined', 'admin', now(), '', NULL, '辐照度频率分布统计页面'
  531. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '辐照度频率分布统计');
  532. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  533. SELECT
  534. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  535. '文件上报配置', 'power_forecast_report_batch_config', '0', 'admin', now(), '短期/超短期功率预测上报批次生成配置'
  536. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'power_forecast_report_batch_config');
  537. 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)
  538. SELECT
  539. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  540. 1, '短期/超短期批次生成配置', '[]', 'power_forecast_report_batch_config', '', '', 'Y', '0', 'admin', now(), 'JSON数组, 每项含 stationCode/type/period/times/initInterval(分钟)'
  541. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'power_forecast_report_batch_config');
  542. -- 删除风场
  543. UPDATE "public"."config_station" set is_del = 'true' where station_code in ('BHWP01', 'HHWP02');
  544. -- 字典类型: 告警类别
  545. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  546. SELECT
  547. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  548. '告警类别', 'alarm_category', '0', 'admin', now(), '事件查询-告警类别'
  549. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'alarm_category');
  550. -- 字典类型: 告警等级
  551. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  552. SELECT
  553. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  554. '告警等级', 'alarm_level', '0', 'admin', now(), '事件查询-告警等级'
  555. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'alarm_level');
  556. -- 告警类别字典数据(先删后插,保证幂等)
  557. DELETE FROM sys_dict_data WHERE dict_type = 'alarm_category';
  558. 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)
  559. VALUES
  560. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 1, '通信异常', '1', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
  561. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 2, '数据异常', '2', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
  562. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 3, '气象预报异常', '3', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
  563. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 4, '功率预测异常', '4', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
  564. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 5, '数据上报异常', '5', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别'),
  565. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 6, '系统运行异常', '6', 'alarm_category', '', '', 'N', '0', 'admin', now(), '事件查询-告警类别');
  566. -- 告警等级字典数据(颜色值配置在 css_class,页面按等级值渲染颜色;先删后插,保证幂等)
  567. DELETE FROM sys_dict_data WHERE dict_type = 'alarm_level';
  568. 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)
  569. VALUES
  570. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 1, '紧急告警', '1', 'alarm_level', 'red', '', 'N', '0', 'admin', now(), '事件查询-告警等级'),
  571. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 2, '重要告警', '2', 'alarm_level', 'orange', '', 'N', '0', 'admin', now(), '事件查询-告警等级'),
  572. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 3, '一般告警', '3', 'alarm_level', 'gold', '', 'N', '0', 'admin', now(), '事件查询-告警等级'),
  573. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 4, '提示信息', '4', 'alarm_level', 'blue', '', 'N', '0', 'admin', now(), '事件查询-告警等级');
  574. -- 增加 事件查询 二级菜单(挂在 统计分析 下)
  575. 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)
  576. SELECT
  577. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  578. '事件查询',
  579. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0),
  580. 5, 'event-query', 'ufo/electricity/statanalysis/eventQuery', '', 'EventQuery', 1, 0, 'C', '0', '0', 'alarm:eventRecord:list', 'AlertOutlined', 'admin', now(), '', NULL, '事件查询页面'
  581. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '事件查询');
  582. -- 增加 数据补传 二级菜单(挂在 功率预测 下)
  583. 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)
  584. SELECT
  585. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  586. '数据补传',
  587. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '功率预测'),
  588. 35, 'data-resend', 'ufo/electricity/forecast/DataResend', '', 'DataResend', 1, 0, 'C', '0', '0', 'fileupload:reportLog:reUpload', 'CloudUploadOutlined', 'admin', now(), '', NULL, '数据补传页面'
  589. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '数据补传');
  590. -- 字典类型: 每日文件上传配置
  591. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  592. SELECT
  593. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  594. '每日文件上传配置', 'daily_file_upload_config', '0', 'admin', now(), '光伏上传率统计-每日文件上传配置'
  595. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'daily_file_upload_config');
  596. -- 字典数据(先删后插,保证幂等)
  597. DELETE FROM sys_dict_data WHERE dict_type = 'daily_file_upload_config';
  598. 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)
  599. VALUES
  600. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 1, '超短期文件', '{"type":"supershort","num":16}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数'),
  601. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 2, '短期文件', '{"type":"short","num":1}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数'),
  602. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 3, '中期文件', '{"type":"medium","num":1}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数'),
  603. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 4, '环境检测仪数据', '{"type":"envlDetec","num":1}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数'),
  604. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 5, '逆变器运行信息文件', '{"type":"ivtOpr","num":1}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数'),
  605. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 6, '升压变数据', '{"type":"bstTrn","num":1}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数'),
  606. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 7, '理论功率文件', '{"type":"thrPower","num":1}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数'),
  607. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 8, '数值天气预报文件', '{"type":"nmrWeather","num":1}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数'),
  608. (nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')), 9, '发电计划文件', '{"type":"pwrGen","num":1}', 'daily_file_upload_config', '', '', 'N', '0', 'admin', now(), 'num=每日期望上传数');
  609. -- 增加 光伏上传率统计 二级菜单(挂在 统计分析 下)
  610. 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)
  611. SELECT
  612. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  613. '光伏上传率统计',
  614. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0),
  615. 15, 'upload-rate-stat', 'ufo/electricity/statanalysis/uploadRateStat', '', 'UploadRateStat', 1, 0, 'C', '0', '0', 'fileupload:reportLog:uploadRate', 'BarChartOutlined', 'admin', now(), '', NULL, '光伏上传率统计页面'
  616. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '光伏上传率统计');