计算财报总额

This commit is contained in:
Administrator 2023-04-24 09:57:37 +08:00
parent 65b11cb3c2
commit 471facc12a
3 changed files with 7 additions and 3 deletions

View File

@ -52,7 +52,9 @@ def finance_query(db: Session, params: Schemas.FinanceQuery):
query = query.filter(getattr(db_model, key) <= datetime.fromtimestamp(value[1] / 1000))
else:
query = query.filter(getattr(db_model, key) == value)
total = sum([item[0].income for item in query if item[0].income])
count = query.count()
page = None
page_size = None
if 'page' in params_dict:
@ -63,6 +65,6 @@ def finance_query(db: Session, params: Schemas.FinanceQuery):
if page is not None and page_size is not None:
page_size = min(page_size, 100)
query = query.offset((page - 1) * page_size).limit(page_size).all()
return count, query
return count, query,total
################

View File

@ -40,13 +40,14 @@ def finance_get(req: Schemas.FinanceGetReq, db: Session = Depends(get_db)):
@router.post("/finance/query", summary="查询财务数据", response_model=Schemas.FinanceQueryRes)
def finance_query(req: Schemas.FinanceQueryReq, db: Session = Depends(get_db)):
count, query = Crud.finance_query(db, req)
count, query,total = Crud.finance_query(db, req)
items = []
for item in query:
finance_info = item[0].to_dict()
finance_info['user_info'] = item[1].to_dict()
items.append(Schemas.FinanceInfo(**finance_info))
return Schemas.FinanceQueryRes(count=count, items=items)
print(total,"total")
return Schemas.FinanceQueryRes(count=count, items=items,total=total)
@router.post("/finance/query_common", summary="通用查询财务数据",

View File

@ -70,6 +70,7 @@ class FinanceGetRes(FinanceInfo):
class FinanceQueryRes(BaseModel):
count: int
items: List[FinanceInfo]
total: Optional[float]
class FinanceDeleteReq(BaseModel):