diff --git a/timeBasedReport.sql b/timeBasedReport.sql index e8b36a9..c4cd799 100644 --- a/timeBasedReport.sql +++ b/timeBasedReport.sql @@ -45,15 +45,14 @@ checks AS ( WHERE -- Только мониторимые хосты h.status = 0 + and h.host not like '%WiMAX' -- Исключаем оборудование, начинающееся на IRZ (любой регистр) - --AND UPPER(h.host) NOT LIKE 'IRZ%' + -- AND UPPER(h.host) NOT LIKE 'IRZ%' -- Период: май 2026 года (измените под свои даты) - --and hinv.notes = 'ОБЪЕКТ № 12' - --and hinv."name" = 'Видеокамера Trassir TR-D6254IR15' - --and hinv.notes = 'ОБЪЕКТ № 1' - --and hinv."name" = 'Детектор транспортных потоков CTfind DTM' + --and hinv.notes = 'ОБЪЕКТ № 29' 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) + --between 1 and 85 + in (1,2,4,5,8,9,11,12,14,24,25,27,28,29,30,31,32,34,35,36,38,40,41,42,43,44,45,46,48,49,50,51,53,54,55,57,58,60,62,63,64,65,66,67,68,69,70,76,77,81,82,84,85) --AND hx.clock >= EXTRACT(EPOCH FROM TIMESTAMP '2026-06-01 00:00:00') --AND hx.clock < EXTRACT(EPOCH FROM TIMESTAMP '2026-06-05 00:00:00') AND TO_TIMESTAMP(hx.clock) >= to_date(${start_dt}, 'yyyymmdd') - interval '1 day' @@ -135,6 +134,31 @@ grouped_intervals AS ( object_number, coordinates, interval_id +), + +-- 5_1. Определение маршрутизатора (заглушка) +router as +( + select + m.host_name, + m.visible_name, + m.equipment_type, + v.object_number, + v.coordinates, + v.object_num, + v.time_start, + v.time_end, + v.status + from grouped_intervals v + join + ( + select host_name, visible_name, object_number, equipment_type, date_trunc('day', time_start) as time_start_dt + from grouped_intervals + where equipment_type like 'Маршрутизатор%' + group by 1,2,3,4,5 + ) m on m.object_number = v.object_number + where v.equipment_type like 'Видеокамера%' + and time_start_dt = date_trunc('day', v.time_start) ) -- 6. Финальный вывод отчета @@ -150,6 +174,11 @@ SELECT WHEN status = 1 THEN 'доступно' ELSE 'недоступно' END AS "Статус" -FROM grouped_intervals +FROM +( + select * from grouped_intervals where equipment_type not like 'Маршрутизатор%' + union all + select * from router +) g ORDER BY 1 ; \ No newline at end of file