This commit is contained in:
behruz-dev
2025-11-18 16:02:55 +05:00
parent 3d39a415eb
commit f4d1b0afbe
3 changed files with 27 additions and 16 deletions

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.2.4 on 2025-11-18 15:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('counterparty', '0008_remove_counterparty_balance_and_more'),
]
operations = [
migrations.AddField(
model_name='counterpartybalance',
name='total_balance',
field=models.DecimalField(decimal_places=2, default=0.0, max_digits=15),
),
]

View File

@@ -3,7 +3,7 @@ from decimal import Decimal
from django.db import models
from django.apps import apps
from core.apps.shared.models import BaseModel, Region, District
from core.apps.shared.models import BaseModel, Region, District, UsdCourse
class CounterpartyFolder(BaseModel):
@@ -69,20 +69,6 @@ class CounterpartyBalance(BaseModel):
debit_uzs = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
def save(self, *args, **kwargs):
# if self.balance_usd > 0:
# self.debit_usd = self.balance_usd
# self.kredit_usd = Decimal('0.00')
# elif self.balance_usd < 0:
# self.kredit_usd = abs(self.balance_usd)
# self.debit_usd = Decimal('0.00')
# if self.balance_uzs > 0:
# self.debit_uzs = self.balance_uzs
# self.kredit_uzs = Decimal('0.00')
# elif self.balance_uzs < 0:
# self.kredit_uzs = abs(self.balance_uzs)
# self.debit_uzs = Decimal('0.00')
if self.total_balance_usd >= 0:
self.kredit_usd = self.total_balance_usd
elif self.total_balance_usd <= 0:
@@ -146,6 +132,12 @@ class CounterpartyBalance(BaseModel):
)['total_price'] or 0
return (total_amount + income) - expence
@property
def total_balance(self):
usd_course = Decimal(UsdCourse.objects.first().value) if UsdCourse.objects.exists() else Decimal(12000)
return self.total_balance_usd + (self.total_balance_usd * usd_course)
def __str__(self):
return f"{self.counterparty.name}"

View File

@@ -266,7 +266,8 @@ class CounterPartyIncomeExpenceStatisticsApiView(views.APIView):
'balance': {
'uzs': balance_uzs,
'usd': balance_usd,
'status': status
'status': status,
'total_balance': counterparty.balance.total_balance
}
}