fix
This commit is contained in:
@@ -239,7 +239,9 @@ class PartyStatisticsApiView(generics.GenericAPIView):
|
|||||||
queryset = self.filter_queryset(self.queryset)
|
queryset = self.filter_queryset(self.queryset)
|
||||||
today = now().date()
|
today = now().date()
|
||||||
|
|
||||||
usd_course = UsdCourse.objects.first().value if UsdCourse.objects.exists() else Decimal('12000')
|
usd_course = Decimal(
|
||||||
|
UsdCourse.objects.first().value if UsdCourse.objects.exists() else 12000
|
||||||
|
)
|
||||||
|
|
||||||
usd = queryset.filter(currency='usd', is_deleted=False).aggregate(
|
usd = queryset.filter(currency='usd', is_deleted=False).aggregate(
|
||||||
total_price_usd=Sum('party_amount__calculated_amount'),
|
total_price_usd=Sum('party_amount__calculated_amount'),
|
||||||
@@ -264,18 +266,24 @@ class PartyStatisticsApiView(generics.GenericAPIView):
|
|||||||
filter=Q(payment_date__lt=today)
|
filter=Q(payment_date__lt=today)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
def safe(x): return x if x is not None else Decimal(0)
|
|
||||||
|
|
||||||
usd_total_in_uzs = safe(usd.get('total_price_usd')) * Decimal(usd_course)
|
def safe(x):
|
||||||
|
return Decimal(x) if x is not None else Decimal(0)
|
||||||
|
|
||||||
uzs_total = safe(uzs.get('total_price_uzs'))
|
|
||||||
|
|
||||||
total_balance = uzs_total + usd_total_in_uzs
|
total = {
|
||||||
|
"total_price": safe(uzs["total_price_uzs"]) + (safe(usd["total_price_usd"]) * usd_course),
|
||||||
|
"cost_amount": safe(uzs["cost_amount_uzs"]) + (safe(usd["cost_amount_usd"]) * usd_course),
|
||||||
|
"calculated_amount": safe(uzs["calculated_amount_uzs"]) + (safe(usd["calculated_amount_usd"]) * usd_course),
|
||||||
|
"paid_amount": safe(uzs["paid_amount_uzs"]) + (safe(usd["paid_amount_usd"]) * usd_course),
|
||||||
|
"payment_amount": safe(uzs["payment_amount_uzs"]) + (safe(usd["payment_amount_usd"]) * usd_course),
|
||||||
|
"overdue_payments": safe(uzs["overdue_payments_uzs"]) + (safe(usd["overdue_payments_usd"]) * usd_course),
|
||||||
|
}
|
||||||
|
|
||||||
res = {
|
res = {
|
||||||
'usd': usd,
|
"usd": usd,
|
||||||
'uzs': uzs,
|
"uzs": uzs,
|
||||||
'total_balance': total_balance
|
"total_balance": total
|
||||||
}
|
}
|
||||||
return Response(res, status=200)
|
return Response(res, status=200)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user