From 096915bf336b54c547cc80200cbe400abee31acc Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 30 Jul 2024 21:11:04 +0100 Subject: [PATCH] added missing fields to scenarios model --- .../app/db/functions/portfolio_functions.py | 1 + backend/app/db/models/recommendations.py | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/backend/app/db/functions/portfolio_functions.py b/backend/app/db/functions/portfolio_functions.py index ffdabfb6..ac340ab5 100644 --- a/backend/app/db/functions/portfolio_functions.py +++ b/backend/app/db/functions/portfolio_functions.py @@ -40,6 +40,7 @@ def aggregate_portfolio_recommendations( # Get the scenario and update the fields. This data needs to be stored against the scenario, not the portfolio portfolio_scenario = session.query(Scenario).filter_by(id=scenario_id).one() + # Update the data for key, value in aggregates_dict.items(): setattr(portfolio_scenario, key, value) diff --git a/backend/app/db/models/recommendations.py b/backend/app/db/models/recommendations.py index 6ccfe7f7..ed3f326e 100644 --- a/backend/app/db/models/recommendations.py +++ b/backend/app/db/models/recommendations.py @@ -85,3 +85,25 @@ class Scenario(Base): non_invasive_recommendations_file_path = Column(String) exclusions = Column(String) multi_plan = Column(Boolean, default=False) + + # Add in the fields we need, which were previously sitting at the portfolio level + cost = Column(Float) + total_work_hours = Column(Float) + energy_savings = Column(Float) + co2_equivalent_savings = Column(Float) + energy_cost_savings = Column(Float) + epc_breakdown_pre_retrofit = Column(String) + epc_breakdown_post_retrofit = Column(String) + number_of_properties = Column(BigInteger) + n_units_to_retrofit = Column(BigInteger) + co2_per_unit_pre_retrofit = Column(String) + co2_per_unit_post_retrofit = Column(String) + energy_bill_per_unit_pre_retrofit = Column(String) + energy_bill_per_unit_post_retrofit = Column(String) + energy_consumption_per_unit_pre_retrofit = Column(String) + energy_consumption_per_unit_post_retrofit = Column(String) + valuation_improvement_per_unit = Column(String) + cost_per_unit = Column(String) + cost_per_co2_saved = Column(String) + cost_per_sap_point = Column(String) + valuation_return_on_investment = Column(String)