Files
RRBEC/gestaoRaul/payments/models.py

38 lines
1.2 KiB
Python

from django.db import models
from decimal import Decimal
from typePay.models import TypePay
from comandas.models import Comanda, ProductComanda
from clients.models import Client
class Payments(models.Model):
id = models.AutoField(primary_key=True)
value = models.DecimalField(max_digits=10, decimal_places=2)
type_pay = models.ForeignKey(TypePay, on_delete=models.PROTECT)
comanda = models.ForeignKey(Comanda, on_delete=models.PROTECT)
client = models.ForeignKey(Client, null=True , on_delete=models.PROTECT)
description = models.CharField(max_length=255)
datetime = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.comanda.name
def somar(consumo:ProductComanda, comanda:Comanda):
parcial = Payments.objects.filter(comanda=comanda)
totalParcial = Decimal(0)
total:Decimal = Decimal(0)
for p in parcial:
totalParcial += p.value
for produto in consumo:
total += Decimal(produto.product.price)
valores = {
'total':total,
'parcial':totalParcial,
'taxa': round(total * Decimal(0.1), 2),
'totalSemTaxa':total - totalParcial,
'totalComTaxa': round((total - totalParcial)+(total * Decimal(0.1)),2)
}
return valores