From 70913894c0b43ba8adc1d83a83a48f9874dab18a Mon Sep 17 00:00:00 2001 From: Cizz22 Date: Mon, 10 Feb 2025 13:23:47 +0700 Subject: [PATCH] add tutorial to OH calculation --- src/calculation_time_constrains/flows.py | 1 + src/calculation_time_constrains/router.py | 3 ++- src/calculation_time_constrains/schema.py | 6 +++--- src/calculation_time_constrains/service.py | 4 +++- src/job/model.py | 8 +------- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/calculation_time_constrains/flows.py b/src/calculation_time_constrains/flows.py index e8762e6..7f97fcc 100644 --- a/src/calculation_time_constrains/flows.py +++ b/src/calculation_time_constrains/flows.py @@ -83,6 +83,7 @@ async def create_calculation(*, db_session: DbSession, calculation_time_constrai results = await create_calculation_result_service(db_session=db_session, calculation=calculation_data) + return results diff --git a/src/calculation_time_constrains/router.py b/src/calculation_time_constrains/router.py index e587fba..198fa6b 100644 --- a/src/calculation_time_constrains/router.py +++ b/src/calculation_time_constrains/router.py @@ -27,7 +27,7 @@ from .service import bulk_update_equipment router = APIRouter() -@router.post("", response_model=StandardResponse[CalculationTimeConstrainsRead]) +@router.post("", response_model=StandardResponse[Union[str, CalculationTimeConstrainsRead]]) async def create_calculation_time_constrains(db_session: DbSession, current_user: CurrentUser, calculation_time_constrains_in: CalculationTimeConstrainsParametersCreate, scope_calculation_id: Optional[str] = Query(None), with_results: Optional[int] = Query(0)): """Save calculation time constrains Here""" @@ -36,6 +36,7 @@ async def create_calculation_time_constrains(db_session: DbSession, current_user else: results = await create_calculation(db_session=db_session, calculation_time_constrains_in=calculation_time_constrains_in, created_by=current_user.name) + if not with_results: results = str(results.id) diff --git a/src/calculation_time_constrains/schema.py b/src/calculation_time_constrains/schema.py index 40f66b8..ba0145e 100644 --- a/src/calculation_time_constrains/schema.py +++ b/src/calculation_time_constrains/schema.py @@ -72,10 +72,10 @@ class EquipmentResult(CalculationTimeConstrainsBase): service_cost: float optimum_day: int # Added optimum result for each equipment is_included: bool - master_equipment: MasterEquipmentBase + master_equipment: Optional[MasterEquipmentBase] = Field(None) class CalculationTimeConstrainsRead(CalculationTimeConstrainsBase): - id: Union[UUID, str] + id: UUID reference: UUID scope: str results: List[CalculationResultsRead] @@ -93,4 +93,4 @@ class CalculationTimeConstrainsSimulationRead(CalculationTimeConstrainsBase): class CalculationSelectedEquipmentUpdate(CalculationTimeConstrainsBase): is_included: bool - assetnum: str \ No newline at end of file + assetnum: str diff --git a/src/calculation_time_constrains/service.py b/src/calculation_time_constrains/service.py index 16b892c..fccebd8 100644 --- a/src/calculation_time_constrains/service.py +++ b/src/calculation_time_constrains/service.py @@ -290,7 +290,8 @@ async def create_calculation_result_service( material_cost=eq.material_cost, service_cost=eq.service_cost, optimum_day=int(equipment_optimum_index + 1), - calculation_data_id=calculation.id + calculation_data_id=calculation.id, + master_equipment=eq.equipment )) # Add to totals @@ -330,6 +331,7 @@ async def create_calculation_result_service( await db_session.commit() + # Return results including individual equipment data return CalculationTimeConstrainsRead( id=calculation.id, diff --git a/src/job/model.py b/src/job/model.py index 1fedfd0..f5b5f64 100644 --- a/src/job/model.py +++ b/src/job/model.py @@ -11,16 +11,12 @@ class MasterActivity(Base, DefaultMixin): __tablename__ = "oh_ms_job" description = Column(String, nullable=False) - + # details = relationship( # "MasterActivityDetail", # lazy="raise", # primaryjoin="and_(MasterActivity.id == foreign(MasterActivityDetail.activity_id))", # ) - - overhaul_jobs = relationship( - "OverhaulJob", lazy="raise", back_populates="job" - ) # class MasterActivityDetail(Base, DefaultMixin): @@ -28,5 +24,3 @@ class MasterActivity(Base, DefaultMixin): # name = Column(String, nullable=False) # activity_id = Column(UUID(as_uuid=True)) - -