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',
|
CashTransactionFolder, on_delete=models.SET_NULL, related_name='cash_transactions',
|
||||||
null=True, blank=True
|
null=True, blank=True
|
||||||
)
|
)
|
||||||
total_balance_usd = models.PositiveBigIntegerField(default=0)
|
total_balance_usd = models.BigIntegerField(default=0)
|
||||||
income_balance_usd = models.PositiveBigIntegerField(default=0)
|
income_balance_usd = models.BigIntegerField(default=0)
|
||||||
expence_balance_usd = models.PositiveBigIntegerField(default=0)
|
expence_balance_usd = models.BigIntegerField(default=0)
|
||||||
|
|
||||||
total_balance_uzs = models.PositiveBigIntegerField(default=0)
|
total_balance_uzs = models.BigIntegerField(default=0)
|
||||||
income_balance_uzs = models.PositiveBigIntegerField(default=0)
|
income_balance_uzs = models.BigIntegerField(default=0)
|
||||||
expence_balance_uzs = models.PositiveBigIntegerField(default=0)
|
expence_balance_uzs = models.BigIntegerField(default=0)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|||||||
@@ -40,10 +40,7 @@ class ExpenceCreateSerializer(serializers.ModelSerializer):
|
|||||||
payment_type.total_uzs -= expence.price
|
payment_type.total_uzs -= expence.price
|
||||||
elif validated_data.get('currency') == 'usd':
|
elif validated_data.get('currency') == 'usd':
|
||||||
cash_transaction.expence_balance_usd += expence.price
|
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
|
||||||
cash_transaction.total_balance_usd = cash_transaction.income_balance_usd - cash_transaction.expence_balance_usd
|
|
||||||
else:
|
|
||||||
cash_transaction.total_balance_usd = 0
|
|
||||||
if payment_type.total_usd > expence.price:
|
if payment_type.total_usd > expence.price:
|
||||||
payment_type.total_usd -= expence.price
|
payment_type.total_usd -= expence.price
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user