Обновить hardwareAvailabilityReport.sql
This commit is contained in:
@@ -36,6 +36,7 @@ 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 года (измените под свои даты)
|
||||||
@@ -122,6 +123,30 @@ grouped_intervals AS (
|
|||||||
object_number,
|
object_number,
|
||||||
coordinates,
|
coordinates,
|
||||||
interval_id
|
interval_id
|
||||||
|
),
|
||||||
|
|
||||||
|
-- Определение маршрутизатора (заглушка)
|
||||||
|
router as
|
||||||
|
(
|
||||||
|
select
|
||||||
|
m.host_name,
|
||||||
|
m.visible_name,
|
||||||
|
m.equipment_type,
|
||||||
|
v.object_number,
|
||||||
|
v.coordinates,
|
||||||
|
v.check_time,
|
||||||
|
v.next_check_time,
|
||||||
|
v.status
|
||||||
|
from grouped_intervals v
|
||||||
|
join
|
||||||
|
(
|
||||||
|
select host_name, visible_name, object_number, equipment_type, date_trunc('day', check_time) 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 m.time_start_dt = date_trunc('day', v.check_time)
|
||||||
),
|
),
|
||||||
|
|
||||||
daily_stats AS (
|
daily_stats AS (
|
||||||
@@ -144,7 +169,12 @@ daily_stats AS (
|
|||||||
sum(case when status = 1 then next_check_time - check_time else null end) AS available_hours,
|
sum(case when status = 1 then next_check_time - check_time else null end) AS available_hours,
|
||||||
sum(case when status = 0 then next_check_time - check_time else null end) AS unavailable_hours
|
sum(case when status = 0 then next_check_time - check_time else null end) AS unavailable_hours
|
||||||
--sum(next_check_time - check_time) AS all_hours
|
--sum(next_check_time - check_time) AS all_hours
|
||||||
FROM grouped_intervals
|
FROM
|
||||||
|
(
|
||||||
|
select * from grouped_intervals where equipment_type not like 'Маршрутизатор%'
|
||||||
|
union all
|
||||||
|
select * from router
|
||||||
|
) g
|
||||||
GROUP BY
|
GROUP BY
|
||||||
host_name,
|
host_name,
|
||||||
visible_name,
|
visible_name,
|
||||||
|
|||||||
Reference in New Issue
Block a user