|
|
|
|
@ -338,7 +338,7 @@ async def get_all(
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def get_top_10_economic_life(*, db_session: DbSession) -> list[Equipment]:
|
|
|
|
|
async def get_top_10_economic_life(*, db_session: DbSession, common) -> list[Equipment]:
|
|
|
|
|
"""Returns top 10 economic life."""
|
|
|
|
|
query = (
|
|
|
|
|
Select(Equipment)
|
|
|
|
|
@ -354,20 +354,13 @@ async def get_top_10_economic_life(*, db_session: DbSession) -> list[Equipment]:
|
|
|
|
|
)
|
|
|
|
|
.filter(Equipment.minimum_eac_year != None)
|
|
|
|
|
.order_by(func.abs(current_year - Equipment.minimum_eac_year).desc())
|
|
|
|
|
.limit(10)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
result = await db_session.execute(query)
|
|
|
|
|
|
|
|
|
|
equipment_list = []
|
|
|
|
|
for row in result.all():
|
|
|
|
|
equipment = row[0]
|
|
|
|
|
equipment.economic_life = row[1]
|
|
|
|
|
equipment_list.append(equipment)
|
|
|
|
|
|
|
|
|
|
return equipment_list
|
|
|
|
|
# result = await db_session.execute(query)
|
|
|
|
|
result = await search_filter_sort_paginate(model=query, **common)
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
async def get_top_10_replacement_priorities(*, db_session: DbSession) -> list[Equipment]:
|
|
|
|
|
async def get_top_10_replacement_priorities(*, db_session: DbSession, common) -> list[Equipment]:
|
|
|
|
|
"""Returns top 10 replacement priorities."""
|
|
|
|
|
query = (
|
|
|
|
|
Select(Equipment)
|
|
|
|
|
@ -384,18 +377,11 @@ async def get_top_10_replacement_priorities(*, db_session: DbSession) -> list[Eq
|
|
|
|
|
.filter(Equipment.minimum_eac_year != None)
|
|
|
|
|
.order_by(func.abs(current_year - Equipment.minimum_eac_year).asc())
|
|
|
|
|
.order_by(func.abs(Equipment.minimum_eac).desc())
|
|
|
|
|
.limit(10)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
result = await db_session.execute(query)
|
|
|
|
|
|
|
|
|
|
equipment_list = []
|
|
|
|
|
for row in result.all():
|
|
|
|
|
equipment = row[0]
|
|
|
|
|
equipment.economic_life = row[1]
|
|
|
|
|
equipment_list.append(equipment)
|
|
|
|
|
|
|
|
|
|
return equipment_list
|
|
|
|
|
# result = await db_session.execute(query)
|
|
|
|
|
result = await search_filter_sort_paginate(model=query, **common)
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
async def generate_all_transaction(*, db_session: DbSession, token):
|
|
|
|
|
"""Generate transaction for all equipments in the database based on equipments assetnum."""
|
|
|
|
|
|