From 65f83930d56290fc73846ca4c8626ac46e3cd7c6 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Sat, 13 Apr 2024 16:25:12 +0100 Subject: [PATCH] added is_override to storage of recommendation --- .../db/functions/recommendations_functions.py | 3 ++- .../app/db/models/non_intrusive_surveys.py | 24 +++++++++++++++++++ backend/app/db/models/recommendations.py | 1 + 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 backend/app/db/models/non_intrusive_surveys.py diff --git a/backend/app/db/functions/recommendations_functions.py b/backend/app/db/functions/recommendations_functions.py index 1426e339..43daec77 100644 --- a/backend/app/db/functions/recommendations_functions.py +++ b/backend/app/db/functions/recommendations_functions.py @@ -85,7 +85,8 @@ def upload_recommendations(session: Session, recommendations_to_upload, property "co2_equivalent_savings": rec["co2_equivalent_savings"], "total_work_hours": rec["labour_hours"], "energy_cost_savings": rec["energy_cost_savings"], - "labour_days": rec["labour_days"] + "labour_days": rec["labour_days"], + "is_override": rec["is_override"], } for rec in recommendations_to_upload ] diff --git a/backend/app/db/models/non_intrusive_surveys.py b/backend/app/db/models/non_intrusive_surveys.py new file mode 100644 index 00000000..c5f3734a --- /dev/null +++ b/backend/app/db/models/non_intrusive_surveys.py @@ -0,0 +1,24 @@ +from sqlalchemy import Column, BigInteger, String, Float, Boolean, TIMESTAMP, ForeignKey, Enum, Integer +from sqlalchemy.orm import declarative_base +from sqlalchemy.sql import func +from backend.app.db.models.portfolio import Portfolio, PropertyModel +from backend.app.db.models.materials import Material +from datatypes.enums import QuantityUnits + +Base = declarative_base() + + +class NonIntrusiveSurvey(Base): + __tablename__ = 'non_intrusive_survey' + + id = Column(BigInteger, primary_key=True, autoincrement=True) + uprn = Column(Integer, nullable=False) + survey_date = Column(TIMESTAMP, nullable=False) + surveyor = Column(String, nullable=False) + + +class NonIntrusiveSurveyNotes(Base): + id = Column(BigInteger, primary_key=True, autoincrement=True) + survey_id = Column(BigInteger, ForeignKey('non_intrusive_survey.id'), nullable=False) + title = Column(String, nullable=False) + note = Column(String, nullable=False) diff --git a/backend/app/db/models/recommendations.py b/backend/app/db/models/recommendations.py index a492f2f2..be5ff30c 100644 --- a/backend/app/db/models/recommendations.py +++ b/backend/app/db/models/recommendations.py @@ -30,6 +30,7 @@ class Recommendation(Base): rental_yield_increase = Column(Float) total_work_hours = Column(Float) labour_days = Column(Float) + is_override = Column(Boolean, nullable=False, default=False) class RecommendationMaterials(Base):