diff --git a/src/scope_equipment/service.py b/src/scope_equipment/service.py index d5fc417..ea0aa1d 100644 --- a/src/scope_equipment/service.py +++ b/src/scope_equipment/service.py @@ -59,7 +59,7 @@ async def create(*, db_session: DbSession, scope_equipment_in: ScopeEquipmentCre assetnum=assetnum, scope_id=scope.id ) - + stmt = stmt.on_conflict_do_update( index_elements=["assetnum"], set_={ @@ -141,14 +141,17 @@ 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): + scope = await get_scope_by_name_service(db_session=db_session, scope_name=exclude) + query = Select(MasterEquipment).filter(MasterEquipment.assetnum != None) query = query.outerjoin( ScopeEquipment, MasterEquipment.assetnum == ScopeEquipment.assetnum) - if exclude: + if scope: query = query.filter( - not_(MasterEquipment.location_tag.op('~')('A$')) | (ScopeEquipment.scope_id.is_(None)) + not_(ScopeEquipment.scope_id).is_(scope.id) | ( + ScopeEquipment.scope_id.is_(None)) ) else: query = query.filter(ScopeEquipment.scope_id.is_(None))