fix
This commit is contained in:
@@ -21,6 +21,8 @@ from core.apps.orders.tasks.order import create_inventory
|
|||||||
# finance app
|
# finance app
|
||||||
from core.apps.finance.models import Expence
|
from core.apps.finance.models import Expence
|
||||||
from core.apps.finance.serializers.expence import ExpenceListSerializer
|
from core.apps.finance.serializers.expence import ExpenceListSerializer
|
||||||
|
# sharede
|
||||||
|
from core.apps.shared.models import UsdCourse
|
||||||
|
|
||||||
|
|
||||||
class PartyCreateApiView(generics.GenericAPIView):
|
class PartyCreateApiView(generics.GenericAPIView):
|
||||||
@@ -237,6 +239,8 @@ 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 = 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'),
|
||||||
cost_amount_usd=Sum('party_amount__cost_amount'),
|
cost_amount_usd=Sum('party_amount__cost_amount'),
|
||||||
@@ -260,9 +264,18 @@ 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)
|
||||||
|
|
||||||
|
uzs_total = safe(uzs.get('total_price_uzs'))
|
||||||
|
|
||||||
|
total_balance = uzs_total + usd_total_in_uzs
|
||||||
|
|
||||||
res = {
|
res = {
|
||||||
'usd': usd,
|
'usd': usd,
|
||||||
'uzs': uzs
|
'uzs': uzs,
|
||||||
|
'total_balance': total_balance
|
||||||
}
|
}
|
||||||
return Response(res, status=200)
|
return Response(res, status=200)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user