water_supply_alarm.sql 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. -- ============================================================
  2. -- 供水管网安全运行监测子系统 - 监测报警模块 数据库脚本
  3. -- 数据库:PostgreSQL
  4. -- 说明:本项目运行库为 PostgreSQL(schema: app_user),
  5. -- 若 warning_threshold 不在 app_user schema 下,请去掉前缀或调整 search_path。
  6. -- ============================================================
  7. -- ------------------------------------------------------------
  8. -- 1. 报警审核表(报警审核/解除 + 意见 + 附件 + 全流程跟踪)
  9. -- ------------------------------------------------------------
  10. CREATE TABLE IF NOT EXISTS app_user.alarm_audit (
  11. audit_id bigserial NOT NULL,
  12. alarm_id varchar(64) NOT NULL,
  13. -- 审核动作:1-审核 2-解除
  14. audit_action int2 NOT NULL,
  15. -- 审核结果:1-属实/审核通过 2-误报/解除报警
  16. audit_result int2 NOT NULL,
  17. -- 审核/解除意见
  18. audit_opinion varchar(500) NULL,
  19. -- 附件地址(多个用逗号分隔)
  20. attach_url text NULL,
  21. -- 操作人
  22. audit_user_id int8 NULL,
  23. audit_user_name varchar(50) NULL,
  24. -- 操作时间
  25. audit_time sys."timestamp" NULL,
  26. create_time sys."timestamp" NULL,
  27. update_time sys."timestamp" NULL,
  28. CONSTRAINT alarm_audit_pkey PRIMARY KEY (audit_id)
  29. );
  30. CREATE INDEX IF NOT EXISTS idx_alarm_audit_alarm_id ON app_user.alarm_audit USING btree (alarm_id);
  31. CREATE INDEX IF NOT EXISTS idx_alarm_audit_time ON app_user.alarm_audit USING btree (audit_time);
  32. COMMENT ON TABLE app_user.alarm_audit IS '供水监测报警审核记录表';
  33. COMMENT ON COLUMN app_user.alarm_audit.audit_action IS '审核动作:1-审核 2-解除';
  34. COMMENT ON COLUMN app_user.alarm_audit.audit_result IS '审核结果:1-属实/审核通过 2-误报/解除报警';
  35. -- ------------------------------------------------------------
  36. -- 2. 预警阈值表补充分时阈值字段(分时阈值设置)
  37. -- period_start / period_end 格式 HH:mm,为空表示全天生效;
  38. -- 同一设备+预警编码可配置多条不同时段阈值,时段不允许重叠。
  39. -- ------------------------------------------------------------
  40. ALTER TABLE warning_threshold ADD COLUMN IF NOT EXISTS period_start varchar(5) NULL;
  41. ALTER TABLE warning_threshold ADD COLUMN IF NOT EXISTS period_end varchar(5) NULL;
  42. COMMENT ON COLUMN warning_threshold.period_start IS '分时阈值生效开始时间(HH:mm),为空表示全天生效';
  43. COMMENT ON COLUMN warning_threshold.period_end IS '分时阈值生效结束时间(HH:mm),为空表示全天生效';
  44. -- ------------------------------------------------------------
  45. -- 3. 可选:菜单/权限初始化(按需执行)
  46. -- 父菜单:供水管网安全运行监测子系统(若不存在则创建)
  47. -- ------------------------------------------------------------
  48. -- INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
  49. -- SELECT '监测报警', menu_id, 10, 'monitorAlarm', 'waterSupply/monitorAlarm/index', '1', '0', 'C', '0', '0', 'waterSupply:alarm:list', 'monitor', 'admin', now(), '供水管网-监测报警'
  50. -- FROM sys_menu WHERE menu_name = '供水管网安全运行监测子系统' AND parent_id = 0 AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms = 'waterSupply:alarm:list');