This commit is contained in:
behruz-dev
2025-11-14 19:36:41 +05:00
parent f19f195980
commit 05e371e22a

View File

@@ -349,10 +349,9 @@ class CounterpartyAKTApiView(views.APIView):
return Response(response, status=200) return Response(response, status=200)
def _group_by_date(self, parties, incomes, expences): def _group_by_date(self, parties, incomes, expences):
"""Kun bo'yicha kirim/chiqim/partiyalarni alohida item ko'rinishida qaytarish""" daily_data = defaultdict(list)
daily_data = defaultdict(list) # Har kun uchun ro'yxat
# --- PARTIES bilan bog'liq kirimlar (kredit) --- # PARTIYALAR (kirim)
for party in parties: for party in parties:
date_key = party.closed_date.strftime('%Y-%m-%d') date_key = party.closed_date.strftime('%Y-%m-%d')
@@ -360,40 +359,40 @@ class CounterpartyAKTApiView(views.APIView):
"type": "kirim", "type": "kirim",
"price": str(getattr(party, 'total_price', 0) or 0), "price": str(getattr(party, 'total_price', 0) or 0),
"partiya": PartyAKTSerializer(party).data, "partiya": PartyAKTSerializer(party).data,
"kirim": True, "kirim": None,
"chiqim": None, "chiqim": None
}) })
# --- INCOME (kirim) --- # INCOMES (kirim)
for income in incomes: for income in incomes:
date_key = income.created_at.strftime('%Y-%m-%d') date_key = income.created_at.strftime('%Y-%m-%d')
daily_data[date_key].append({ daily_data[date_key].append({
"type": "kirim", "type": "kirim",
"price": str(income.price or 0), "price": str(income.price or 0),
"partiya": None, # Income partiya bilan bog'liq emas "partiya": None, # ❗ KIRIM ichida PARTIYA BOLMAYDI
"kirim": IncomeListSerializer(income).data, "kirim": IncomeListSerializer(income).data,
"chiqim": None, "chiqim": None
}) })
# --- EXPENCE (chiqim) --- # EXPENCES (chiqim)
for expence in expences: for expence in expences:
date_key = expence.created_at.strftime('%Y-%m-%d') date_key = expence.created_at.strftime('%Y-%m-%d')
daily_data[date_key].append({ daily_data[date_key].append({
"type": "chiqim", "type": "chiqim",
"price": str(expence.price or 0), "price": str(expence.price or 0),
"partiya": None, # Chiqim partiya bilan bog'liq emas "partiya": None,
"kirim": None, "kirim": None,
"chiqim": ExpenceListSerializer(expence).data, "chiqim": ExpenceListSerializer(expence).data
}) })
# Yakuniy formatga keltirish # Yakuniy format
result = [] result = []
for date_key in sorted(daily_data.keys(), reverse=True): for date_key in sorted(daily_data.keys(), reverse=True):
result.append({ result.append({
"date": date_key, "date": date_key,
"items": daily_data[date_key] # har bir kunga tegishli kirim/chiqimlar "items": daily_data[date_key]
}) })
return result return result