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.db import models
from django.apps import apps 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): class CounterpartyFolder(BaseModel):
@@ -69,20 +69,6 @@ class CounterpartyBalance(BaseModel):
debit_uzs = models.DecimalField(max_digits=15, decimal_places=2, default=0.00) debit_uzs = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
def save(self, *args, **kwargs): 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: if self.total_balance_usd >= 0:
self.kredit_usd = self.total_balance_usd self.kredit_usd = self.total_balance_usd
elif self.total_balance_usd <= 0: elif self.total_balance_usd <= 0:
@@ -145,6 +131,12 @@ class CounterpartyBalance(BaseModel):
total_price=models.Sum("price") total_price=models.Sum("price")
)['total_price'] or 0 )['total_price'] or 0
return (total_amount + income) - expence 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): def __str__(self):
return f"{self.counterparty.name}" return f"{self.counterparty.name}"

View File

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