diff --git a/libs/common/src/sql/procedures/fact_energy_consumed/fact_daily_energy_consumed_procedure.sql b/libs/common/src/sql/procedures/fact_device_energy_consumed/fact_daily_device_energy_consumed_procedure.sql similarity index 100% rename from libs/common/src/sql/procedures/fact_energy_consumed/fact_daily_energy_consumed_procedure.sql rename to libs/common/src/sql/procedures/fact_device_energy_consumed/fact_daily_device_energy_consumed_procedure.sql diff --git a/libs/common/src/sql/procedures/fact_energy_consumed/fact_hourly_energy_consumed_procedure.sql b/libs/common/src/sql/procedures/fact_device_energy_consumed/fact_hourly_device_energy_consumed_procedure.sql similarity index 100% rename from libs/common/src/sql/procedures/fact_energy_consumed/fact_hourly_energy_consumed_procedure.sql rename to libs/common/src/sql/procedures/fact_device_energy_consumed/fact_hourly_device_energy_consumed_procedure.sql diff --git a/libs/common/src/sql/procedures/fact_energy_consumed/fact_monthly_energy_consumed_procedure.sql b/libs/common/src/sql/procedures/fact_device_energy_consumed/fact_monthly_device_energy_consumed_procedure.sql similarity index 100% rename from libs/common/src/sql/procedures/fact_energy_consumed/fact_monthly_energy_consumed_procedure.sql rename to libs/common/src/sql/procedures/fact_device_energy_consumed/fact_monthly_device_energy_consumed_procedure.sql 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 new file mode 100644 index 0000000..b695fe2 --- /dev/null +++ b/libs/common/src/sql/procedures/fact_space_energy_consumed/fact_monthly_space_energy_consumed_procedure.sql @@ -0,0 +1,22 @@ +WITH params AS ( + SELECT + NULLIF($1, '')::uuid AS space_id, + NULLIF($2, '')::text AS start_month, -- Format: 'MM-YYYY' + NULLIF($3, '')::text AS end_month +) + +SELECT + B.space_device_uuid AS space_id, + A.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 +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')) +GROUP BY 1, 2; diff --git a/libs/common/src/sql/queries/fact_daily_energy_consumed/fact_daily_energy_consumed.sql b/libs/common/src/sql/queries/fact_daily_device_energy_consumed/fact_daily_device_energy_consumed.sql similarity index 100% rename from libs/common/src/sql/queries/fact_daily_energy_consumed/fact_daily_energy_consumed.sql rename to libs/common/src/sql/queries/fact_daily_device_energy_consumed/fact_daily_device_energy_consumed.sql diff --git a/libs/common/src/sql/queries/fact_daily_space_energy_consumed/fact_daily_space_energy_consumed.sql b/libs/common/src/sql/queries/fact_daily_space_energy_consumed/fact_daily_space_energy_consumed.sql new file mode 100644 index 0000000..d5a9910 --- /dev/null +++ b/libs/common/src/sql/queries/fact_daily_space_energy_consumed/fact_daily_space_energy_consumed.sql @@ -0,0 +1,11 @@ +SELECT + B.space_device_uuid AS space_id, + A."date", + 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-daily" AS A -- I want to change the source table in the future. +JOIN public.device AS B + ON A.device_uuid::TEXT = B."uuid"::TEXT +GROUP BY 1, 2; \ No newline at end of file diff --git a/libs/common/src/sql/queries/fact_hourly_active_energy/fact_hourly_active_energy.sql b/libs/common/src/sql/queries/fact_hourly_device_active_energy/fact_hourly_device_active_energy.sql similarity index 100% rename from libs/common/src/sql/queries/fact_hourly_active_energy/fact_hourly_active_energy.sql rename to libs/common/src/sql/queries/fact_hourly_device_active_energy/fact_hourly_device_active_energy.sql