From e365cb0b5064a2d71eba6b492b589bd98b1b99f0 Mon Sep 17 00:00:00 2001 From: Dona Maria Absi <49731027+DonaAbsi@users.noreply.github.com> Date: Thu, 1 May 2025 14:54:27 +0300 Subject: [PATCH] params fixes --- ...t_monthly_space_energy_consumed_procedure.sql | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libs/common/src/sql/procedures/fact_space_energy_consumed/fact_monthly_space_energy_consumed_procedure.sql b/libs/common/src/sql/procedures/fact_space_energy_consumed/fact_monthly_space_energy_consumed_procedure.sql index 6349b12..4b5591f 100644 --- a/libs/common/src/sql/procedures/fact_space_energy_consumed/fact_monthly_space_energy_consumed_procedure.sql +++ b/libs/common/src/sql/procedures/fact_space_energy_consumed/fact_monthly_space_energy_consumed_procedure.sql @@ -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;