diff --git a/src/calculation_time_constrains/service.py b/src/calculation_time_constrains/service.py index f407211..cf4d3f9 100644 --- a/src/calculation_time_constrains/service.py +++ b/src/calculation_time_constrains/service.py @@ -84,7 +84,7 @@ def get_corrective_cost_time_chart(material_cost: float, service_cost: float, da daily_failure_rate = np.clip(daily_failure_rate, 0, None) # Ensure failure rate is non-negative # Calculate cumulative failures - failure_counts = np.cumsum(daily_failure_rate, axis=1) + failure_counts = np.cumsum(daily_failure_rate) # Calculate corrective costs based on cumulative failures and combined costs cost_per_failure = material_cost + service_cost @@ -244,11 +244,7 @@ async def create_calculation_result_service( calculation_data = await get_calculation_data_by_id(db_session=db_session, calculation_id=calculation.id) - overhaul_cost_points = get_overhaul_cost_by_time_chart( - calculation_data.parameter.overhaul_cost, - days=days, - numEquipments=len(equipments) - ) + # Store results for each equipment @@ -265,6 +261,12 @@ async def create_calculation_result_service( numEquipments=len(equipments) ) + overhaul_cost_points = get_overhaul_cost_by_time_chart( + calculation_data.parameter.overhaul_cost, + days=days, + numEquipments=len(equipments) + ) + # Calculate individual equipment optimum points equipment_total_cost = corrective_costs + overhaul_cost_points equipment_optimum_index = np.argmin(equipment_total_cost)