From 9e622b5b236615bd056108f132714a98bf88cb54 Mon Sep 17 00:00:00 2001 From: MrWaradana Date: Tue, 16 Dec 2025 17:40:39 +0700 Subject: [PATCH] fix top 10 case --- src/equipment/service.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/equipment/service.py b/src/equipment/service.py index eb0610a..afca9e3 100644 --- a/src/equipment/service.py +++ b/src/equipment/service.py @@ -2,7 +2,7 @@ import os import logging from typing import Optional, TypedDict, Any -from sqlalchemy import Select, Delete, Float, func, cast, String, text +from sqlalchemy import Select, Delete, Float, func, cast, String, text, case from sqlalchemy.orm import selectinload from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.ext.asyncio import AsyncSession @@ -385,12 +385,12 @@ async def get_top_10_economic_life(*, db_session: DbSession, common) -> list[Equ query = ( query.add_columns( - func.case( + case( ( (current_year - Equipment.minimum_eac_year) >= 0, (current_year - Equipment.minimum_eac_year), ), - else_=None, + else_=0, ).label("economic_life") ) .filter(Equipment.minimum_eac_year != None) @@ -416,7 +416,7 @@ async def get_top_10_replacement_priorities(*, db_session: DbSession, common) -> # Only select rows where (current_year - Equipment.minimum_eac_year) >= 0 query = ( query.add_columns( - func.case( + case( ( (current_year - Equipment.minimum_eac_year) >= 0, (current_year - Equipment.minimum_eac_year),