diff --git a/main/statistic_data.py b/main/statistic_data.py index cfb506e..8cf1e54 100644 --- a/main/statistic_data.py +++ b/main/statistic_data.py @@ -151,17 +151,16 @@ class StatisticData: return stat new_stat = {} if self.interval == 'months': - # Переделываем ключи под формат('начало_месяца - конец_месяца') for key, value in stat.items(): current_month_start = max(self.start_date, date(year=key.year, month=key.month, day=1)) current_month_end = min(self.end_date, last_day_of_month(date(year=key.year, month=key.month, day=1))) - index = ' - '.join([str(current_month_start), str(current_month_end)]) + index = (current_month_start, current_month_end) if new_stat.get(index): new_stat[index] += value else: new_stat[index] = value elif self.interval == 'days': - new_stat = stat # статистика изначально в днях + new_stat = stat return new_stat def check_time(self) -> bool: @@ -240,7 +239,8 @@ class StatisticData: :param last_log: Последний лог изменения роли, в результате которого пользователь назначен инженером. :return: Дополняет статистику работы """ - self.fill_daterange(last_log.change_time.date() + timedelta(days=1), self.end_date + timedelta(days=1)) + self.fill_daterange(last_log.change_time.date() + timedelta(days=1), + min(self.end_date, timezone.now().date()) + timedelta(days=1)) if last_log.change_time.date() == timezone.now().date(): self.statistic[last_log.change_time.date()] += ( get_timedelta(None, timezone.now().time()) - get_timedelta(last_log) diff --git a/main/templates/pages/statistic.html b/main/templates/pages/statistic.html index 120bb35..c4f0546 100644 --- a/main/templates/pages/statistic.html +++ b/main/templates/pages/statistic.html @@ -91,7 +91,7 @@ {% if interval == 'days' %}