|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from fastapi import HTTPException, status
|
|
|
|
from fastapi import HTTPException, status
|
|
|
|
from sqlalchemy import Select, Delete, desc, func, not_, insert
|
|
|
|
from sqlalchemy import Select, Delete, desc, func, not_, insert, or_
|
|
|
|
|
|
|
|
|
|
|
|
from src.workorder.model import MasterWorkOrder
|
|
|
|
from src.workorder.model import MasterWorkOrder
|
|
|
|
from .model import ScopeEquipment, MasterEquipment
|
|
|
|
from .model import ScopeEquipment, MasterEquipment
|
|
|
|
@ -51,7 +51,7 @@ async def create(*, db_session: DbSession, scope_equipment_in: ScopeEquipmentCre
|
|
|
|
status_code=status.HTTP_404_NOT_FOUND,
|
|
|
|
status_code=status.HTTP_404_NOT_FOUND,
|
|
|
|
detail="A scope with this name does not exist.",
|
|
|
|
detail="A scope with this name does not exist.",
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
results = []
|
|
|
|
results = []
|
|
|
|
|
|
|
|
|
|
|
|
for assetnum in assetnums:
|
|
|
|
for assetnum in assetnums:
|
|
|
|
@ -64,7 +64,7 @@ async def create(*, db_session: DbSession, scope_equipment_in: ScopeEquipmentCre
|
|
|
|
"scope_id": scope.id
|
|
|
|
"scope_id": scope.id
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
db_session.execute(stmt)
|
|
|
|
db_session.execute(stmt)
|
|
|
|
results.append(assetnum)
|
|
|
|
results.append(assetnum)
|
|
|
|
|
|
|
|
|
|
|
|
@ -89,9 +89,24 @@ async def update(*, db_session: DbSession, scope_equipment: ScopeEquipment, scop
|
|
|
|
|
|
|
|
|
|
|
|
async def delete(*, db_session: DbSession, scope_equipment_id: str):
|
|
|
|
async def delete(*, db_session: DbSession, scope_equipment_id: str):
|
|
|
|
"""Deletes a document."""
|
|
|
|
"""Deletes a document."""
|
|
|
|
query = Delete(ScopeEquipment).where(
|
|
|
|
# query = Delete(ScopeEquipment).where(
|
|
|
|
|
|
|
|
# ScopeEquipment.id == scope_equipment_id)
|
|
|
|
|
|
|
|
# await db_session.execute(query)
|
|
|
|
|
|
|
|
# await db_session.commit()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
query = Select(ScopeEquipment).filter(
|
|
|
|
ScopeEquipment.id == scope_equipment_id)
|
|
|
|
ScopeEquipment.id == scope_equipment_id)
|
|
|
|
await db_session.execute(query)
|
|
|
|
scope_equipment = await db_session.execute(query)
|
|
|
|
|
|
|
|
scope_equipment = scope_equipment.scalars().one_or_none()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not scope_equipment:
|
|
|
|
|
|
|
|
raise HTTPException(
|
|
|
|
|
|
|
|
status_code=status.HTTP_404_NOT_FOUND,
|
|
|
|
|
|
|
|
detail="A data with this id does not exist.",
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
scope_equipment.scope_id = None
|
|
|
|
|
|
|
|
|
|
|
|
await db_session.commit()
|
|
|
|
await db_session.commit()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -126,9 +141,15 @@ async def get_exculed_scope_name(*, db_session: DbSession, scope_name: Union[str
|
|
|
|
async def get_all_master_equipment(*, db_session: DbSession, exclude: Optional[str] = None, common: CommonParameters):
|
|
|
|
async def get_all_master_equipment(*, db_session: DbSession, exclude: Optional[str] = None, common: CommonParameters):
|
|
|
|
query = Select(MasterEquipment).filter(MasterEquipment.assetnum != None)
|
|
|
|
query = Select(MasterEquipment).filter(MasterEquipment.assetnum != None)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
query = query.outerjoin(
|
|
|
|
|
|
|
|
ScopeEquipment, MasterEquipment.assetnum == ScopeEquipment.assetnum)
|
|
|
|
|
|
|
|
|
|
|
|
if exclude:
|
|
|
|
if exclude:
|
|
|
|
query = query.filter(
|
|
|
|
query = query.filter(
|
|
|
|
not_(MasterEquipment.location_tag.op("~")(f"{exclude.capitalize()}$")))
|
|
|
|
not_(MasterEquipment.location_tag.op('~')('A$')) | (ScopeEquipment.scope_id.is_(None))
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
query = query.filter(ScopeEquipment.scope_id.is_(None))
|
|
|
|
|
|
|
|
|
|
|
|
results = await search_filter_sort_paginate(model=query, **common)
|
|
|
|
results = await search_filter_sort_paginate(model=query, **common)
|
|
|
|
return results
|
|
|
|
return results
|
|
|
|
|