fix
This commit is contained in:
@@ -239,7 +239,9 @@ class PartyStatisticsApiView(generics.GenericAPIView):
|
||||
queryset = self.filter_queryset(self.queryset)
|
||||
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(
|
||||
total_price_usd=Sum('party_amount__calculated_amount'),
|
||||
@@ -264,18 +266,24 @@ class PartyStatisticsApiView(generics.GenericAPIView):
|
||||
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 = {
|
||||
'usd': usd,
|
||||
'uzs': uzs,
|
||||
'total_balance': total_balance
|
||||
"usd": usd,
|
||||
"uzs": uzs,
|
||||
"total_balance": total
|
||||
}
|
||||
return Response(res, status=200)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user