alcehmy and event functions updated
This commit is contained in:
@@ -26,7 +26,6 @@ from sqlalchemy import (
|
||||
Text,
|
||||
Numeric,
|
||||
Integer,
|
||||
Identity,
|
||||
)
|
||||
from sqlalchemy.orm import mapped_column, Mapped, relationship
|
||||
|
||||
@@ -406,15 +405,17 @@ class BuildDecisionBookPerson(CrudCollection):
|
||||
if person_occupants := BuildDecisionBookPersonOccupants.find_or_create(
|
||||
**book_dict
|
||||
):
|
||||
decision_book = BuildDecisionBook.find_one(
|
||||
id=self.build_decision_book_id, active=True, is_confirmed=True
|
||||
)
|
||||
decision_book = BuildDecisionBook.filter_one(
|
||||
BuildDecisionBook.id==self.build_decision_book_id,
|
||||
BuildDecisionBook.active==True,
|
||||
BuildDecisionBook.is_confirmed==True
|
||||
).data
|
||||
person_occupants.update(
|
||||
expiry_starts=decision_book.expiry_starts,
|
||||
expiry_ends=decision_book.expiry_ends,
|
||||
)
|
||||
if not person_occupants.is_found and build_living_space_id:
|
||||
related_service = Services.find_one(
|
||||
if build_living_space_id:
|
||||
related_service = Services.filter_by_one(
|
||||
related_responsibility=str(occupant_type.occupant_code),
|
||||
active=True,
|
||||
is_confirmed=True,
|
||||
@@ -425,9 +426,11 @@ class BuildDecisionBookPerson(CrudCollection):
|
||||
detail=f"Service is not found for {occupant_type.occupant_code}",
|
||||
)
|
||||
|
||||
decision_build = Build.find_one(
|
||||
id=decision_book.build_id, active=True, is_confirmed=True
|
||||
)
|
||||
decision_build = Build.filter_one(
|
||||
Build.id==decision_book.build_id,
|
||||
Build.active==True,
|
||||
Build.is_confirmed==True
|
||||
).data
|
||||
management_room = decision_build.management_room
|
||||
if not management_room:
|
||||
raise HTTPException(
|
||||
@@ -435,8 +438,16 @@ class BuildDecisionBookPerson(CrudCollection):
|
||||
detail=f"Management Room is not found in {decision_build.build_name}",
|
||||
)
|
||||
|
||||
living_space = BuildLivingSpace.find_one(
|
||||
id=build_living_space_id, active=True, is_confirmed=True
|
||||
living_space = BuildLivingSpace.filter_one(
|
||||
BuildLivingSpace.id==build_living_space_id,
|
||||
BuildLivingSpace.active==True,
|
||||
BuildLivingSpace.is_confirmed==True
|
||||
).data
|
||||
expiry_ends = str(
|
||||
system_arrow.get(decision_book.meeting_date).shift(hours=23)
|
||||
)
|
||||
expiry_starts = str(
|
||||
system_arrow.get(decision_book.meeting_date)
|
||||
)
|
||||
related_living_space = BuildLivingSpace.find_or_create(
|
||||
build_parts_id=management_room.id,
|
||||
@@ -445,40 +456,36 @@ class BuildDecisionBookPerson(CrudCollection):
|
||||
occupant_type_uu_id=str(occupant_type.uu_id),
|
||||
person_id=living_space.person_id,
|
||||
person_uu_id=str(living_space.person_uu_id),
|
||||
expiry_starts=system_arrow.get(
|
||||
decision_book.meeting_date
|
||||
).__str__(),
|
||||
expiry_ends=system_arrow.get(decision_book.meeting_date)
|
||||
.shift(hours=23)
|
||||
.__str__(),
|
||||
expiry_starts=expiry_starts,
|
||||
expiry_ends=expiry_ends,
|
||||
is_confirmed=True,
|
||||
active=True,
|
||||
)
|
||||
expires_at = str(
|
||||
system_arrow.get(decision_book.meeting_date).shift(days=15)
|
||||
)
|
||||
ServiceBindOccupantEventMethods.bind_services_occupant_system(
|
||||
build_living_space_id=related_living_space.id,
|
||||
service_id=related_service.id,
|
||||
expires_at=str(
|
||||
system_arrow.get(decision_book.meeting_date).shift(days=15)
|
||||
),
|
||||
expires_at=expires_at,
|
||||
)
|
||||
return person_occupants
|
||||
return
|
||||
|
||||
def get_occupant_types(self):
|
||||
if occupants := BuildDecisionBookPersonOccupants.filter_active(
|
||||
if occupants := BuildDecisionBookPersonOccupants.filter_all(
|
||||
BuildDecisionBookPersonOccupants.build_decision_book_person_id == self.id,
|
||||
filter_records=False,
|
||||
):
|
||||
return occupants.data
|
||||
return
|
||||
|
||||
def check_occupant_type(self, occupant_type):
|
||||
book_person_occupant_type = BuildDecisionBookPersonOccupants.find_one(
|
||||
build_decision_book_person_id=self.id,
|
||||
occupant_type_id=occupant_type.id,
|
||||
active=True,
|
||||
is_confirmed=True,
|
||||
)
|
||||
book_person_occupant_type = BuildDecisionBookPersonOccupants.filter_one(
|
||||
BuildDecisionBookPersonOccupants.build_decision_book_person_id==self.id,
|
||||
BuildDecisionBookPersonOccupants.occupant_type_id==occupant_type.id,
|
||||
BuildDecisionBookPersonOccupants.active==True,
|
||||
BuildDecisionBookPersonOccupants.is_confirmed==True,
|
||||
).data
|
||||
if not book_person_occupant_type:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
@@ -839,9 +846,7 @@ class BuildDecisionBookPayments(CrudCollection):
|
||||
String, nullable=True, comment="Build Part UUID"
|
||||
)
|
||||
|
||||
budget_records_id: Mapped[int] = mapped_column(
|
||||
ForeignKey("account_records.id")
|
||||
)
|
||||
budget_records_id: Mapped[int] = mapped_column(ForeignKey("account_records.id"))
|
||||
budget_records_uu_id: Mapped[str] = mapped_column(
|
||||
String, nullable=True, comment="Budget UUID"
|
||||
)
|
||||
@@ -936,9 +941,7 @@ class BuildDecisionBookLegal(CrudCollection):
|
||||
ForeignKey("people.id"), nullable=False
|
||||
)
|
||||
resp_attorney_uu_id = mapped_column(String, nullable=True, comment="Attorney UUID")
|
||||
resp_attorney_company_id: Mapped[int] = mapped_column(
|
||||
ForeignKey("companies.id")
|
||||
)
|
||||
resp_attorney_company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"))
|
||||
resp_attorney_company_uu_id = mapped_column(
|
||||
String, nullable=True, comment="Company UUID"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user