minor change

main
Cizz22 12 months ago
parent c2ff480584
commit a8610b3a2d

@ -72,11 +72,11 @@ class CalculationData(Base, DefaultMixin, IdentityMixin):
"CalculationParam", back_populates="calculation_data") "CalculationParam", back_populates="calculation_data")
equipment_results = relationship( equipment_results = relationship(
"CalculationEquipmentResult", lazy="raise" "CalculationEquipmentResult", lazy="raise", viewonly=True
) )
results = relationship( results = relationship(
"CalculationResult", lazy="raise" "CalculationResult", lazy="raise", viewonly=True
) )

@ -63,32 +63,20 @@ async def create_param_and_data(*, db_session: DbSession, calculation_param_in:
async def get_calculation_result(db_session: DbSession, calculation_id: str): async def get_calculation_result(db_session: DbSession, calculation_id: str):
calculation = await get_calculation_data_by_id(db_session=db_session, calculation_id=calculation_id) scope_calculation = await get_calculation_data_by_id(db_session=db_session, calculation_id=calculation_id)
reference = await get_by_assetnum(db_session=db_session, assetnum=calculation.reference_id) if calculation.overhaul_reference_type == OverhaulReferenceType.ASSET else await get(db_session=db_session, scope_id=calculation.reference_id) if not scope_calculation:
raise HTTPException(
stmt = select(CalculationResult).filter( status_code=status.HTTP_404_NOT_FOUND,
CalculationResult.calculation_data_id == calculation_id).order_by(CalculationResult.day) detail="A data with this id does not exist.",
)
optimum = stmt.filter(CalculationResult.day == calculation.optimum_oh_day)
results = await db_session.execute(stmt)
optimumOh = await db_session.scalar(optimum)
optimumRes = {
"overhaulCost": optimumOh.overhaul_cost,
"correctiveCost": optimumOh.corrective_cost,
"numOfFailures": optimumOh.num_failures,
"days": optimumOh.day
}
# Check if calculation already exist
return CalculationTimeConstrainsRead( return CalculationTimeConstrainsRead(
id=calculation.id, id=scope_calculation.id,
name=reference.scope_name if hasattr( reference=scope_calculation.overhaul_session_id,
reference, "scope_name") else reference.master_equipment.name, results=scope_calculation.results,
reference=reference.assetnum if hasattr( optimum_oh=scope_calculation.optimum_oh_day,
reference, "assetnum") else reference.scope_name, equipment_results=scope_calculation.equipment_results
results=results.scalars().all(),
optimumOh=optimumRes
) )

Loading…
Cancel
Save