Мониторинг смен
Real-time дашборд открытых и недавно закрытых смен по ТТ. Позволяет менеджеру увидеть какие кассиры сейчас на смене и предупредить о приближении 24-часового лимита ФН.
Файл
erp-admin/web/src/pages/shifts/ShiftMonitorPage.tsx
Роут
/shifts/monitor — видимость по permission time_tracking.read.
Доступ
| Роль | Доступ |
|---|---|
| Franchise | Все ТТ франшизы |
| Franchisee | Свои ТТ |
| Manager | Своя ТТ |
| Cashier | 403 |
Layout
Две секции на странице:
1. Открытые смены
Таблица всех смен где clock_in IS NOT NULL AND clock_out IS NULL.
| Колонка | Содержимое |
|---|---|
| Кассир | ФИО сотрудника |
| ТТ | Название торговой точки |
| Открыта | clock_in (HH:MM, DD.MM) |
| Продолжительность | hours:minutes с момента clock_in |
| Выручка | Сумма продаж за смену (из Order Service) |
| Статус | Alert-badge: |
Alert-badge по продолжительности смены:
| Часы | Статус | Цвет |
|---|---|---|
| < 16h | OK | 🟢 success |
| 16-22h | Скоро 24h | 🟡 warning |
| ≥ 22h | Срочно Z! | 🔴 red |
2. Недавно закрытые
Таблица смен, закрытых за последние 24 часа. Колонки аналогичны, плюс:
- Закрыта (
clock_out) - Итог (выручка / наличные / карта / возвраты)
- Ссылка на Отчёт по смене по
shift_record_id
Поведение
- Auto-refresh каждые 30 секунд.
- При наведении на строку в «Открытые» — подсвечивается строка.
- Клик по строке «Недавно закрытые» → переход на
/shift-report/{id}.
Источник данных
- User Service:
GET /api/v1/shift-records?store_id=...&status=open|recent_closed - Order Service (для выручки):
GET /internal/orders/shift-report?employee_id=...&store_id=...&from=...&to=...(параметрыfrom/to=clock_in/clock_outсоответствующей записи shift-records)
Нет фильтра по
shift_record_idOrder Service
shift-reportне принимаетshift_record_idнапрямую — фронт/BFF формирует запрос изemployee_id + clock_in/clock_outконкретной смены.
Фильтры
- ТТ (мультивыбор)
- Роль сотрудника (опционально)
Что НЕ реализовано
- Кнопка «Принудительно закрыть смену» (управление с админки).
- Push-нотификация при переходе смены в статус «Срочно Z!».
- История изменений по смене (correction audit log).
- Экспорт открытых смен в CSV.
Ссылки
- Отчёт по смене — детальная карточка смены
- Дашборд активности сотрудников — смежный дашборд
- User Service API