Files
CenterPes/Base/Metrics/DashboardProf/get_sum_expense.py
2026-01-02 09:19:43 -03:00

39 lines
1.1 KiB
Python

from django.db.models import Sum , Count
from django.utils import timezone
from Movement.models import (
Calendar,
ExpenseOrCredit,
ChartOfAccount,
)
def metric(Prof_id):
current_month = timezone.localtime(timezone.now()).month
current_year = timezone.localtime(timezone.now()).year
# pegando total de Despesas
debit = ChartOfAccount.objects.filter(
firm=False,
debit=True,
credit=False,
prof=True,
)
expense = {}
total_geral_despesas = 0
for bank in debit:
sum_bank = ExpenseOrCredit.objects.filter(
# active=True,
date__month=current_month,
date__year=current_year,
chart_of_account__id=bank.id,
professional__id=Prof_id,
)
total_geral_despesas += sum_bank.aggregate(Sum('gross_value'))['gross_value__sum'] or 0
expense[bank.name] = {
'sum_expense': sum_bank.aggregate(Sum('gross_value'))['gross_value__sum'] or 0,
'list_expense': sum_bank ,
}
return {
'sum_expense': expense,
'sum_expense_all': total_geral_despesas,
}