Обновить timeBasedReport.sql

This commit is contained in:
2026-06-29 15:40:10 +00:00
parent 3f9d03a9b6
commit b7d56e7b52
+5 -2
View File
@@ -1,5 +1,6 @@
-- =============================================================================
-- Отчет повременного учета работоспособности периферийного оборудования
-- Период: май 2026
-- Исключены устройства, начинающиеся на IRZ
-- Тип оборудования берется из инвентаризации Zabbix (поле type)
-- Координаты: широта + долгота из полей location_lat и location_lon
@@ -49,6 +50,8 @@ checks AS (
-- Период: май 2026 года (измените под свои даты)
--and hinv.notes = 'ОБЪЕКТ № 12'
--and hinv."name" = 'Видеокамера Trassir TR-D6254IR15'
--and hinv.notes = 'ОБЪЕКТ № 1'
--and hinv."name" = 'Детектор транспортных потоков CTfind DTM'
and CAST(nullif(regexp_replace(hinv.notes, 'ОБЪЕКТ №\s*', '', 'g'),'') as INTEGER)
between 1 and 85-- (44,77,43,54,27,48,12,49,65,9,60,35,38,1,51,41,53,84,8)
--AND hx.clock >= EXTRACT(EPOCH FROM TIMESTAMP '2026-06-01 00:00:00')
@@ -63,11 +66,11 @@ checks_with_prev AS (
SELECT
*,
LAG(status) OVER (PARTITION BY host_name ORDER BY ts) AS prev_status,
coalesce(lead(ts) OVER (PARTITION BY host_name ORDER BY ts), date_trunc('day', ts) + interval '1 day') AS next_ts
coalesce(lead(ts) OVER (PARTITION BY host_name ORDER BY ts), now()) AS next_ts
FROM checks
),
-- 3. Определяем моменты смены статуса (начало нового интервала)
--3. Определяем моменты смены статуса (начало нового интервала)
status_changes AS (
SELECT
host_name,