|
|
@@ -22,6 +22,9 @@
|
|
|
-- Z-TEST-*),以及 equipment_type_id 已指向不存在类型的脏数据设备;不带测试前缀的
|
|
|
-- 供水设备一律保留。删除清单可在执行前快照中追溯。
|
|
|
-- 4. 非供水设备按类型归位而非删除:燃气→3,排水→2,窨井→4。
|
|
|
+-- 5. 部署顺序:须先执行 migration_alarm_case_work_order_id.sql(alarm_data/case_info/
|
|
|
+-- hazard_hidden_account/work_order_log 的 order_id→work_order_id 改名 + alarm_data 删 alarm_time),
|
|
|
+-- 再执行本脚本;否则 work_order_id 列不存在会报错。
|
|
|
--
|
|
|
-- 执行后可对照的口径(本轮已在库中复算):
|
|
|
-- 设备:供水设备 15 台(流量 6 / 压力 5 / 漏失 4),全部挂在真实子类型 11/12/14
|
|
|
@@ -105,7 +108,7 @@ DELETE FROM app_user.alarm_audit
|
|
|
WHERE device_code IN (SELECT equipment_code FROM wsr_deleted_devices));
|
|
|
|
|
|
DELETE FROM app_user.work_order_log
|
|
|
- WHERE order_id IN (SELECT order_id FROM app_user.work_order
|
|
|
+ WHERE work_order_id IN (SELECT order_id FROM app_user.work_order
|
|
|
WHERE device_id IN (SELECT equipment_id FROM wsr_deleted_devices));
|
|
|
|
|
|
DELETE FROM app_user.alarm_data
|
|
|
@@ -134,14 +137,14 @@ DELETE FROM app_user.alarm_audit
|
|
|
OR alarm_id IN ('test-alarm-004', 'test-alarm-005', 'test-alarm-006', 'test-alarm-007');
|
|
|
|
|
|
DELETE FROM app_user.work_order_log
|
|
|
- WHERE order_id IN (SELECT order_id FROM app_user.work_order
|
|
|
+ WHERE work_order_id IN (SELECT order_id FROM app_user.work_order
|
|
|
WHERE order_no LIKE 'T45-WO-%' OR order_no LIKE 'T46-WO-%' OR order_no LIKE 'WRB-WO-%'
|
|
|
- OR order_id IN (SELECT order_id FROM app_user.alarm_data
|
|
|
+ OR order_id IN (SELECT work_order_id FROM app_user.alarm_data
|
|
|
WHERE id LIKE 't45-alarm-%' OR id LIKE 't46-alarm-%' OR id LIKE 'wrb-alarm-%'));
|
|
|
|
|
|
DELETE FROM app_user.work_order
|
|
|
WHERE order_no LIKE 'T45-WO-%' OR order_no LIKE 'T46-WO-%' OR order_no LIKE 'WRB-WO-%'
|
|
|
- OR order_id IN (SELECT order_id FROM app_user.alarm_data
|
|
|
+ OR order_id IN (SELECT work_order_id FROM app_user.alarm_data
|
|
|
WHERE id LIKE 't45-alarm-%' OR id LIKE 't46-alarm-%' OR id LIKE 'wrb-alarm-%');
|
|
|
|
|
|
DELETE FROM app_user.alarm_data
|
|
|
@@ -324,26 +327,27 @@ VALUES
|
|
|
|
|
|
-- ------------------------------------------------------------
|
|
|
-- 9. 报警流水(16 条:一级4/二级5/三级3/四级4;待审核8/已转工单6/已解除2)
|
|
|
+-- 注意:alarm_time 列已删除,统一使用 create_time。
|
|
|
-- ------------------------------------------------------------
|
|
|
INSERT INTO app_user.alarm_data
|
|
|
- (id, device_code, warning_type, warning_code, actual_value, min_value, max_value, alarm_status, alarm_level, deviation_ratio, alarm_time, remark, create_time, update_time)
|
|
|
+ (id, device_code, warning_type, warning_code, actual_value, min_value, max_value, alarm_status, alarm_level, deviation_ratio, remark, create_time, update_time)
|
|
|
VALUES
|
|
|
- ('wrb-alarm-01', 'CN-GS-202609160201', '流量预警', 'WRB-WARN-FLOW', 132.00, 10.00, 100.00, 0, 1, 32.00, now() - interval '35 minutes', '#56已转工单-WO-01 待派单', now(), now()),
|
|
|
- ('wrb-alarm-02', 'CB-GS-202609160202', '流量预警', 'WRB-WARN-FLOW', 128.00, 8.00, 120.00, 0, 2, 6.67, now() - interval '3 hours', '#56已转工单-WO-02 待接单', now(), now()),
|
|
|
- ('wrb-alarm-03', 'TC-GS-202609160203', '流量预警', 'WRB-WARN-FLOW', 145.00, 10.00, 100.00, 0, 3, 45.00, now() - interval '1 day 2 hours', '#56已转工单-WO-03 已接单', now(), now()),
|
|
|
- ('wrb-alarm-04', 'CN-GS-202609160204', '流量预警', 'WRB-WARN-FLOW', 118.00, 10.00, 100.00, 0, 4, 18.00, now() - interval '2 days', '#56已转工单-WO-04 处理中', now(), now()),
|
|
|
- ('wrb-alarm-05', 'CN-GS-202609160211', '压力预警', 'WRB-WARN-PRESSURE', 0.95, 0.40, 0.80, 0, 1, 18.75, now() - interval '3 days', '#56已转工单-WO-05 待验收', now(), now()),
|
|
|
- ('wrb-alarm-06', 'CB-GS-202609160212', '压力预警', 'WRB-WARN-PRESSURE', 0.30, 0.35, 0.85, 0, 2, 14.29, now() - interval '4 days', '#56已转工单(WO-06 已结案);终态不占用唯一性名额,可再次转工单', now(), now()),
|
|
|
- ('wrb-alarm-07', 'CN-GS-202609160221', '漏失预警', 'WRB-WARN-LEAK', 7.20, 0.00, 5.00, 0, 3, 44.00, now() - interval '5 days', '#56已转工单-WO-07 延期中', now(), now()),
|
|
|
- ('wrb-alarm-08', 'CB-GS-202609160222', '漏失预警', 'WRB-WARN-LEAK', 6.10, 0.00, 6.00, 0, 4, 1.67, now() - interval '6 days', '#56待审核(WO-08 已取消,口径回落到报警事实);终态不占用唯一性名额', now(), now()),
|
|
|
- ('wrb-alarm-09', 'TC-GS-202609160213', '压力预警', 'WRB-WARN-PRESSURE', 0.28, 0.40, 0.80, 0, 1, 30.00, now() - interval '50 minutes', '#56待审核-无工单,可直接转工单', now(), now()),
|
|
|
- ('wrb-alarm-10', 'CN-GS-202609160214', '压力预警', 'WRB-WARN-PRESSURE', 0.22, 0.40, 0.80, 0, 3, 45.00, now() - interval '5 hours', '#56待审核-无工单,可直接转工单', now(), now()),
|
|
|
- ('wrb-alarm-11', 'TC-GS-202609160223', '漏失预警', 'WRB-WARN-LEAK', 9.40, 0.00, 5.00, 0, 2, 88.00, now() - interval '1 day 6 hours', '#56待审核-无工单,可直接转工单', now(), now()),
|
|
|
- ('wrb-alarm-12', 'CB-GS-202609160205', '流量预警', 'WRB-WARN-FLOW', 155.00, 8.00, 120.00, 0, 4, 29.17, now() - interval '2 days 4 hours', '#56待审核-无工单,可直接转工单', now(), now()),
|
|
|
- ('wrb-alarm-13', 'TC-GS-202609160206', '流量预警', 'WRB-WARN-FLOW', 112.00, 10.00, 100.00, 0, 2, 12.00, now() - interval '3 days 3 hours', '#56待审核-设备无状态记录,报警状态走回退分支', now(), now()),
|
|
|
- ('wrb-alarm-14', 'CB-GS-202609160215', '压力预警', 'WRB-WARN-PRESSURE', 0.20, 0.40, 0.80, 0, 4, 50.00, now() - interval '4 days 5 hours', '#56已解除-误报(审核结论=2,不产生工单)', now(), now()),
|
|
|
- ('wrb-alarm-15', 'CN-GS-202609160224', '漏失预警', 'WRB-WARN-LEAK', 8.10, 0.00, 5.00, 1, 1, 62.00, now() - interval '6 days 2 hours', '#56已解除-报警记录已处理', now(), now()),
|
|
|
- ('wrb-alarm-16', 'CN-GS-202609160201', '流量预警', 'WRB-WARN-FLOW', 124.00, 10.00, 100.00, 0, 2, 24.00, now() - interval '90 minutes', '#56待审核-同设备同类型已有 WO-01 未办结,转工单应被阻止', now(), now());
|
|
|
+ ('wrb-alarm-01', 'CN-GS-202609160201', '流量预警', 'WRB-WARN-FLOW', 132.00, 10.00, 100.00, 0, 1, 32.00, '#56已转工单-WO-01 待派单', now(), now()),
|
|
|
+ ('wrb-alarm-02', 'CB-GS-202609160202', '流量预警', 'WRB-WARN-FLOW', 128.00, 8.00, 120.00, 0, 2, 6.67, '#56已转工单-WO-02 待接单', now(), now()),
|
|
|
+ ('wrb-alarm-03', 'TC-GS-202609160203', '流量预警', 'WRB-WARN-FLOW', 145.00, 10.00, 100.00, 0, 3, 45.00, '#56已转工单-WO-03 已接单', now(), now()),
|
|
|
+ ('wrb-alarm-04', 'CN-GS-202609160204', '流量预警', 'WRB-WARN-FLOW', 118.00, 10.00, 100.00, 0, 4, 18.00, '#56已转工单-WO-04 处理中', now(), now()),
|
|
|
+ ('wrb-alarm-05', 'CN-GS-202609160211', '压力预警', 'WRB-WARN-PRESSURE', 0.95, 0.40, 0.80, 0, 1, 18.75, '#56已转工单-WO-05 待验收', now(), now()),
|
|
|
+ ('wrb-alarm-06', 'CB-GS-202609160212', '压力预警', 'WRB-WARN-PRESSURE', 0.30, 0.35, 0.85, 0, 2, 14.29, '#56已转工单(WO-06 已结案);终态不占用唯一性名额,可再次转工单', now(), now()),
|
|
|
+ ('wrb-alarm-07', 'CN-GS-202609160221', '漏失预警', 'WRB-WARN-LEAK', 7.20, 0.00, 5.00, 0, 3, 44.00, '#56已转工单-WO-07 延期中', now(), now()),
|
|
|
+ ('wrb-alarm-08', 'CB-GS-202609160222', '漏失预警', 'WRB-WARN-LEAK', 6.10, 0.00, 6.00, 0, 4, 1.67, '#56待审核(WO-08 已取消,口径回落到报警事实);终态不占用唯一性名额', now(), now()),
|
|
|
+ ('wrb-alarm-09', 'TC-GS-202609160213', '压力预警', 'WRB-WARN-PRESSURE', 0.28, 0.40, 0.80, 0, 1, 30.00, '#56待审核-无工单,可直接转工单', now(), now()),
|
|
|
+ ('wrb-alarm-10', 'CN-GS-202609160214', '压力预警', 'WRB-WARN-PRESSURE', 0.22, 0.40, 0.80, 0, 3, 45.00, '#56待审核-无工单,可直接转工单', now(), now()),
|
|
|
+ ('wrb-alarm-11', 'TC-GS-202609160223', '漏失预警', 'WRB-WARN-LEAK', 9.40, 0.00, 5.00, 0, 2, 88.00, '#56待审核-无工单,可直接转工单', now(), now()),
|
|
|
+ ('wrb-alarm-12', 'CB-GS-202609160205', '流量预警', 'WRB-WARN-FLOW', 155.00, 8.00, 120.00, 0, 4, 29.17, '#56待审核-无工单,可直接转工单', now(), now()),
|
|
|
+ ('wrb-alarm-13', 'TC-GS-202609160206', '流量预警', 'WRB-WARN-FLOW', 112.00, 10.00, 100.00, 0, 2, 12.00, '#56待审核-设备无状态记录,报警状态走回退分支', now(), now()),
|
|
|
+ ('wrb-alarm-14', 'CB-GS-202609160215', '压力预警', 'WRB-WARN-PRESSURE', 0.20, 0.40, 0.80, 0, 4, 50.00, '#56已解除-误报(审核结论=2,不产生工单)', now(), now()),
|
|
|
+ ('wrb-alarm-15', 'CN-GS-202609160224', '漏失预警', 'WRB-WARN-LEAK', 8.10, 0.00, 5.00, 1, 1, 62.00, '#56已解除-报警记录已处理', now(), now()),
|
|
|
+ ('wrb-alarm-16', 'CN-GS-202609160201', '流量预警', 'WRB-WARN-FLOW', 124.00, 10.00, 100.00, 0, 2, 24.00, '#56待审核-同设备同类型已有 WO-01 未办结,转工单应被阻止', now(), now());
|
|
|
|
|
|
-- ------------------------------------------------------------
|
|
|
-- 10. 工单(0..7 各一张;device_id 必须是供水设备 equipment_id,否则审核计数条取不到)
|
|
|
@@ -370,7 +374,7 @@ VALUES
|
|
|
'#56测试工单-城北漏失已取消', 100, 1, now() - interval '6 days', NULL, 7, now() - interval '6 days', now(), now());
|
|
|
|
|
|
UPDATE app_user.alarm_data a
|
|
|
- SET order_id = w.order_id
|
|
|
+ SET work_order_id = w.order_id
|
|
|
FROM app_user.work_order w
|
|
|
WHERE (w.order_no = 'WRB-WO-01' AND a.id = 'wrb-alarm-01')
|
|
|
OR (w.order_no = 'WRB-WO-02' AND a.id = 'wrb-alarm-02')
|
|
|
@@ -382,7 +386,7 @@ UPDATE app_user.alarm_data a
|
|
|
OR (w.order_no = 'WRB-WO-08' AND a.id = 'wrb-alarm-08');
|
|
|
|
|
|
INSERT INTO app_user.work_order_log
|
|
|
- (order_id, oper_type, oper_desc, oper_user_id, oper_user_name, oper_time)
|
|
|
+ (work_order_id, oper_type, oper_desc, oper_user_id, oper_user_name, oper_time)
|
|
|
SELECT order_id, 0, '#56测试-报警审核转工单创建', 1, '调度管理员', now()
|
|
|
FROM app_user.work_order
|
|
|
WHERE order_no LIKE 'WRB-WO-%';
|
|
|
@@ -409,7 +413,7 @@ SELECT '运行监测-流量' AS item, count(*)::varchar AS value
|
|
|
FROM app_user.equipment_base e
|
|
|
WHERE e.equipment_type_id = (SELECT id FROM app_user.equipment_type WHERE id = 11 AND parent_id = 1 LIMIT 1)
|
|
|
AND (EXISTS (SELECT 1 FROM app_user.radar_data r WHERE r.device_code = e.equipment_code)
|
|
|
- OR EXISTS (SELECT 1 FROM app_user.telemetry_data t WHERE t.device_code = e.equipment_code))
|
|
|
+ OR EXISTS (SELECT 1 FROM app_user.telemetry_data t WHERE t.device_code = e.equipment_code));
|
|
|
UNION ALL
|
|
|
SELECT '运行监测-压力', count(DISTINCT e.equipment_code)::varchar
|
|
|
FROM app_user.equipment_base e
|
|
|
@@ -427,8 +431,8 @@ SELECT '报警-类型分布' AS item, string_agg(concat(warning_type, '=', cnt::
|
|
|
SELECT '报警-展示状态' AS item, string_agg(concat(display_status, '=', cnt::varchar), ' / ' ORDER BY display_status) AS value
|
|
|
FROM (
|
|
|
SELECT CASE
|
|
|
- WHEN a.order_id IS NOT NULL AND EXISTS (SELECT 1 FROM app_user.work_order w
|
|
|
- WHERE w.order_id = a.order_id AND w.order_status <> 7) THEN '已转工单'
|
|
|
+ WHEN a.work_order_id IS NOT NULL AND EXISTS (SELECT 1 FROM app_user.work_order w
|
|
|
+ WHERE w.order_id = a.work_order_id AND w.order_status <> 7) THEN '已转工单'
|
|
|
WHEN a.alarm_status = 1
|
|
|
OR EXISTS (SELECT 1 FROM app_user.alarm_audit au
|
|
|
WHERE au.alarm_id = a.id AND au.audit_result = 2) THEN '已解除'
|
|
|
@@ -459,7 +463,7 @@ SELECT '供水设备缺测量值' AS item, count(*)::varchar AS value
|
|
|
-- 清理脚本(如需移除本批测试数据,执行以下语句)
|
|
|
-- ------------------------------------------------------------
|
|
|
-- DELETE FROM app_user.alarm_audit WHERE alarm_id LIKE 'wrb-alarm-%';
|
|
|
--- DELETE FROM app_user.work_order_log WHERE order_id IN
|
|
|
+-- DELETE FROM app_user.work_order_log WHERE work_order_id IN
|
|
|
-- (SELECT order_id FROM app_user.work_order WHERE order_no LIKE 'WRB-WO-%');
|
|
|
-- DELETE FROM app_user.work_order WHERE order_no LIKE 'WRB-WO-%';
|
|
|
-- DELETE FROM app_user.alarm_data WHERE id LIKE 'wrb-alarm-%';
|