def get_sales_actual_week(self): """ Gets the following properties for each week's day: Name, Date and Earnings """ helper = Helper() week_sales_list = [] total_earnings = 0 days_to_count = helper.get_number_day(datetime.now()) day_limit = days_to_count start_date_number = 0 while start_date_number <= day_limit: day_object = { 'date': str( helper.start_datetime(days_to_count).date().strftime( '%d-%m-%Y')), 'day_name': None, 'earnings': None, 'number_day': helper.get_number_day( helper.start_datetime(days_to_count).date()), } day_tickets = self.tickets_pos.filter(ticket__created_at__range=[ helper.start_datetime(days_to_count), helper.end_datetime(days_to_count) ]) for ticket_item in day_tickets: for ticket_cartridge_detail_item in self.get_cartridges_tickets_details( ): if ticket_cartridge_detail_item.ticket_base == ticket_item.ticket: total_earnings += ticket_cartridge_detail_item.price for ticket_package_detail_item in self.get_packages_tickets_details( ): if ticket_package_detail_item.ticket_base == ticket_item.ticket: total_earnings += ticket_package_detail_item.price day_object['earnings'] = str(total_earnings) day_object['day_name'] = helper.get_name_day( helper.start_datetime(days_to_count).date()) week_sales_list.append(day_object) # restarting counters days_to_count -= 1 total_earnings = 0 start_date_number += 1 return json.dumps(week_sales_list)
def get_info_rates_actual_week(self): """ Gets the following properties for each week's day: Day name, Date, number day and total rates :rtype: list """ helper = Helper() week_suggestions_list = [] days_to_count = helper.get_number_day(datetime.now()) day_limit = days_to_count start_date_number = 0 while start_date_number <= day_limit: day_object = { 'date': str( helper.start_datetime(days_to_count).date().strftime( '%d-%m-%Y')), 'day_name': None, 'total_rates': None, 'number_day': helper.get_number_day( helper.start_datetime(days_to_count).date()), } filtered_suggestions = self.satisfaction_ratings.filter( creation_date__range=[ helper.start_datetime(days_to_count), helper.end_datetime(days_to_count) ]) day_object['total_rates'] = str(filtered_suggestions.count()) day_object['day_name'] = helper.get_name_day( helper.start_datetime(days_to_count).date()) week_suggestions_list.append(day_object) # restarting counters days_to_count -= 1 start_date_number += 1 return json.dumps(week_suggestions_list)
def get_diners_actual_week(self): if self.__all_access_logs is None: self.set_all_access_logs() helper = Helper() week_diners_list = [] total_entries = 0 days_to_count = helper.get_number_day(date.today()) day_limit = days_to_count start_date_number = 0 while start_date_number <= day_limit: day_object = { 'date': str( helper.start_datetime(days_to_count).date().strftime( '%d-%m-%Y')), 'day_name': None, 'entries': None, 'number_day': helper.get_number_day( helper.start_datetime(days_to_count).date()) } logs = self.__all_access_logs. \ filter(access_to_room__range=[helper.start_datetime(days_to_count), helper.end_datetime(days_to_count)]) for _ in logs: total_entries += 1 day_object['entries'] = str(total_entries) day_object['day_name'] = helper.get_name_day( helper.start_datetime(days_to_count).date()) week_diners_list.append(day_object) # restarting counters days_to_count -= 1 total_entries = 0 start_date_number += 1 return json.dumps(week_diners_list)