minor fix

feature/reliability_stat
Cizz22 10 months ago
parent 4d165556ba
commit 8c4ec31b9c

@ -29,3 +29,7 @@ class OverhaulActivity(Base, DefaultMixin):
"OverhaulScope", "OverhaulScope",
lazy="raise", lazy="raise",
) )
overhaul_jobs = relationship(
"OverhaulJob", back_populates="overhaul_activity", lazy="raise"
)

@ -6,7 +6,7 @@ from pydantic import Field
from src.models import DefultBase, Pagination from src.models import DefultBase, Pagination
from src.scope_equipment.schema import MasterEquipmentRead from src.scope_equipment.schema import MasterEquipmentRead
from src.job.schema import ActivityMasterRead
class OverhaulActivityBase(DefultBase): class OverhaulActivityBase(DefultBase):
pass pass
@ -27,6 +27,13 @@ class OverhaulScope(DefultBase):
end_date: datetime end_date: datetime
duration_oh: int duration_oh: int
class ScopeEquipmentJob(DefultBase):
job: ActivityMasterRead
class OverhaulJob(DefultBase):
scope_equipment_job: ScopeEquipmentJob
class OverhaulActivityRead(OverhaulActivityBase): class OverhaulActivityRead(OverhaulActivityBase):
id: UUID id: UUID
material_cost: Optional[float] = Field(0) material_cost: Optional[float] = Field(0)
@ -35,6 +42,7 @@ class OverhaulActivityRead(OverhaulActivityBase):
status: str status: str
equipment: MasterEquipmentRead equipment: MasterEquipmentRead
overhaul_scope: OverhaulScope overhaul_scope: OverhaulScope
overhaul_jobs: Optional[List[OverhaulJob]] = Field([])
class OverhaulActivityPagination(Pagination): class OverhaulActivityPagination(Pagination):

@ -14,6 +14,9 @@ from src.overhaul_activity.utils import get_material_cost, get_service_cost
from src.overhaul_scope.model import OverhaulScope from src.overhaul_scope.model import OverhaulScope
from src.overhaul_scope.service import get as get_session from src.overhaul_scope.service import get as get_session
from src.scope_equipment.model import MasterEquipment from src.scope_equipment.model import MasterEquipment
from src.job.model import MasterActivity
from src.scope_equipment_job.model import ScopeEquipmentJob
from src.overhaul_job.model import OverhaulJob
from .model import OverhaulActivity from .model import OverhaulActivity
from .schema import (OverhaulActivityCreate, OverhaulActivityRead, from .schema import (OverhaulActivityCreate, OverhaulActivityRead,
@ -50,6 +53,7 @@ async def get_all(
.where(OverhaulActivity.overhaul_scope_id == overhaul_session_id) .where(OverhaulActivity.overhaul_scope_id == overhaul_session_id)
.options(joinedload(OverhaulActivity.equipment).options(joinedload(MasterEquipment.parent).options(joinedload(MasterEquipment.parent)))) .options(joinedload(OverhaulActivity.equipment).options(joinedload(MasterEquipment.parent).options(joinedload(MasterEquipment.parent))))
.options(selectinload(OverhaulActivity.overhaul_scope)) .options(selectinload(OverhaulActivity.overhaul_scope))
.options(selectinload(OverhaulActivity.overhaul_jobs).options(joinedload(OverhaulJob.scope_equipment_job).options(joinedload(ScopeEquipmentJob.job))))
) )
if assetnum: if assetnum:
@ -73,7 +77,7 @@ async def get_all_by_session_id(*, db_session: DbSession, overhaul_session_id):
query = ( query = (
Select(OverhaulActivity) Select(OverhaulActivity)
.where(OverhaulActivity.overhaul_scope_id == overhaul_session_id) .where(OverhaulActivity.overhaul_scope_id == overhaul_session_id)
.options(joinedload(OverhaulActivity.equipment).options(MasterEquipment.parent).options(MasterEquipment.parent)) .options(joinedload(OverhaulActivity.equipment).options(joinedload(MasterEquipment.parent).options(joinedload(MasterEquipment.parent))))
.options(selectinload(OverhaulActivity.overhaul_scope)) .options(selectinload(OverhaulActivity.overhaul_scope))
) )

@ -26,4 +26,4 @@ class OverhaulJob(Base, DefaultMixin):
"ScopeEquipmentJob", lazy="raise", back_populates="overhaul_jobs" "ScopeEquipmentJob", lazy="raise", back_populates="overhaul_jobs"
) )
overhaul_activity = relationship("OverhaulActivity", lazy="raise") overhaul_activity = relationship("OverhaulActivity", lazy="raise", back_populates="overhaul_jobs")

Loading…
Cancel
Save