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

38 lines
1.1 KiB
Python

from django.db.models import Sum , Count
from django.utils import timezone
from Movement.models import (
Calendar,
ExpenseOrCredit
)
def metric(Prof_id):
current_month = timezone.localtime(timezone.now()).month
current_year = timezone.localtime(timezone.now()).year
calenda = Calendar.objects.filter(
professional_id=Prof_id,
date__month=current_month,
date__year=current_year,
)
debit = ExpenseOrCredit.objects.filter(
prof=True,
debit=True,
credit=False,
professional_id=Prof_id,
date__month=current_month,
date__year=current_year,
)
credit = ExpenseOrCredit.objects.filter(
prof=True,
debit=False,
credit=True,
professional_id=Prof_id,
date__month=current_month,
date__year=current_year,
)
sum_calenda = calenda.aggregate(Sum('prof_money'))['prof_money__sum'] or 0
sum_debit = calenda.aggregate(Sum('gross_value'))['gross_value__sum'] or 0
sum_credit = calenda.aggregate(Sum('gross_value'))['gross_value__sum'] or 0
all = sum_calenda + sum_credit - sum_debit
return all