params fixes

This commit is contained in:
Dona Maria Absi
2025-05-01 14:54:27 +03:00
parent cc755e5640
commit e365cb0b50

View File

@ -1,22 +1,22 @@
WITH params AS (
SELECT
NULLIF($1, '')::uuid AS space_id,
TO_CHAR(TO_DATE(NULLIF($2, ''), 'DD-MM-YYYY'), 'MM-YYYY') AS start_month,
TO_CHAR(TO_DATE(NULLIF($3, ''), 'DD-MM-YYYY'), 'MM-YYYY') AS end_month
TO_DATE(NULLIF($2, ''), 'DD-MM-YYYY') AS start_date,
TO_DATE(NULLIF($3, ''), 'DD-MM-YYYY') AS end_date,
string_to_array(NULLIF($4, ''), ',') AS device_ids
)
SELECT
B.space_device_uuid AS space_id,
A.month,
TO_CHAR(A.date, 'MM-YYYY') AS month,
SUM(A.energy_consumed_kW::numeric) AS total_energy_consumed_KW,
SUM(A.energy_consumed_A::numeric) AS total_energy_consumed_A,
SUM(A.energy_consumed_B::numeric) AS total_energy_consumed_B,
SUM(A.energy_consumed_C::numeric) AS total_energy_consumed_C
FROM public."power-clamp-energy-consumed-monthly" AS A
FROM public."power-clamp-energy-consumed-daily" AS A
JOIN public.device AS B
ON A.device_uuid::TEXT = B."uuid"::TEXT
JOIN params P ON TRUE
WHERE B.space_device_uuid = P.space_id
AND (P.start_month IS NULL OR TO_DATE(A.month, 'MM-YYYY') >= TO_DATE(P.start_month, 'MM-YYYY'))
AND (P.end_month IS NULL OR TO_DATE(A.month, 'MM-YYYY') <= TO_DATE(P.end_month, 'MM-YYYY'))
WHERE B.device_id = ANY(P.device_ids)
AND (P.start_date IS NULL OR A.date >= P.start_date)
AND (P.end_date IS NULL OR A.date <= P.end_date)
GROUP BY 1, 2;