first commit

This commit is contained in:
2025-11-01 18:10:39 -03:00
parent 6e7348359f
commit 63cf724aaf
220 changed files with 4040 additions and 62 deletions

View File

@@ -0,0 +1,82 @@
from django.db.models import Sum
from django.utils import timezone
from Base.models import (
PayMethod,
BankAccount,
)
from Movement.models import (
Calendar,
Product,
Expense,
Stock
)
def metric():
# Lista de Bancos
banks = BankAccount.objects.all()
# pegando total de Serviços
sum_mov_serv = {}
for bank in banks:
sum_bank = Calendar.objects.filter(
# active = True,
pay_method__bank__name = bank.name,
).aggregate(Sum('net_value'))['net_value__sum'] or 0
sum_mov_serv[bank.name] = sum_bank
# pegando total de Produtos
sum_mov_prod = {}
for bank in banks:
sum_bank = Product.objects.filter(
# active=True,
pay_method__bank__name=bank.name,
).aggregate(Sum('net_value'))['net_value__sum'] or 0
sum_mov_prod[bank.name] = sum_bank
# pegando total de Desspesas
sum_expense = {}
for bank in banks:
sum_bank = Expense.objects.filter(
# active=True,
firm=True,
bank__name=bank.name,
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
sum_expense[bank.name] = sum_bank
# pegando total de Desspesas Profissinal
sum_expense_prof = {}
for bank in banks:
sum_bank = Expense.objects.filter(
# active=True,
firm=False,
bank__name=bank.name,
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
sum_expense_prof[bank.name] = sum_bank
# Valores de entrada do estoque
sum_stock = {}
for bank in banks:
sum_bank = Stock.objects.filter(
# active=True,
bank__name=bank.name,
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
sum_stock[bank.name] = sum_bank
# saldo total de tudo
sum_total = {}
for bank in banks:
sum_mov_serv_get = sum_mov_serv.get(str(bank.name))
sum_mov_prod_get = sum_mov_prod.get(str(bank.name))
sum_expense_get = sum_expense.get(str(bank.name))
sum_expense_prof_get = sum_expense_prof.get(str(bank.name))
sum_sum_stock = sum_stock.get(str(bank.name))
sum_total[bank.name] = (
sum_mov_serv_get +
sum_mov_prod_get -
sum_expense_get -
sum_expense_prof_get -
sum_sum_stock
)
return sum_total

View File

@@ -0,0 +1,39 @@
from django.db.models import Sum
from django.utils import timezone
from Base.models import Professional
from Movement.models import Calendar, Expense
def metric():
Professionals = Professional.objects.all()
# current_month = timezone.localtime(timezone.now()).month
# current_year = timezone.localtime(timezone.now()).year
sum_expense_prof = {}
for Prof in Professionals:
sum_ = Expense.objects.filter(
# active=True,
firm=False,
professional__name=Prof.name,
# date__month=current_month,
# date__year=current_year
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
sum_expense_prof[Prof.name] = sum_
sum_serv_prof = {}
for Prof in Professionals:
sum_ = Calendar.objects.filter(
# active=True,
professional__name=Prof.name,
# date__month=current_month,
# date__year=current_year
).aggregate(Sum('prof_money'))['prof_money__sum'] or 0
sum_serv_prof[Prof.name] = sum_
sum_total = {}
for total in Professionals:
sum1 = sum_serv_prof.get(str(total.name))
sum2 = sum_expense_prof.get(str(total.name))
sum_total[total.name] = ( sum1 - sum2 )
return sum_total