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