From 259615ed089c229feec1d836d02927576a83856c Mon Sep 17 00:00:00 2001 From: nengyuanzhang <13011132526@163.com> Date: Sat, 13 Apr 2024 13:58:22 +0100 Subject: [PATCH] added energy plan reports in myems-api --- CHANGELOG.md | 2 +- myems-api/reports/combinedequipmentplan.py | 60 +++++++++++----------- myems-api/reports/equipmentplan.py | 40 +++++++-------- myems-api/reports/meterplan.py | 32 ++++++------ myems-api/reports/offlinemeterdaily.py | 4 +- myems-api/reports/offlinemeterplan.py | 32 ++++++------ myems-api/reports/shopfloorplan.py | 40 +++++++-------- myems-api/reports/storeplan.py | 40 +++++++-------- myems-api/reports/tenantplan.py | 40 +++++++-------- myems-api/reports/virtualmeterplan.py | 32 ++++++------ 10 files changed, 162 insertions(+), 160 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68157547..9eeb362d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - added myems energy plan database - added cardsummary to fdd fault in myems-web - added bind energy storage power station to space in myems-admin -- added space energy plan report in myems-api +- added energy plan reports in myems-api ### Changed - changed map marker in myems-web - updated popup style of mapbox in myems-web diff --git a/myems-api/reports/combinedequipmentplan.py b/myems-api/reports/combinedequipmentplan.py index 7db68fc4..904a10a8 100644 --- a/myems-api/reports/combinedequipmentplan.py +++ b/myems-api/reports/combinedequipmentplan.py @@ -339,16 +339,16 @@ class Reporting: base[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query base period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_combined_equipment_input_category_hourly " - " WHERE combined_equipment_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (combined_equipment['id'], - energy_category_id, - base_start_datetime_utc, - base_end_datetime_utc)) + " FROM tbl_combined_equipment_input_category_hourly " + " WHERE combined_equipment_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (combined_equipment['id'], + energy_category_id, + base_start_datetime_utc, + base_end_datetime_utc)) rows_combined_equipment_hourly = cursor_energy_plan.fetchall() rows_combined_equipment_periodically = \ @@ -458,16 +458,16 @@ class Reporting: reporting[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query reporting period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_combined_equipment_input_category_hourly " - " WHERE combined_equipment_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (combined_equipment['id'], - energy_category_id, - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_combined_equipment_input_category_hourly " + " WHERE combined_equipment_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (combined_equipment['id'], + energy_category_id, + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_combined_equipment_hourly = cursor_energy_plan.fetchall() rows_combined_equipment_periodically = \ @@ -664,16 +664,16 @@ class Reporting: associated_equipment['name']) cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_equipment_input_category_hourly " - " WHERE equipment_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (associated_equipment['id'], - energy_category_id, - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_equipment_input_category_hourly " + " WHERE equipment_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (associated_equipment['id'], + energy_category_id, + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_associated_equipment_hourly = cursor_energy_plan.fetchall() rows_associated_equipment_periodically = \ diff --git a/myems-api/reports/equipmentplan.py b/myems-api/reports/equipmentplan.py index ae7be686..00cbab87 100644 --- a/myems-api/reports/equipmentplan.py +++ b/myems-api/reports/equipmentplan.py @@ -322,16 +322,16 @@ class Reporting: base[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query base period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_equipment_input_category_hourly " - " WHERE equipment_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (equipment['id'], - energy_category_id, - base_start_datetime_utc, - base_end_datetime_utc)) + " FROM tbl_equipment_input_category_hourly " + " WHERE equipment_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (equipment['id'], + energy_category_id, + base_start_datetime_utc, + base_end_datetime_utc)) rows_equipment_hourly = cursor_energy_plan.fetchall() rows_equipment_periodically = utilities.aggregate_hourly_data_by_period(rows_equipment_hourly, @@ -439,16 +439,16 @@ class Reporting: reporting[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query reporting period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_equipment_input_category_hourly " - " WHERE equipment_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (equipment['id'], - energy_category_id, - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_equipment_input_category_hourly " + " WHERE equipment_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (equipment['id'], + energy_category_id, + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_equipment_hourly = cursor_energy_plan.fetchall() rows_equipment_periodically = utilities.aggregate_hourly_data_by_period(rows_equipment_hourly, diff --git a/myems-api/reports/meterplan.py b/myems-api/reports/meterplan.py index 16314f11..8cdbdb64 100644 --- a/myems-api/reports/meterplan.py +++ b/myems-api/reports/meterplan.py @@ -256,14 +256,14 @@ class Reporting: # query base period plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_meter_hourly " - " WHERE meter_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (meter['id'], - base_start_datetime_utc, - base_end_datetime_utc)) + " FROM tbl_meter_hourly " + " WHERE meter_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (meter['id'], + base_start_datetime_utc, + base_end_datetime_utc)) rows_meter_hourly = cursor_energy_plan.fetchall() rows_meter_periodically = utilities.aggregate_hourly_data_by_period(rows_meter_hourly, @@ -356,14 +356,14 @@ class Reporting: # query reporting period plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_meter_hourly " - " WHERE meter_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (meter['id'], - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_meter_hourly " + " WHERE meter_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (meter['id'], + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_meter_hourly = cursor_energy_plan.fetchall() rows_meter_periodically = utilities.aggregate_hourly_data_by_period(rows_meter_hourly, diff --git a/myems-api/reports/offlinemeterdaily.py b/myems-api/reports/offlinemeterdaily.py index 1ebc6d46..c585058a 100644 --- a/myems-api/reports/offlinemeterdaily.py +++ b/myems-api/reports/offlinemeterdaily.py @@ -45,7 +45,9 @@ class Reporting: # Step 1: valid parameters ################################################################################################################ if offline_meter_id is None and offline_meter_uuid is None: - raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_OFFLINE_METER_ID') + raise falcon.HTTPError(status=falcon.HTTP_400, + title='API.BAD_REQUEST', + description='API.INVALID_OFFLINE_METER_ID') if offline_meter_id is not None: offline_meter_id = str.strip(offline_meter_id) diff --git a/myems-api/reports/offlinemeterplan.py b/myems-api/reports/offlinemeterplan.py index 77ac368b..a6f337a5 100644 --- a/myems-api/reports/offlinemeterplan.py +++ b/myems-api/reports/offlinemeterplan.py @@ -229,14 +229,14 @@ class Reporting: # query base period plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_offline_meter_hourly " - " WHERE offline_meter_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (offline_meter['id'], - base_start_datetime_utc, - base_end_datetime_utc)) + " FROM tbl_offline_meter_hourly " + " WHERE offline_meter_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (offline_meter['id'], + base_start_datetime_utc, + base_end_datetime_utc)) rows_offline_meter_hourly = cursor_energy_plan.fetchall() rows_offline_meter_periodically = \ @@ -334,14 +334,14 @@ class Reporting: reporting['total_in_kgco2e_saving'] = Decimal(0.0) # query reporting period plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_offline_meter_hourly " - " WHERE offline_meter_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (offline_meter['id'], - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_offline_meter_hourly " + " WHERE offline_meter_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (offline_meter['id'], + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_offline_meter_hourly = cursor_energy_plan.fetchall() rows_offline_meter_periodically = utilities.aggregate_hourly_data_by_period(rows_offline_meter_hourly, diff --git a/myems-api/reports/shopfloorplan.py b/myems-api/reports/shopfloorplan.py index 5eb3ee39..89ae44f0 100644 --- a/myems-api/reports/shopfloorplan.py +++ b/myems-api/reports/shopfloorplan.py @@ -337,16 +337,16 @@ class Reporting: base[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query base period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_shopfloor_input_category_hourly " - " WHERE shopfloor_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (shopfloor['id'], - energy_category_id, - base_start_datetime_utc, - base_end_datetime_utc)) + " FROM tbl_shopfloor_input_category_hourly " + " WHERE shopfloor_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (shopfloor['id'], + energy_category_id, + base_start_datetime_utc, + base_end_datetime_utc)) rows_shopfloor_hourly = cursor_energy_plan.fetchall() rows_shopfloor_periodically = utilities.aggregate_hourly_data_by_period(rows_shopfloor_hourly, @@ -454,16 +454,16 @@ class Reporting: reporting[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query reporting period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_shopfloor_input_category_hourly " - " WHERE shopfloor_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (shopfloor['id'], - energy_category_id, - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_shopfloor_input_category_hourly " + " WHERE shopfloor_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (shopfloor['id'], + energy_category_id, + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_shopfloor_hourly = cursor_energy_plan.fetchall() rows_shopfloor_periodically = utilities.aggregate_hourly_data_by_period(rows_shopfloor_hourly, diff --git a/myems-api/reports/storeplan.py b/myems-api/reports/storeplan.py index 30bb1b6a..c96efc04 100644 --- a/myems-api/reports/storeplan.py +++ b/myems-api/reports/storeplan.py @@ -337,16 +337,16 @@ class Reporting: base[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query base period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_store_input_category_hourly " - " WHERE store_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (store['id'], - energy_category_id, - base_start_datetime_utc, - base_end_datetime_utc)) + " FROM tbl_store_input_category_hourly " + " WHERE store_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (store['id'], + energy_category_id, + base_start_datetime_utc, + base_end_datetime_utc)) rows_store_hourly = cursor_energy_plan.fetchall() rows_store_periodically = utilities.aggregate_hourly_data_by_period(rows_store_hourly, @@ -452,16 +452,16 @@ class Reporting: reporting[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query reporting period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_store_input_category_hourly " - " WHERE store_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (store['id'], - energy_category_id, - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_store_input_category_hourly " + " WHERE store_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (store['id'], + energy_category_id, + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_store_hourly = cursor_energy_plan.fetchall() rows_store_periodically = utilities.aggregate_hourly_data_by_period(rows_store_hourly, diff --git a/myems-api/reports/tenantplan.py b/myems-api/reports/tenantplan.py index ede85714..3a61cfd6 100644 --- a/myems-api/reports/tenantplan.py +++ b/myems-api/reports/tenantplan.py @@ -338,16 +338,16 @@ class Reporting: base[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query base period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_tenant_input_category_hourly " - " WHERE tenant_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (tenant['id'], - energy_category_id, - base_start_datetime_utc, - base_end_datetime_utc)) + " FROM tbl_tenant_input_category_hourly " + " WHERE tenant_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (tenant['id'], + energy_category_id, + base_start_datetime_utc, + base_end_datetime_utc)) rows_tenant_hourly = cursor_energy_plan.fetchall() rows_tenant_periodically = utilities.aggregate_hourly_data_by_period(rows_tenant_hourly, @@ -453,16 +453,16 @@ class Reporting: reporting[energy_category_id]['subtotal_in_kgco2e_saving'] = Decimal(0.0) # query reporting period's energy plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_tenant_input_category_hourly " - " WHERE tenant_id = %s " - " AND energy_category_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (tenant['id'], - energy_category_id, - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_tenant_input_category_hourly " + " WHERE tenant_id = %s " + " AND energy_category_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (tenant['id'], + energy_category_id, + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_tenant_hourly = cursor_energy_plan.fetchall() rows_tenant_periodically = utilities.aggregate_hourly_data_by_period(rows_tenant_hourly, diff --git a/myems-api/reports/virtualmeterplan.py b/myems-api/reports/virtualmeterplan.py index 54432a71..af0ce89d 100644 --- a/myems-api/reports/virtualmeterplan.py +++ b/myems-api/reports/virtualmeterplan.py @@ -229,14 +229,14 @@ class Reporting: # query base period plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_virtual_meter_hourly " - " WHERE virtual_meter_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (virtual_meter['id'], - base_start_datetime_utc, - base_end_datetime_utc)) + " FROM tbl_virtual_meter_hourly " + " WHERE virtual_meter_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (virtual_meter['id'], + base_start_datetime_utc, + base_end_datetime_utc)) rows_virtual_meter_hourly = cursor_energy_plan.fetchall() rows_virtual_meter_periodically = \ @@ -334,14 +334,14 @@ class Reporting: reporting['total_in_kgco2e_saving'] = Decimal(0.0) # query reporting period plan cursor_energy_plan.execute(" SELECT start_datetime_utc, actual_value " - " FROM tbl_virtual_meter_hourly " - " WHERE virtual_meter_id = %s " - " AND start_datetime_utc >= %s " - " AND start_datetime_utc < %s " - " ORDER BY start_datetime_utc ", - (virtual_meter['id'], - reporting_start_datetime_utc, - reporting_end_datetime_utc)) + " FROM tbl_virtual_meter_hourly " + " WHERE virtual_meter_id = %s " + " AND start_datetime_utc >= %s " + " AND start_datetime_utc < %s " + " ORDER BY start_datetime_utc ", + (virtual_meter['id'], + reporting_start_datetime_utc, + reporting_end_datetime_utc)) rows_virtual_meter_hourly = cursor_energy_plan.fetchall() rows_virtual_meter_periodically = utilities.aggregate_hourly_data_by_period(rows_virtual_meter_hourly, -- GitLab