|
|
|
|
@ -21,9 +21,13 @@ _equipment_eaf_cache = {}
|
|
|
|
|
import random
|
|
|
|
|
|
|
|
|
|
async def get_all_budget_constrains(
|
|
|
|
|
*, db_session: DbSession, collector_db: CollectorDbSession, session_id: UUID, cost_threshold: float = 100000000, plant_result=None, eq_results=None, plot_result=None
|
|
|
|
|
*, db_session: DbSession, collector_db: CollectorDbSession, session_id: UUID, simulation_result, cost_threshold: float = 100000000
|
|
|
|
|
):
|
|
|
|
|
"""Get all overhaul overview with EAF values that sum to 100%."""
|
|
|
|
|
calc_result = simulation_result['calc_result']
|
|
|
|
|
plant_result = simulation_result['plant_result']
|
|
|
|
|
plot_result = simulation_result['plot_result']
|
|
|
|
|
|
|
|
|
|
equipments = await get_standard_scope_by_session_id(
|
|
|
|
|
db_session=db_session,
|
|
|
|
|
overhaul_session_id=session_id,
|
|
|
|
|
@ -38,6 +42,7 @@ async def get_all_budget_constrains(
|
|
|
|
|
|
|
|
|
|
# Generate EAF values for new equipment IDs
|
|
|
|
|
equipment_ids = [equipment.id for equipment in equipments]
|
|
|
|
|
eq_results = calc_result if isinstance(calc_result, list) else [calc_result]
|
|
|
|
|
|
|
|
|
|
equipments_eaf_contribution = calculate_asset_eaf_contributions(
|
|
|
|
|
plant_result=plant_result,
|
|
|
|
|
|