Cizz22 5 months ago
parent ef8620384c
commit f29c68323f

@ -311,7 +311,7 @@ async def update_equipment_for_simulation(*, db_session: DbSession, project_name
if custom_input and eq["equipmentName"] in custom_input:
eq["cmDisP1"] = reliabiility.get("cmDisP1", 0)
eq["relDisType"] = "Fixed"
eq["relDisP1"] = custom_input[eq["equipmentName"]]
eq["relDisP1"] = float(custom_input[eq["equipmentName"]])
eq["relDisP2"] = 0
reqNodeInputs.append(eq)

@ -61,6 +61,13 @@ class AerosNode(Base, DefaultMixin):
foreign_keys=[schematic_id],
)
equipment = relationship(
"MasterEquipment",
lazy="selectin",
primaryjoin="and_(AerosNode.node_name == foreign(MasterEquipment.location_tag))",
uselist=False, # Add this if it's a one-to-one relationship
)
children = relationship(
"AerosNode", back_populates="parent", foreign_keys=[schematic_id]
)

@ -5,7 +5,7 @@ from uuid import UUID
from pydantic import Field
from src.models import BaseModel, Pagination
from src.aeros_equipment.schema import Equipment
# Pydantic models for request/response validation
class SimulationInput(BaseModel):
@ -26,6 +26,7 @@ class SimulationNode(BaseModel):
structure_name: Optional[str]
schematic_name: Optional[str]
schematic_id: Optional[UUID]
equipment:Optional[List[Equipment]]
class SimulationCalc(BaseModel):
id: UUID
@ -88,7 +89,7 @@ class SimulationData(BaseModel):
simulation_name: str
status: str
schematic_name: str
reliability: dict
reliability: Optional[dict]
created_at: datetime

@ -487,7 +487,9 @@ async def get_simulation_with_calc_result(
).filter(AerosNode.structure_name.contains(schematic_name))
query = query.options(
selectinload(AerosSimulationCalcResult.aeros_node))
selectinload(AerosSimulationCalcResult.aeros_node)).options(
selectinload(AerosNode.equipment)
)
simulation = await db_session.execute(query)

Loading…
Cancel
Save