20261028_alarm_event_query.sql 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. -- =====================================================
  2. -- [26110201] 事件查询优化(幂等,可重复执行)
  3. -- 1. alarm_event_record 增加告警类别字段 alarm_category(数据后续由外部补充)
  4. -- 2. 字典配置:告警类别(alarm_category)、告警等级(alarm_level)
  5. -- 注意: 字典项暂为占位值,后续替换为真实 code/name
  6. -- 3. 统计分析 下增加 事件查询 菜单
  7. -- =====================================================
  8. -- 1. 增加告警类别字段(幂等)
  9. ALTER TABLE alarm_event_record ADD COLUMN IF NOT EXISTS alarm_category VARCHAR(50);
  10. COMMENT ON COLUMN alarm_event_record.alarm_category IS '告警类别';
  11. -- 2.1 字典类型: 告警类别
  12. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  13. SELECT
  14. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  15. '告警类别', 'alarm_category', '0', 'admin', now(), '事件查询-告警类别'
  16. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'alarm_category');
  17. -- 2.2 字典类型: 告警等级
  18. INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, remark)
  19. SELECT
  20. nextval(pg_get_serial_sequence('sys_dict_type', 'dict_id')),
  21. '告警等级', 'alarm_level', '0', 'admin', now(), '事件查询-告警等级'
  22. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type t WHERE t.dict_type = 'alarm_level');
  23. -- 2.3 告警类别字典数据(占位,待替换为真实值)
  24. 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)
  25. SELECT
  26. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  27. 1, '占位-类别一', '1', 'alarm_category', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警类别'
  28. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_category' AND t.dict_value = '1');
  29. 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)
  30. SELECT
  31. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  32. 2, '占位-类别二', '2', 'alarm_category', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警类别'
  33. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_category' AND t.dict_value = '2');
  34. 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)
  35. SELECT
  36. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  37. 3, '占位-类别三', '3', 'alarm_category', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警类别'
  38. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_category' AND t.dict_value = '3');
  39. -- 2.4 告警等级字典数据(占位,待替换为真实值)
  40. 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)
  41. SELECT
  42. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  43. 1, '占位-等级一', '1', 'alarm_level', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警等级'
  44. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_level' AND t.dict_value = '1');
  45. 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)
  46. SELECT
  47. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  48. 2, '占位-等级二', '2', 'alarm_level', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警等级'
  49. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_level' AND t.dict_value = '2');
  50. 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)
  51. SELECT
  52. nextval(pg_get_serial_sequence('sys_dict_data', 'dict_code')),
  53. 3, '占位-等级三', '3', 'alarm_level', '', '', 'N', '0', 'admin', now(), '占位, 待替换为真实告警等级'
  54. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data t WHERE t.dict_type = 'alarm_level' AND t.dict_value = '3');
  55. -- 3. 增加 事件查询 二级菜单(挂在 统计分析 下)
  56. 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)
  57. SELECT
  58. (SELECT COALESCE(MAX(menu_id), 0) + 1 FROM sys_menu),
  59. '事件查询',
  60. (SELECT menu_id FROM sys_menu t WHERE t.menu_name = '统计分析' AND t.parent_id = 0),
  61. 50, 'event-query', 'ufo/electricity/statanalysis/eventQuery', '', 'EventQuery', 1, 0, 'C', '0', '0', 'alarm:eventRecord:list', 'AlertOutlined', 'admin', now(), '', NULL, '事件查询页面'
  62. WHERE NOT EXISTS (SELECT 1 FROM sys_menu t WHERE t.menu_name = '事件查询');