feat: processing of modules in card, renaming

This commit is contained in:
2025-02-20 20:20:42 +04:00
parent 1af78ce08a
commit c6c006d45b
7 changed files with 174 additions and 167 deletions

View File

@@ -70,24 +70,24 @@ class TransactionsStatisticsService(BaseService):
return expenses_with_filled_gaps
@staticmethod
def _apply_transactions(deals_by_dates: Subquery, transactions: Subquery):
def _apply_transactions(cards_by_dates: Subquery, transactions: Subquery):
return (
select(
deals_by_dates.c.date,
deals_by_dates.c.deals_count,
(deals_by_dates.c.revenue + transactions.c.revenue).label("revenue"),
(func.coalesce(deals_by_dates.c.profit, 0) - func.coalesce(transactions.c.expenses, 0) + func.coalesce(
cards_by_dates.c.date,
cards_by_dates.c.cards_count,
(cards_by_dates.c.revenue + transactions.c.revenue).label("revenue"),
(func.coalesce(cards_by_dates.c.profit, 0) - func.coalesce(transactions.c.expenses, 0) + func.coalesce(
transactions.c.revenue, 0))
.label("profit"),
(deals_by_dates.c.expenses + transactions.c.expenses).label("expenses"),
(cards_by_dates.c.expenses + transactions.c.expenses).label("expenses"),
)
.join(transactions, transactions.c.date == deals_by_dates.c.date)
.join(transactions, transactions.c.date == cards_by_dates.c.date)
)
def apply_transactions(self, filters: CommonProfitFilters, deals_by_dates: Subquery):
def apply_transactions(self, filters: CommonProfitFilters, cards_by_dates: Subquery):
self.date_from, self.date_to = filters.date_range
additional_expenses = self._get_additional_transactions_sub(filters.income_tag_id, filters.expense_tag_id)
deals_by_dates = self._apply_transactions(deals_by_dates, additional_expenses)
cards_by_dates = self._apply_transactions(cards_by_dates, additional_expenses)
return deals_by_dates
return cards_by_dates