water_supply_threshold_test_data.sql 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. -- ============================================================
  2. -- 供水管网 T5 阈值管理 测试数据脚本(KingbaseES)
  3. -- 说明:
  4. -- 1. 依赖 water_supply_monitoring_alarm_rebuild_test_data.sql 初始化后的供水监测设备;
  5. -- 设备类型一律以库中现值为权威:ultrasonic_flowmeter / pressure_gauge / leak_monitor,
  6. -- 父类型 parent_type_id=1(不再引用已不存在的旧监测类型标识)。
  7. -- 2. 阈值测试主键使用 WS-TEST-THR- 前缀,可重复执行。
  8. -- 3. 覆盖全天生效、分时生效、流量/压力/漏失三类传感器和筛选场景。
  9. -- ============================================================
  10. -- 清理历史阈值测试数据
  11. DELETE FROM app_user.warning_threshold
  12. WHERE id LIKE 'WS-TEST-THR-%'
  13. OR warning_code IN ('WARN-T5-FLOW', 'WARN-T5-PRESSURE', 'WARN-T5-LEAK');
  14. -- 校验规范设备类型存在,避免把阈值测试数据写到非供水设备上
  15. DO $$
  16. DECLARE
  17. v_type_count integer;
  18. BEGIN
  19. SELECT count(*) INTO v_type_count
  20. FROM app_user.equipment_type
  21. WHERE type_id IN ('ultrasonic_flowmeter', 'pressure_gauge', 'leak_monitor')
  22. AND parent_type_id = '1';
  23. IF v_type_count <> 3 THEN
  24. RAISE EXCEPTION '缺少规范供水监测子类型:ultrasonic_flowmeter/pressure_gauge/leak_monitor 必须 parent_type_id=1';
  25. END IF;
  26. END $$;
  27. INSERT INTO app_user.warning_threshold
  28. (id, device_code, warning_type, warning_code, min_value, max_value,
  29. period_start, period_end, remark, create_time, update_time)
  30. VALUES
  31. ('WS-TEST-THR-FLOW-ALL', 'CN-GS-202609160201', '流量预警', 'WARN-T5-FLOW',
  32. 20.00, 40.00, NULL, NULL, '供水T5阈值测试-流量全天生效',
  33. now(), now()),
  34. ('WS-TEST-THR-FLOW-PERIOD', 'CB-GS-202609160202', '流量预警', 'WARN-T5-FLOW',
  35. 25.00, 45.00, '08:00', '20:00', '供水T5阈值测试-流量分时生效',
  36. now(), now()),
  37. ('WS-TEST-THR-PRESSURE-ALL', 'CN-GS-202609160211', '压力预警', 'WARN-T5-PRESSURE',
  38. 0.30, 0.60, NULL, NULL, '供水T5阈值测试-压力全天生效',
  39. now(), now()),
  40. ('WS-TEST-THR-LEAK-PERIOD', 'CN-GS-202609160221', '漏失预警', 'WARN-T5-LEAK',
  41. 8.00, 15.00, '08:00', '20:00', '供水T5阈值测试-漏失分时生效',
  42. now(), now());
  43. -- 快速核验:
  44. -- 阈值分页 total=4;
  45. -- 设备编码筛选 CN-GS-202609160201 返回 1 条;
  46. -- 预警分类筛选 流量预警 返回 2 条;
  47. -- WARN-T5-FLOW 在 CB-GS-202609160202 上已存在 08:00-20:00,
  48. -- 再次保存 19:00-21:00 应返回重叠时段错误。