|
|
|
|
@ -9,7 +9,7 @@ from ..equipment_master.model import EquipmentMaster
|
|
|
|
|
from .schema import EquipmentCreate, EquipmentUpdate, MasterBase
|
|
|
|
|
from typing import Optional
|
|
|
|
|
|
|
|
|
|
from src.database.core import DbSession
|
|
|
|
|
from src.database.core import DbSession, CollectorDbSession
|
|
|
|
|
from src.auth.service import CurrentUser
|
|
|
|
|
from src.config import RELIABILITY_APP_URL
|
|
|
|
|
import httpx
|
|
|
|
|
@ -21,7 +21,7 @@ from sqlalchemy import text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def get_master_by_assetnum(
|
|
|
|
|
*, db_session: DbSession, assetnum: str
|
|
|
|
|
*, db_session: DbSession, collector_db_session: CollectorDbSession, assetnum: str
|
|
|
|
|
) -> tuple[list[EquipmentTransactionRecords], float | None]:
|
|
|
|
|
"""Returns master records with equipment data based on asset number."""
|
|
|
|
|
|
|
|
|
|
@ -117,6 +117,20 @@ async def get_master_by_assetnum(
|
|
|
|
|
)
|
|
|
|
|
min_seq = min_record[1] if min_record else None
|
|
|
|
|
|
|
|
|
|
maximo_query = f"""
|
|
|
|
|
SELECT
|
|
|
|
|
*
|
|
|
|
|
FROM public.wo_maximo AS a
|
|
|
|
|
WHERE a.asset_unit = '3'
|
|
|
|
|
AND a.asset_assetnum = '{assetnum}'
|
|
|
|
|
AND a.wonum NOT LIKE 'T%'
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
query = text(maximo_query)
|
|
|
|
|
# Pass parameters to execute to avoid bindparam/name mismatches
|
|
|
|
|
result_maximo = await collector_db_session.execute(query)
|
|
|
|
|
maximo_record = result_maximo.mappings().all()
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
equipment_master_record,
|
|
|
|
|
equipment_record,
|
|
|
|
|
@ -124,6 +138,7 @@ async def get_master_by_assetnum(
|
|
|
|
|
min_eac_value,
|
|
|
|
|
min_seq,
|
|
|
|
|
last_actual_year,
|
|
|
|
|
maximo_record
|
|
|
|
|
)
|
|
|
|
|
# return result.scalars().all()
|
|
|
|
|
|
|
|
|
|
|