diff --git a/src/calculation_time_constrains/schema.py b/src/calculation_time_constrains/schema.py index 3da97b6..a447f62 100644 --- a/src/calculation_time_constrains/schema.py +++ b/src/calculation_time_constrains/schema.py @@ -51,7 +51,7 @@ class CalculationResultsRead(CalculationTimeConstrainsBase): overhaul_cost: float procurement_cost: float procurement_details: Optional[Dict[str, Any]] - num_failures: int + num_failures: float class OptimumResult(CalculationTimeConstrainsBase): diff --git a/src/calculation_time_constrains/service.py b/src/calculation_time_constrains/service.py index 667d10f..065f738 100644 --- a/src/calculation_time_constrains/service.py +++ b/src/calculation_time_constrains/service.py @@ -1757,14 +1757,17 @@ async def get_calculation_result(db_session: DbSession, calculation_id: str): } if not eq.is_included: continue + result["corrective_cost"] += float(eq.corrective_costs[i]) result["overhaul_cost"] += float(eq.overhaul_costs[i]) result["procurement_cost"] += float(eq.procurement_costs[i]) - result["num_failures"] += int(eq.daily_failures[i]) - + result["num_failures"] += float(eq.daily_failures[i]) + result["num_failures"] = result["num_failures"]/len(scope_calculation.equipment_results) calculation_results.append(CalculationResultsRead(**result)) + + # Check if calculation already exist return CalculationTimeConstrainsRead( id=scope_calculation.id,