|
|
|
|
@ -1,11 +1,11 @@
|
|
|
|
|
|
|
|
|
|
from typing import Any, Dict, Optional, Union
|
|
|
|
|
from fastapi import APIRouter, HTTPException, status
|
|
|
|
|
from .schema import CalculationTimeConstrainsParametersRead, CalculationTimeConstrainsRead, CalculationTimeConstrainsParametersCreate, CalculationTimeConstrainsParametersRetrive
|
|
|
|
|
from .schema import CalculationTimeConstrainsCreate, CalculationTimeConstrainsParametersRead, CalculationTimeConstrainsRead, CalculationTimeConstrainsParametersCreate, CalculationTimeConstrainsParametersRetrive, CalculationResultsRead
|
|
|
|
|
from src.database.core import DbSession
|
|
|
|
|
from src.models import StandardResponse
|
|
|
|
|
from src.auth.service import CurrentUser
|
|
|
|
|
from .service import create_param_and_data, get_calculation_result
|
|
|
|
|
from .service import create_param_and_data, get_calculation_result, get_calculation_result_by_day
|
|
|
|
|
from .flows import get_create_calculation_parameters, create_calculation, get_or_create_scope_equipment_calculation
|
|
|
|
|
from fastapi.params import Query
|
|
|
|
|
|
|
|
|
|
@ -48,19 +48,9 @@ async def get_calculation_results(db_session: DbSession, calculation_id):
|
|
|
|
|
message="Data retrieved successfully",
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
@router.post("/simulation", response_model=StandardResponse[Dict[str, Any]])
|
|
|
|
|
async def get_simulation_result():
|
|
|
|
|
results = {
|
|
|
|
|
"simulation": {
|
|
|
|
|
"intervalDays": 45,
|
|
|
|
|
"numberOfFailures": 75,
|
|
|
|
|
"totalCost": 550000000,
|
|
|
|
|
},
|
|
|
|
|
"comparison": {
|
|
|
|
|
"vsOptimal": {
|
|
|
|
|
"failureDifference": 16,
|
|
|
|
|
"costDifference": 50000000
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return StandardResponse(data=results, message="Data retrieved successfully")
|
|
|
|
|
|
|
|
|
|
@router.post("/{calculation_id}/simulation", response_model=StandardResponse[CalculationResultsRead])
|
|
|
|
|
async def get_simulation_result(db_session:DbSession, calculation_id, calculation_simuation_in: CalculationTimeConstrainsCreate):
|
|
|
|
|
simulation_result = await get_calculation_result_by_day(db_session=db_session, calculation_id=calculation_id, simulation_day=calculation_simuation_in.intervalDays)
|
|
|
|
|
|
|
|
|
|
return StandardResponse(data=simulation_result, message="Data retrieved successfully")
|
|
|
|
|
|