diff --git a/core/apps/counterparty/utils/counterparty.py b/core/apps/counterparty/utils/counterparty.py index b29c09b..1e1492f 100644 --- a/core/apps/counterparty/utils/counterparty.py +++ b/core/apps/counterparty/utils/counterparty.py @@ -1,4 +1,4 @@ -from django.db.models import Sum +from django.db.models import Sum, F from core.apps.finance.models import Expence, Income from core.apps.orders.models import Party @@ -34,16 +34,17 @@ def update_counterparty_balance(counterparty): total=Sum('party_amount__paid_amount') )['total'] or 0 - party_payment_amount_usd = parties.filter(currency='usd').aggregate( - total=Sum('party_amount__payment_amount') + # total_price - paid_amount ni hisoblash + party_remain_usd = parties.filter(currency='usd').aggregate( + total=Sum(F('party_amount__total_price') - F('party_amount__paid_amount')) )['total'] or 0 - party_payment_amount_uzs = parties.filter(currency='uzs').aggregate( - total=Sum('party_amount__payment_amount') + party_remain_uzs = parties.filter(currency='uzs').aggregate( + total=Sum(F('party_amount__total_price') - F('party_amount__paid_amount')) )['total'] or 0 - debit_usd = debit_usd - party_payment_usd + party_payment_amount_usd - debit_uzs = debit_uzs - party_payment_uzs + party_payment_amount_uzs + debit_usd = debit_usd - party_payment_usd + party_remain_usd + debit_uzs = debit_uzs - party_payment_uzs + party_remain_uzs incomes = Income.objects.filter( @@ -73,4 +74,4 @@ def update_counterparty_balance(counterparty): counterparty.save(update_fields=[ 'debit_usd', 'debit_uzs', 'total_debit', 'kredit_usd', 'kredit_uzs', 'total_kredit' - ]) + ]) \ No newline at end of file