Отчёт по смене

Роут: /shift-records/:id/report API: GET /api/v1/admin/shift-records/:id/report


Что видит пользователь

Детальный отчёт по конкретной смене кассира. Вверху — информация о смене, ниже — финансовые показатели (карточки), далее — таблица топ товаров.


Навигация

  • Ссылка “Назад” → возврат к дашборду активности / расписанию смен
  • Хлебные крошки: Активность → Сотрудники → Отчёт по смене

Шапка

ЭлементДанныеПримечание
ФИО сотрудникаshift.employee_nameКрупный текст
Бейдж ролииз JWT / справочник”Кассир”, “Менеджер”
Торговая точкаshift.store_name
Дата сменыshift.dateDD.MM.YYYY
Статус отчётаreport_typeБейдж: зелёный “X-отчёт (смена открыта)” / серый “Z-отчёт (смена закрыта)“

Блок времени

ПоказательДанныеФормат
Начало сменыshift.clock_inHH:MM
Конец сменыshift.clock_outHH:MM или “сейчас” (для X-отчёта)
Перерывshift.break_duration_minutes”30 мин”
Отработановычисляемое”7ч 30м”

Метрики — финансы (карточки, 1 ряд)

КарточкаЗначениеИконка
Выручкаfinancials.total_revenueРубль
Наличныеfinancials.cash_amountКупюра
Картаfinancials.card_amountКарта
QRfinancials.qr_amountQR-код

Формат: число с разделителем тысяч + ” ₽“.


Метрики — заказы (карточки, 2 ряд)

КарточкаЗначениеИконка
Всего заказовfinancials.total_ordersЧек
Завершеноfinancials.completed_ordersГалочка
Отмененоfinancials.cancelled_ordersКрестик
Средний чекfinancials.average_checkКалькулятор

Таблица: Топ товаров

КолонкаДанныеПримечание
#Порядковый номер1, 2, 3…
Названиеtop_items[].name
Количествоtop_items[].quantityшт.
Суммаtop_items[].amount₽, с разделителем тысяч

Сортировка: по сумме desc (приходит с бэкенда).

Если top_items пуст — “Нет данных о проданных товарах”.


Действия

ДействиеЭлементОписание
Экспорт CSVКнопка в шапкеСкачивает отчёт в CSV (клиентская генерация)

Состояния

СостояниеЧто показываем
ЗагрузкаSkeleton для шапки + карточек + таблицы
ДанныеПолный отчёт
Нет заказовШапка смены + карточки с нулями + “Нет заказов за эту смену”
Ошибка”Не удалось загрузить отчёт” + кнопка “Повторить”
404”Смена не найдена”
403Редирект на дашборд

Ролевой доступ

РольДоступ
FranchiseВсе смены
FranchiseeТолько свои ТТ
Менеджер ТТТолько своя ТТ
Кассир403, редирект

Переходы

ОткудаКудаТриггер
Дашборд активностиОтчёт по сменеКлик по строке сотрудника → кнопка “Отчёт”
Дашборд терминаловОтчёт по сменеКлик по строке смены
Расписание сменОтчёт по сменеКлик по факт. смене
Отчёт по сменеКарточка сотрудникаКлик по ФИО

Ссылки