diff --git a/src/calculation_time_constrains/flows.py b/src/calculation_time_constrains/flows.py index 4c84797..5f140b3 100644 --- a/src/calculation_time_constrains/flows.py +++ b/src/calculation_time_constrains/flows.py @@ -86,7 +86,8 @@ async def create_calculation( db_session: DbSession, collector_db_session: CollectorDbSession, calculation_time_constrains_in: CalculationTimeConstrainsParametersCreate, - created_by: str + created_by: str, + simulation_id ): calculation_data = await create_param_and_data( db_session=db_session, @@ -94,7 +95,7 @@ async def create_calculation( created_by=created_by, ) - rbd_simulation_id = "f9ebaf0a-3c41-4cd6-ba60-552c0b303f3f" + rbd_simulation_id = simulation_id or "682c3e83-d471-48fe-9999-c7fa71b2248d" # results = await create_calculation_result_service( # db_session=db_session, calculation=calculation_data, token=token diff --git a/src/calculation_time_constrains/router.py b/src/calculation_time_constrains/router.py index c65f799..903f79d 100644 --- a/src/calculation_time_constrains/router.py +++ b/src/calculation_time_constrains/router.py @@ -34,6 +34,7 @@ async def create_calculation_time_constrains( calculation_time_constrains_in: CalculationTimeConstrainsParametersCreate, scope_calculation_id: Optional[str] = Query(None), with_results: Optional[int] = Query(0), + simulation_id = Query(None) ): """Save calculation time constrains Here""" @@ -50,6 +51,7 @@ async def create_calculation_time_constrains( collector_db_session=collector_db_session, calculation_time_constrains_in=calculation_time_constrains_in, created_by=current_user.name, + simulation_id=simulation_id ) return StandardResponse(data=str(results), message="Data created successfully") diff --git a/src/calculation_time_constrains/service.py b/src/calculation_time_constrains/service.py index b50c389..0b10b5c 100644 --- a/src/calculation_time_constrains/service.py +++ b/src/calculation_time_constrains/service.py @@ -1094,6 +1094,10 @@ async def get_calculation_result(db_session: DbSession, calculation_id: str): calculation_results.append(CalculationResultsRead(**month_result)) + optimum_day = np.argmin([month.total_cost for month in calculation_results]) + scope_calculation.optimum_oh_day = int(optimum_day) + await db_session.commit() + # Update fleet statistics fleet_statistics['equipment_with_sparepart_constraints'] = len([ eq for eq in all_equipment diff --git a/src/sparepart/service.py b/src/sparepart/service.py index 79fb367..fa1b4a2 100644 --- a/src/sparepart/service.py +++ b/src/sparepart/service.py @@ -396,7 +396,7 @@ class SparepartManager: sparepart_id = requirement.sparepart_id needed_quantity = requirement.quantity_required sparepart_name = requirement.sparepart_name - unit_cost = requirement.avg_cost + unit_cost = requirement.avg_cost if requirement.avg_cost > 0 else requirement.unit_cost current_stock = adjusted_stocks.get(sparepart_id, 0) @@ -968,7 +968,7 @@ ORDER BY lss.asset_location, lss.itemnum;""") lead_time=float(req_record.avg_leadtime_months), sparepart_name=req_record.item_description, unit_cost=float(req_record.avg_unit_cost), - avg_cost=float(req_record.avgcost) + avg_cost=float(req_record.avgcost or 0) ) equipment_requirements[req_record.asset_location].append(requirement)