В этом обновлении реализованы следующие изменения и улучшения:
Улучшено логирование:
-
Добавлено логирование действий пользователей во всех ключевых обработчиках. Теперь в логах фиксируется ID и username пользователя при вызове команд (например, /start, /upload, /get_plan_fact и других). Это позволяет лучше отслеживать активность и помогает в отладке.
-
Новая команда для принудительного запуска автоотчёта:
-
Реализована команда /force_report, которая позволяет вручную запустить задачу автоотчёта. Теперь автоотчёт можно запустить вне расписания, что полезно для тестирования или оперативного получения отчёта.
-
Команда интегрирована с текущей системой расписания (job_queue), и её запуск логируется.
Расширенная функциональность отчётов:
-
Добавлен агрегированный отчёт по сетям с использованием словаря NETWORK_GROUPS. Пользователи могут теперь получать отчёты не только по отдельным заведениям, но и по целым сетям (например, для городов «Киев», «Днепр», «Харьков»).
-
Улучшена обработка данных по плану и факту из Excel и OLAP-отчётов iiko, что обеспечивает корректное суммирование и расчёт среднего чека.
-
Общее улучшение структуры кода:
-
Код структурирован с использованием ConversationHandler для диалогов с пользователем, что упрощает его поддержку и расширение.
-
Реализована функция экранирования Markdown для безопасного форматирования сообщений.