fix
This commit is contained in:
@@ -111,36 +111,22 @@ class CounterpartyBalance(BaseModel):
|
|||||||
Party = apps.get_model('orders', 'Party')
|
Party = apps.get_model('orders', 'Party')
|
||||||
Income = apps.get_model('finance', 'Income')
|
Income = apps.get_model('finance', 'Income')
|
||||||
Expence = apps.get_model('finance', 'Expence')
|
Expence = apps.get_model('finance', 'Expence')
|
||||||
|
|
||||||
# party_payment = Party.objects.filter(
|
parties = Party.objects.filter(
|
||||||
# orders__counterparty=self.counterparty,
|
|
||||||
# is_deleted=False,
|
|
||||||
# currency='usd'
|
|
||||||
# ).aggregate(
|
|
||||||
# payment_amount=models.Sum('party_amount__payment_amount')
|
|
||||||
# )['payment_amount'] or 0
|
|
||||||
|
|
||||||
# party_overdue = Party.objects.filter(
|
|
||||||
# orders__counterparty=self.counterparty,
|
|
||||||
# is_deleted=False,
|
|
||||||
# currency='usd'
|
|
||||||
# ).aggregate(
|
|
||||||
# overdue_amount=models.Sum('party_amount__overdue_amount')
|
|
||||||
# )['overdue_amount'] or 0
|
|
||||||
|
|
||||||
# party_amount = Decimal(party_payment or 0) - Decimal(party_overdue or 0)
|
|
||||||
party_total_amount = Party.objects.filter(
|
|
||||||
orders__counterparty=self.counterparty,
|
orders__counterparty=self.counterparty,
|
||||||
is_deleted=False,
|
is_deleted=False,
|
||||||
currency='uzs'
|
currency='usd'
|
||||||
).distinct().aggregate(total_price=models.Sum('party_amount__paid_amount'))['total_price'] or 0
|
).distinct()
|
||||||
|
paid_amount = parties.aggregate(total_price=models.Sum('party_amount__paid_amount'))['total_price'] or 0
|
||||||
|
total_amount = parties.aggregate(total_price=models.Sum('party_amount__total_price'))['total_price'] or 0
|
||||||
income = Income.objects.filter(currency='usd', counterparty=self.counterparty).aggregate(
|
income = Income.objects.filter(currency='usd', counterparty=self.counterparty).aggregate(
|
||||||
total_price=models.Sum("price")
|
total_price=models.Sum("price")
|
||||||
)['total_price'] or 0
|
)['total_price'] or 0
|
||||||
expence = Expence.objects.filter(currency='usd', counterparty=self.counterparty).aggregate(
|
expence = Expence.objects.filter(currency='usd', counterparty=self.counterparty).aggregate(
|
||||||
total_price=models.Sum("price")
|
total_price=models.Sum("price")
|
||||||
)['total_price'] or 0
|
)['total_price'] or 0
|
||||||
return (party_total_amount + income) - expence
|
party_amount = total_amount - paid_amount
|
||||||
|
return (party_amount + income) - expence
|
||||||
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@@ -149,37 +135,22 @@ class CounterpartyBalance(BaseModel):
|
|||||||
Income = apps.get_model('finance', 'Income')
|
Income = apps.get_model('finance', 'Income')
|
||||||
Expence = apps.get_model('finance', 'Expence')
|
Expence = apps.get_model('finance', 'Expence')
|
||||||
|
|
||||||
# party_payment = Party.objects.filter(
|
|
||||||
# orders__counterparty=self.counterparty,
|
|
||||||
# is_deleted=False,
|
|
||||||
# currency='uzs'
|
|
||||||
# ).aggregate(
|
|
||||||
# payment_amount=models.Sum('party_amount__payment_amount')
|
|
||||||
# )['payment_amount'] or 0
|
|
||||||
|
|
||||||
# party_overdue = Party.objects.filter(
|
|
||||||
# orders__counterparty=self.counterparty,
|
|
||||||
# is_deleted=False,
|
|
||||||
# currency='uzs'
|
|
||||||
# ).aggregate(
|
|
||||||
# overdue_amount=models.Sum('party_amount__overdue_amount')
|
|
||||||
# )['overdue_amount'] or 0
|
|
||||||
|
|
||||||
# party_amount = Decimal(party_payment or 0) - Decimal(party_overdue or 0)
|
|
||||||
parties = Party.objects.filter(
|
parties = Party.objects.filter(
|
||||||
orders__counterparty=self.counterparty,
|
orders__counterparty=self.counterparty,
|
||||||
is_deleted=False,
|
is_deleted=False,
|
||||||
currency='uzs'
|
currency='uzs'
|
||||||
).distinct()
|
).distinct()
|
||||||
paid_amount = parties.aggregate(total_price=models.Sum('party_amount__paid_amount'))['total_price'] or 0
|
paid_amount = parties.aggregate(total_price=models.Sum('party_amount__paid_amount'))['total_price'] or 0
|
||||||
total_amount = parties.aaggregate(total_price=models.Sum('party_amount__total_price'))['total_price'] or 0
|
total_amount = parties.aggregate(total_price=models.Sum('party_amount__total_price'))['total_price'] or 0
|
||||||
income = Income.objects.filter(currency='uzs', counterparty=self.counterparty).aggregate(
|
income = Income.objects.filter(currency='uzs', counterparty=self.counterparty).aggregate(
|
||||||
total_price=models.Sum("price")
|
total_price=models.Sum("price")
|
||||||
)['total_price'] or 0
|
)['total_price'] or 0
|
||||||
expence = Expence.objects.filter(currency='uzs', counterparty=self.counterparty).aggregate(
|
expence = Expence.objects.filter(currency='uzs', counterparty=self.counterparty).aggregate(
|
||||||
total_price=models.Sum("price")
|
total_price=models.Sum("price")
|
||||||
)['total_price'] or 0
|
)['total_price'] or 0
|
||||||
return ((total_amount - paid_amount) + income) - expence
|
party_amount = total_amount - paid_amount
|
||||||
|
print(party_amount)
|
||||||
|
return (party_amount + income) - expence
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.counterparty.name}"
|
return f"{self.counterparty.name}"
|
||||||
|
|||||||
Reference in New Issue
Block a user