mirror of
https://github.com/welton89/RRBEC.git
synced 2026-04-05 21:45:41 +00:00
38 lines
1.2 KiB
Python
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 |