fix: fix cash_transaction prices bug

This commit is contained in:
behruz-dev
2025-09-09 15:19:24 +05:00
parent 4f023b5c4b
commit 0e0179406e
3 changed files with 50 additions and 10 deletions

View File

@@ -0,0 +1,43 @@
# Generated by Django 5.2.4 on 2025-09-09 15:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('finance', '0014_alter_expence_exchange_rate'),
]
operations = [
migrations.AlterField(
model_name='cashtransaction',
name='expence_balance_usd',
field=models.BigIntegerField(default=0),
),
migrations.AlterField(
model_name='cashtransaction',
name='expence_balance_uzs',
field=models.BigIntegerField(default=0),
),
migrations.AlterField(
model_name='cashtransaction',
name='income_balance_usd',
field=models.BigIntegerField(default=0),
),
migrations.AlterField(
model_name='cashtransaction',
name='income_balance_uzs',
field=models.BigIntegerField(default=0),
),
migrations.AlterField(
model_name='cashtransaction',
name='total_balance_usd',
field=models.BigIntegerField(default=0),
),
migrations.AlterField(
model_name='cashtransaction',
name='total_balance_uzs',
field=models.BigIntegerField(default=0),
),
]

View File

@@ -28,13 +28,13 @@ class CashTransaction(BaseModel):
CashTransactionFolder, on_delete=models.SET_NULL, related_name='cash_transactions',
null=True, blank=True
)
total_balance_usd = models.PositiveBigIntegerField(default=0)
income_balance_usd = models.PositiveBigIntegerField(default=0)
expence_balance_usd = models.PositiveBigIntegerField(default=0)
total_balance_usd = models.BigIntegerField(default=0)
income_balance_usd = models.BigIntegerField(default=0)
expence_balance_usd = models.BigIntegerField(default=0)
total_balance_uzs = models.PositiveBigIntegerField(default=0)
income_balance_uzs = models.PositiveBigIntegerField(default=0)
expence_balance_uzs = models.PositiveBigIntegerField(default=0)
total_balance_uzs = models.BigIntegerField(default=0)
income_balance_uzs = models.BigIntegerField(default=0)
expence_balance_uzs = models.BigIntegerField(default=0)
def __str__(self):
return self.name

View File

@@ -40,10 +40,7 @@ class ExpenceCreateSerializer(serializers.ModelSerializer):
payment_type.total_uzs -= expence.price
elif validated_data.get('currency') == 'usd':
cash_transaction.expence_balance_usd += expence.price
if cash_transaction.income_balance_usd > cash_transaction.expence_balance_usd:
cash_transaction.total_balance_usd = cash_transaction.income_balance_usd - cash_transaction.expence_balance_usd
else:
cash_transaction.total_balance_usd = 0
cash_transaction.total_balance_usd = cash_transaction.income_balance_usd - cash_transaction.expence_balance_usd
if payment_type.total_usd > expence.price:
payment_type.total_usd -= expence.price