|
|
|
@ -75,7 +75,7 @@ async def get_maximo_record_by_assetnum(db_session: CollectorDbSession, assetnum
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
@router.get("/simulate/{assetnum}")
|
|
|
|
@router.get("/simulate/{assetnum}")
|
|
|
|
async def simulate_equipment(db_session: DbSession, assetnum: str):
|
|
|
|
async def simulate_equipment(db_session: DbSession, assetnum: str, token: Token):
|
|
|
|
"""Stream progress events while running the simulation (prediksi + EAC).
|
|
|
|
"""Stream progress events while running the simulation (prediksi + EAC).
|
|
|
|
|
|
|
|
|
|
|
|
This endpoint returns Server-Sent Events (SSE). Each event's `data` is
|
|
|
|
This endpoint returns Server-Sent Events (SSE). Each event's `data` is
|
|
|
|
@ -98,7 +98,7 @@ async def simulate_equipment(db_session: DbSession, assetnum: str):
|
|
|
|
yield f"data: {json.dumps({'status':'started','step':'prediksi','message':'Menghitung prediksi'})}\n\n"
|
|
|
|
yield f"data: {json.dumps({'status':'started','step':'prediksi','message':'Menghitung prediksi'})}\n\n"
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
prediksi = await prediksi_main(assetnum=assetnum)
|
|
|
|
prediksi = await prediksi_main(assetnum=assetnum, token=token)
|
|
|
|
except Exception as exc:
|
|
|
|
except Exception as exc:
|
|
|
|
# send error event and stop
|
|
|
|
# send error event and stop
|
|
|
|
yield f"data: {json.dumps({'status':'error','step':'prediksi','message':str(exc)})}\n\n"
|
|
|
|
yield f"data: {json.dumps({'status':'error','step':'prediksi','message':str(exc)})}\n\n"
|
|
|
|
@ -140,7 +140,7 @@ async def simulate_equipment(db_session: DbSession, assetnum: str):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get("/simulate-all")
|
|
|
|
@router.get("/simulate-all")
|
|
|
|
async def simulate_all_equipment(db_session: DbSession):
|
|
|
|
async def simulate_all_equipment(db_session: DbSession, token: Token):
|
|
|
|
"""Run simulation (prediksi + EAC) for ALL equipment.
|
|
|
|
"""Run simulation (prediksi + EAC) for ALL equipment.
|
|
|
|
Returns SSE stream of progress.
|
|
|
|
Returns SSE stream of progress.
|
|
|
|
"""
|
|
|
|
"""
|
|
|
|
@ -167,7 +167,7 @@ async def simulate_all_equipment(db_session: DbSession):
|
|
|
|
await update_initial_simulation_data(db_session=db_session, assetnum=assetnum)
|
|
|
|
await update_initial_simulation_data(db_session=db_session, assetnum=assetnum)
|
|
|
|
|
|
|
|
|
|
|
|
# Prediksi
|
|
|
|
# Prediksi
|
|
|
|
await prediksi_main(assetnum=assetnum)
|
|
|
|
await prediksi_main(assetnum=assetnum, token=token)
|
|
|
|
# EAC
|
|
|
|
# EAC
|
|
|
|
eac = Eac()
|
|
|
|
eac = Eac()
|
|
|
|
eac.hitung_eac_equipment(assetnum=assetnum)
|
|
|
|
eac.hitung_eac_equipment(assetnum=assetnum)
|
|
|
|
|