first commit
This commit is contained in:
82
Base/Metrics/DashboardAdmin/get_total_bank.py
Normal file
82
Base/Metrics/DashboardAdmin/get_total_bank.py
Normal 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
|
||||
Reference in New Issue
Block a user