fix
parent
2d8b0bb517
commit
fc03060874
@ -0,0 +1,46 @@
|
|||||||
|
from sqlalchemy import Select, func, select
|
||||||
|
from src.workorder.model import MasterWorkOrder
|
||||||
|
from src.scope_equipment.model import ScopeEquipment
|
||||||
|
from src.scope.model import Scope
|
||||||
|
from src.database.core import DbSession
|
||||||
|
|
||||||
|
|
||||||
|
async def get_cost_per_failure(*, db_session: DbSession):
|
||||||
|
stmt = (
|
||||||
|
select(
|
||||||
|
ScopeEquipment.scope_id,
|
||||||
|
func.avg(MasterWorkOrder.total_cost_max).label('average_cost')
|
||||||
|
)
|
||||||
|
.outerjoin(MasterWorkOrder, ScopeEquipment.assetnum == MasterWorkOrder.assetnum)
|
||||||
|
.group_by(ScopeEquipment.scope_id)
|
||||||
|
.order_by(ScopeEquipment.scope_id)
|
||||||
|
)
|
||||||
|
|
||||||
|
results = await db_session.execute(stmt)
|
||||||
|
|
||||||
|
return results.all()
|
||||||
|
|
||||||
|
|
||||||
|
async def create_calculation(*, db_session: DbSession):
|
||||||
|
return {
|
||||||
|
"id": "calc_123",
|
||||||
|
"result": {
|
||||||
|
"summary": {
|
||||||
|
"scope": "B",
|
||||||
|
"numberOfFailures": 59,
|
||||||
|
"optimumOHTime": 90,
|
||||||
|
"optimumTotalCost": 500000000
|
||||||
|
},
|
||||||
|
"chartData": {},
|
||||||
|
"comparisons": {
|
||||||
|
"vsLastCalculation": {
|
||||||
|
"costDifference": -50000000,
|
||||||
|
"timeChange": "+15 days"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"simulationLimits": {
|
||||||
|
"minInterval": 30,
|
||||||
|
"maxInterval": 180
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue