From a371d5d6e34035443ea51f5b65e9d41994510bf6 Mon Sep 17 00:00:00 2001 From: berkay Date: Mon, 25 Nov 2024 11:29:44 +0300 Subject: [PATCH] build managment added --- .../events/building/building_living_spaces.py | 1 - databases/sql_models/building/build.py | 62 ++++++++++++++++--- .../sql_models/building/decision_book.py | 6 ++ docker-compose.yml | 4 +- .../initialize_default_department.py | 32 ++++++++++ 5 files changed, 92 insertions(+), 13 deletions(-) diff --git a/api_events/events/building/building_living_spaces.py b/api_events/events/building/building_living_spaces.py index 5275298..bbe5c33 100644 --- a/api_events/events/building/building_living_spaces.py +++ b/api_events/events/building/building_living_spaces.py @@ -175,7 +175,6 @@ class BuildingLivingSpacesPartsCreateEventMethods(MethodToEvent): created_living_space = BuildLivingSpace.create_action( data=data_dict, token_dict=token_dict ) - if last_living_space: dt = system_arrow.get(last_living_space.expiry_ends) if dt > system_arrow.now(): diff --git a/databases/sql_models/building/build.py b/databases/sql_models/building/build.py index 0af1f7a..2dd58c5 100644 --- a/databases/sql_models/building/build.py +++ b/databases/sql_models/building/build.py @@ -513,16 +513,6 @@ class BuildLivingSpace(CrudCollection): marketing_process: Mapped[bool] = mapped_column(Boolean, server_default="False") marketing_layer: Mapped[int] = mapped_column(SmallInteger, server_default="0") - discounted_percentage: Mapped[float] = mapped_column( - Numeric(6, 2), server_default="0.00" - ) # %22 - discounted_price: Mapped[float] = mapped_column( - Numeric(20, 2), server_default="0.00" - ) # Normal: 78.00 TL - calculated_price: Mapped[float] = mapped_column( - Numeric(20, 2), server_default="0.00" - ) # sana düz 75.00 TL yapar - build_parts_id: Mapped[int] = mapped_column( ForeignKey("build_parts.id"), nullable=False, @@ -608,6 +598,58 @@ class BuildLivingSpace(CrudCollection): return living_spaces.data, living_spaces.count +class BuildManagement(CrudCollection): + + __tablename__ = "build_management" + __exclude__fields__ = [] + + discounted_percentage: Mapped[float] = mapped_column( + Numeric(6, 2), server_default="0.00" + ) # %22 + discounted_price: Mapped[float] = mapped_column( + Numeric(20, 2), server_default="0.00" + ) # Normal: 78.00 TL + calculated_price: Mapped[float] = mapped_column( + Numeric(20, 2), server_default="0.00" + ) # sana düz 75.00 TL yapar + + occupant_type: Mapped[int] = mapped_column( + ForeignKey("occupant_types.id"), + nullable=False, + comment="Occupant Type", + ) + occupant_type_uu_id: Mapped[str] = mapped_column( + String, nullable=False, comment="Occupant Type UUID" + ) + build_id: Mapped[int] = mapped_column( + ForeignKey("build.id"), nullable=False, comment="Building ID" + ) + build_uu_id: Mapped[str] = mapped_column( + String, nullable=False, comment="Building UUID" + ) + build_parts_id: Mapped[int] = mapped_column( + ForeignKey("build_parts.id"), + nullable=False, + index=True, + comment="Build Part ID", + ) + build_parts_uu_id: Mapped[str] = mapped_column( + String, nullable=False, comment="Build Part UUID" + ) + + __table_args__ = ( + Index( + "build_management_ndx_00", + build_parts_id, + occupant_type, + "expiry_starts", + unique=True, + ), + {"comment": "Management of the building parts that are related to people"}, + ) + + + class BuildArea(CrudCollection): """ Builds class based on declarative_base and BaseMixin via session diff --git a/databases/sql_models/building/decision_book.py b/databases/sql_models/building/decision_book.py index 92b4c9f..8cc5373 100644 --- a/databases/sql_models/building/decision_book.py +++ b/databases/sql_models/building/decision_book.py @@ -589,6 +589,9 @@ class BuildDecisionBookItems(CrudCollection): build_decision_book_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Decision Book UUID" ) + item_short_comment: Mapped[str] = mapped_column( + String(24), nullable=True, comment="This field is reserved for use in grouping data or in the pivot heading." + ) decision_books: Mapped["BuildDecisionBook"] = relationship( "BuildDecisionBook", @@ -1228,6 +1231,9 @@ class BuildDecisionBookProjectItems(CrudCollection): item_estimated_cost: Mapped[float] = mapped_column( Numeric(16, 2), server_default="0", comment="Estimated Cost" ) + item_short_comment: Mapped[str] = mapped_column( + String(24), nullable=True, comment="This field is reserved for use in grouping data or in the pivot heading." + ) build_decision_book_project_id: Mapped[int] = mapped_column( ForeignKey("build_decision_book_projects.id"), nullable=False diff --git a/docker-compose.yml b/docker-compose.yml index 7c40653..d3e47af 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,8 +2,8 @@ services: commercial_mongo_service: container_name: commercial_mongo_service - image: "bitnami/mongodb:latest" -# image: "bitnami/mongodb:4.4.1-debian-10-r3" +# image: "bitnami/mongodb:latest" + image: "bitnami/mongodb:4.4.1-debian-10-r3" networks: - network_store_services environment: diff --git a/service_app_init/initialize_app/initialize_default_department.py b/service_app_init/initialize_app/initialize_default_department.py index 50e5a60..2bdd570 100644 --- a/service_app_init/initialize_app/initialize_default_department.py +++ b/service_app_init/initialize_app/initialize_default_department.py @@ -177,6 +177,38 @@ def create_occupant_types_defaults(): "occupant_category_type": "PRJ", "occupant_is_unique": False, }, + { + "occupant_type": "Daire Mülkiyet Vekili", + "occupant_description": "Daire Mülkiyet Vekili", + "occupant_code": "FL-DEP", # deputy + "occupant_category": "Daire", + "occupant_category_type": "FL", + "occupant_is_unique": False, + }, + { + "occupant_type": "Bina Teknik Sorumlusu", + "occupant_description": "Bina Teknik Sorumlusu", + "occupant_code": "BU-TEC", + "occupant_category": "Bina", + "occupant_category_type": "BU", + "occupant_is_unique": False, + }, + { + "occupant_type": "Bina Teknik Elemanı", + "occupant_description": "Bina Teknik Elemanı", + "occupant_code": "BU-EMP", + "occupant_category": "Bina", + "occupant_category_type": "BU", + "occupant_is_unique": False, + }, + { + "occupant_type": "Bina Teknik Freelancer", + "occupant_description": "Bina Teknik Freelancer", + "occupant_code": "BU-FLC", + "occupant_category": "Bina", + "occupant_category_type": "BU", + "occupant_is_unique": False, + }, ] for list_occupant_type in list_occupant_types: try: