Ejemplo n.º 1
0
 def __select_groceries_sum_query(self) -> Expense:
     groceries_sum_query = (Expense.select(
         fn.SUM(Expense.amount).alias('sum')).join(Category).join(
             TypeofCategory).where(
                 (TypeofCategory.name == 'Groceries')
                 & (Expense.time_creating.truncate(
                     self._formatter.period_name) == self._period)))
     return groceries_sum_query
Ejemplo n.º 2
0
 def __select_categories_query(self):
     stat_category_query = (Expense.select(
         fn.SUM(Expense.amount).alias('sum'), Category.name,
         Expense.payment_type).join(Category).where(
             Expense.time_creating.truncate(
                 self._formatter.period_name) == self._period).group_by(
                     Expense.category_id, Category.name,
                     Expense.payment_type).order_by(Expense.category_id))
     return stat_category_query
 def _select_groceries_sum_with_limit_query(self) -> Expense:
     groceries_monthly_limit_query = (Expense.select(
         fn.SUM(Expense.amount).alias('sum'),
         TypeofCategory.monthly_limit).join(Category).join(
             TypeofCategory).where(
                 (Expense.time_creating.truncate(
                     self._formatter.period_name) == self._period)
                 & (TypeofCategory.monthly_limit.is_null(False))).group_by(
                     TypeofCategory.monthly_limit).tuples())
     return groceries_monthly_limit_query
Ejemplo n.º 4
0
 def __select_detail_query(self):
     expense_detail_query = (Expense.select(
         fn.SUM(Expense.amount).alias('sum'), Category.name,
         Expense.payment_type,
         Expense.additional_info).join(Category).where(
             (Expense.time_creating.truncate(self._formatter.period_name) ==
              self._period)
             & (Category.is_additional_info_needed == True)).group_by(
                 Expense.category_id, Category.name, Expense.payment_type,
                 Expense.additional_info).order_by(Expense.category_id))
     return expense_detail_query
Ejemplo n.º 5
0
 def __select_sum_query(self) -> Expense:
     expense_sum_query = (Expense.select(
         fn.SUM(Expense.amount).alias('sum')).where(
             Expense.time_creating.truncate(self._formatter.period_name) ==
             self._period))
     return expense_sum_query