first commit
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
24
Base/Metrics/Dashboard/get_sum_of_product.py
Normal file
24
Base/Metrics/Dashboard/get_sum_of_product.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from django.db.models import Sum
|
||||
from Base.models import ProductList
|
||||
from Movement.models import Product
|
||||
|
||||
def metric(Day):
|
||||
products = ProductList.objects.all()
|
||||
product_mov = Product.objects.filter(date=Day).values()
|
||||
product_report = {}
|
||||
for product in products:
|
||||
product_item = product_mov.filter(
|
||||
product__name=product.name,
|
||||
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
|
||||
product_cont = product_mov.filter(
|
||||
product__name=product.name,
|
||||
).aggregate(Sum('quantity'))['quantity__sum'] or 0
|
||||
product_report[product.name] = {
|
||||
'product_item':product_item,
|
||||
'product_cont':product_cont,
|
||||
}
|
||||
sum_of_product = sum(item['product_item'] for item in product_report.values()) or 0
|
||||
return {
|
||||
'product_report':product_report,
|
||||
'sum_of_product':sum_of_product,
|
||||
}
|
||||
19
Base/Metrics/Dashboard/get_sum_of_professional.py
Normal file
19
Base/Metrics/Dashboard/get_sum_of_professional.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# from django.utils import timezone
|
||||
from django.db.models import Sum
|
||||
from Base.models import Professional
|
||||
from Movement.models import Calendar
|
||||
|
||||
def metric(Day):
|
||||
professionals = Professional.objects.all()
|
||||
professionals_report = {}
|
||||
for professional in professionals:
|
||||
service = Calendar.objects.filter(
|
||||
professional__name=professional.name,
|
||||
date=Day
|
||||
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
|
||||
professionals_report[professional.name] = service
|
||||
sum_of_professionals = sum(professionals_report.values()) or 0
|
||||
return {
|
||||
'professional':professionals_report,
|
||||
'sum_all_prof':sum_of_professionals,
|
||||
}
|
||||
31
Base/Metrics/Dashboard/get_sum_of_professional_detail.py
Normal file
31
Base/Metrics/Dashboard/get_sum_of_professional_detail.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from Base.models import Professional , ServiceList
|
||||
from Movement.models import Calendar
|
||||
# from django.utils import timezone
|
||||
from django.db.models import Sum
|
||||
|
||||
def metric(Day):
|
||||
professionals = Professional.objects.all()
|
||||
services = ServiceList.objects.all()
|
||||
service_movement = Calendar.objects.filter(date=Day).values()
|
||||
professionals_report = {}
|
||||
for professional in professionals:
|
||||
professionals_report[professional.name] = {}
|
||||
for service in services:
|
||||
service_sum = service_movement.filter(
|
||||
professional__name=professional.name,
|
||||
service__name=service.name,
|
||||
)
|
||||
servSum =service_sum.aggregate(Sum('gross_value'))['gross_value__sum'] or 0
|
||||
servCont = service_sum.count()
|
||||
professionals_report[professional.name][service.name] = {
|
||||
'servSum':servSum,
|
||||
'servCont':servCont,
|
||||
}
|
||||
sum_of_prof = sum(
|
||||
sum(service['servSum'] for service in services.values())
|
||||
for services in professionals_report.values()
|
||||
)
|
||||
return {
|
||||
'professionals_report':professionals_report,
|
||||
'sum_of_prof':sum_of_prof,
|
||||
}
|
||||
19
Base/Metrics/Dashboard/get_sum_of_service.py
Normal file
19
Base/Metrics/Dashboard/get_sum_of_service.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# from django.utils import timezone
|
||||
from django.db.models import Sum
|
||||
from Base.models import ServiceList
|
||||
from Movement.models import Calendar
|
||||
|
||||
def metric(Day):
|
||||
Service = ServiceList.objects.all()
|
||||
Serv_report = {}
|
||||
for Serv in Service:
|
||||
service = Calendar.objects.filter(
|
||||
service__name=Serv.name,
|
||||
date=Day
|
||||
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
|
||||
Serv_report[Serv.name] = service
|
||||
sum_ = sum(Serv_report.values()) or 0
|
||||
return {
|
||||
'Service':Serv_report,
|
||||
'sum':sum_,
|
||||
}
|
||||
24
Base/Metrics/Dashboard/get_sum_of_stone.py
Normal file
24
Base/Metrics/Dashboard/get_sum_of_stone.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from Base.models import ProductList
|
||||
from Movement.models import Stock , Product
|
||||
from django.db.models import Sum
|
||||
|
||||
def metric(Day):
|
||||
List = ProductList.objects.all()
|
||||
Products = Product.objects.all()
|
||||
Stones = Stock.objects.all()
|
||||
Stones_report = {}
|
||||
|
||||
for Prod in List:
|
||||
sum_ = Stones.filter(
|
||||
product__name=Prod.name,
|
||||
).aggregate(Sum('quantity'))['quantity__sum'] or 0
|
||||
|
||||
sum_v = Products.filter(
|
||||
product__name=Prod.name,
|
||||
).aggregate(Sum('quantity'))['quantity__sum'] or 0
|
||||
|
||||
Stones_report[Prod.name] = sum_ - sum_v
|
||||
|
||||
return {
|
||||
'Stone':Stones_report,
|
||||
}
|
||||
24
Base/Metrics/Dashboard/get_sum_payment_method_service.py
Normal file
24
Base/Metrics/Dashboard/get_sum_payment_method_service.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from django.db.models import Sum
|
||||
from Base.models import PayMethod
|
||||
from Movement.models import Calendar , Product
|
||||
|
||||
|
||||
def metric(Day):
|
||||
# Total de despesas do dia
|
||||
payment_method = PayMethod.objects.all()
|
||||
serv_mov = Calendar.objects.filter(date=Day).values()
|
||||
prod_mov = Product.objects.filter(date=Day).values()
|
||||
bank_balance = {}
|
||||
for PayM in payment_method:
|
||||
sum_bank1 = serv_mov.filter(
|
||||
pay_method__name=PayM.name,
|
||||
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
|
||||
sum_bank2 = prod_mov.filter(
|
||||
pay_method__name=PayM.name,
|
||||
).aggregate(Sum('gross_value'))['gross_value__sum'] or 0
|
||||
bank_balance[PayM.name] = sum_bank1 + sum_bank2
|
||||
sum_of_bank = sum(bank_balance.values()) or 0
|
||||
return {
|
||||
'bank_balance':bank_balance,
|
||||
'sum_of_bank':sum_of_bank,
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
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
|
||||
39
Base/Metrics/DashboardAdmin/get_total_prof.py
Normal file
39
Base/Metrics/DashboardAdmin/get_total_prof.py
Normal 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
|
||||
Reference in New Issue
Block a user