fix party addd

This commit is contained in:
behruz-dev
2025-11-05 16:50:29 +05:00
parent f0f72052d5
commit eca74810ae
3 changed files with 14 additions and 52 deletions

View File

@@ -11,7 +11,7 @@ from core.apps.products.models import Product, Unity
from core.apps.projects.models import Project, ProjectFolder
from core.apps.wherehouse.models import WhereHouse
token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2JhY2tlbmQuYXBwLnV5cXVyLnV6L21haW4vYXV0aC9sb2dpbiIsImlhdCI6MTc2MjI1MDQ1MCwiZXhwIjoxNzYyMzM2ODUwLCJuYmYiOjE3NjIyNTA0NTAsImp0aSI6IkVCOFpPTVZ1ZVJpMDlTOFciLCJzdWIiOiIxMDQiLCJwcnYiOiIyM2JkNWM4OTQ5ZjYwMGFkYjM5ZTcwMWM0MDA4NzJkYjdhNTk3NmY3In0.8K1SbHvgJDyNYHE6BYIXYesZl-AmFjU6GMeEuJwM_jA"
token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2JhY2tlbmQuYXBwLnV5cXVyLnV6L21haW4vYXV0aC9sb2dpbiIsImlhdCI6MTc2MjMzNjg2MSwiZXhwIjoxNzYyNDIzMjYxLCJuYmYiOjE3NjIzMzY4NjEsImp0aSI6Ino1SVpXRmlTVUJpMDA2eDciLCJzdWIiOiIxMDQiLCJwcnYiOiIyM2JkNWM4OTQ5ZjYwMGFkYjM5ZTcwMWM0MDA4NzJkYjdhNTk3NmY3In0.yVOvrb-QjdYvCx6GJOW4T5y_N9-Lq2ThYFPu8_J0K3w"
headers = {"Authorization": f"Bearer {token}"}
@@ -71,6 +71,7 @@ class Command(BaseCommand):
paid_amount = 0
calculated_amount = 0
must_pay_amount = 0
debt_amount = 0
for i in data["warehouse_products"]:
product = Product.objects.filter(
name__icontains=i["product"]["name"]["uz"]
@@ -108,6 +109,7 @@ class Command(BaseCommand):
paid_amount += i["paid_amount"]
calculated_amount += i["calculated_amount"]
must_pay_amount += i["must_pay_amount"]
debt_amount += i['debt_amount']
orders.append(order)
party.orders.set(orders)
PartyAmount.objects.get_or_create(
@@ -117,6 +119,8 @@ class Command(BaseCommand):
"calculated_amount": calculated_amount,
"paid_amount": paid_amount,
"payment_amount": must_pay_amount,
"debt_amount": debt_amount,
"total_expense_amount": item['item'],
},
)
self.stdout.write("Parties added")

View File

@@ -71,12 +71,13 @@ class Party(BaseModel):
self.process = 75
elif self.status == 'PARTY_IS_MADE':
self.process = 100
if hasattr(self, 'party_amount') and self.party_amount.paid_amount > 0 and self.party_amount.payment_amount > 0:
self.payment_percentage = (self.party_amount.paid_amount / self.party_amount.payment_amount) * 100
self.party_amount.save()
else:
self.payment_percentage = 100.0
self.status == 'PURCHASED'
if not self.payment_percentage:
if hasattr(self, 'party_amount') and self.party_amount.paid_amount > 0 and self.party_amount.payment_amount > 0:
self.payment_percentage = (self.party_amount.paid_amount / self.party_amount.payment_amount) * 100
self.party_amount.save()
else:
self.payment_percentage = 100.0
self.status == 'PURCHASED'
return super().save(*args, **kwargs)
class Meta:
@@ -91,6 +92,8 @@ class PartyAmount(BaseModel):
calculated_amount = models.BigIntegerField(default=0)
paid_amount = models.BigIntegerField(default=0)
payment_amount = models.BigIntegerField(default=0)
debt_amount = models.BigIntegerField(default=0)
total_expense_amount = models.BigIntegerField(default=0)
def __str__(self):
return f'{self.party} amount'