Обновить timeBasedReport.sql
This commit is contained in:
+36
-7
@@ -45,15 +45,14 @@ checks AS (
|
|||||||
WHERE
|
WHERE
|
||||||
-- Только мониторимые хосты
|
-- Только мониторимые хосты
|
||||||
h.status = 0
|
h.status = 0
|
||||||
|
and h.host not like '%WiMAX'
|
||||||
-- Исключаем оборудование, начинающееся на IRZ (любой регистр)
|
-- Исключаем оборудование, начинающееся на IRZ (любой регистр)
|
||||||
--AND UPPER(h.host) NOT LIKE 'IRZ%'
|
-- AND UPPER(h.host) NOT LIKE 'IRZ%'
|
||||||
-- Период: май 2026 года (измените под свои даты)
|
-- Период: май 2026 года (измените под свои даты)
|
||||||
--and hinv.notes = 'ОБЪЕКТ № 12'
|
--and hinv.notes = 'ОБЪЕКТ № 29'
|
||||||
--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)
|
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-01 00:00:00')
|
||||||
--AND hx.clock < EXTRACT(EPOCH FROM TIMESTAMP '2026-06-05 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'
|
AND TO_TIMESTAMP(hx.clock) >= to_date(${start_dt}, 'yyyymmdd') - interval '1 day'
|
||||||
@@ -135,6 +134,31 @@ grouped_intervals AS (
|
|||||||
object_number,
|
object_number,
|
||||||
coordinates,
|
coordinates,
|
||||||
interval_id
|
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. Финальный вывод отчета
|
-- 6. Финальный вывод отчета
|
||||||
@@ -150,6 +174,11 @@ SELECT
|
|||||||
WHEN status = 1 THEN 'доступно'
|
WHEN status = 1 THEN 'доступно'
|
||||||
ELSE 'недоступно'
|
ELSE 'недоступно'
|
||||||
END AS "Статус"
|
END AS "Статус"
|
||||||
FROM grouped_intervals
|
FROM
|
||||||
|
(
|
||||||
|
select * from grouped_intervals where equipment_type not like 'Маршрутизатор%'
|
||||||
|
union all
|
||||||
|
select * from router
|
||||||
|
) g
|
||||||
ORDER BY 1
|
ORDER BY 1
|
||||||
;
|
;
|
||||||
Reference in New Issue
Block a user