feature/reliability_stat
Cizz22 4 months ago
parent 6bbb19761e
commit abb053abff

@ -3,6 +3,8 @@ from typing import Dict, List, Optional
from fastapi import APIRouter, HTTPException, status from fastapi import APIRouter, HTTPException, status
from fastapi.params import Query from fastapi.params import Query
from src.auth.service import Token
from src.calculation_target_reliability.service import get_simulation_results
from src.database.core import DbSession from src.database.core import DbSession
from src.models import StandardResponse from src.models import StandardResponse
@ -14,10 +16,17 @@ router = APIRouter()
@router.get("/{session_id}", response_model=StandardResponse[Dict]) @router.get("/{session_id}", response_model=StandardResponse[Dict])
async def get_target_reliability( async def get_target_reliability(
db_session: DbSession, db_session: DbSession,
token: Token,
session_id: str, session_id: str,
cost_threshold: float = Query(100), cost_threshold: float = Query(100),
): ):
"""Get all scope pagination.""" """Get all scope pagination."""
results = await get_simulation_results(
simulation_id="083a0936-37f8-4fe4-844e-a9002dd26d61",
token=token
)
results, consequesce = await get_all_budget_constrains( results, consequesce = await get_all_budget_constrains(
db_session=db_session, session_id=session_id, cost_threshold=cost_threshold db_session=db_session, session_id=session_id, cost_threshold=cost_threshold
) )

@ -21,9 +21,13 @@ _equipment_eaf_cache = {}
import random import random
async def get_all_budget_constrains( 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%.""" """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( equipments = await get_standard_scope_by_session_id(
db_session=db_session, db_session=db_session,
overhaul_session_id=session_id, overhaul_session_id=session_id,
@ -38,6 +42,7 @@ async def get_all_budget_constrains(
# Generate EAF values for new equipment IDs # Generate EAF values for new equipment IDs
equipment_ids = [equipment.id for equipment in equipments] 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( equipments_eaf_contribution = calculate_asset_eaf_contributions(
plant_result=plant_result, plant_result=plant_result,

@ -58,7 +58,7 @@ async def get_target_reliability(
# ) # )
results = await get_simulation_results( results = await get_simulation_results(
simulation_id="083a0936-37f8-4fe4-844e-a9002dd26d61", simulation_id="de9fecba-7a87-42a9-895a-58927e13b429",
token=token token=token
) )

Loading…
Cancel
Save