fix: fix cash_transaction prices bug
This commit is contained in:
@@ -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),
|
||||
),
|
||||
]
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user