BUG-021: Список ролей — нет кол-ва сотрудников; Список сотрудников — нет ролей и ТТ

Описание

Две связанные проблемы отображения в админке:

Проблема 1: Страница /admin/roles — не видно количество сотрудников

В списке ролей колонка «Сотрудников» пустая или 0 для всех ролей, хотя сотрудники назначены.

Проблема 2: Страница /admin/employees — не видно ролей и ТТ

В списке сотрудников колонки «Permissions-роли» и «Торговые точки» пустые — не отображаются назначенные роли и магазины.

Шаги воспроизведения

  1. Залогиниться как ip@erp.local / admin123
  2. Создать роль «Кассир», создать сотрудника с этой ролью + ТТ
  3. Открыть /admin/roles → колонка «Сотрудников» у роли «Кассир» пустая
  4. Открыть /admin/employees → у сотрудника не видно ни ролей, ни ТТ

Ожидаемое поведение

Список ролей:

| Название    | Сотрудников | Системная |
|-------------|-------------|-----------|
| Администратор | 1          | ✓         |
| Кассир       | 2          |           |
| Менеджер ТТ  | 1          |           |

Список сотрудников:

| ФИО            | Permissions-роли | Торговые точки          |
|----------------|-----------------|------------------------|
| Мария Петрова  | Кассир          | Шаурма Арбат           |
| Дмитрий Сидоров| Менеджер ТТ     | Шаурма Арбат, Тверская |

Фактическое поведение

Список ролей: колонка «Сотрудников» = 0 или пусто.

Список сотрудников: колонки «Permissions-роли» и «Торговые точки» = пустые.

Анализ

Проблема 1 (employee_count в ролях)

Backend GET /api/v1/roles должен возвращать employee_count для каждой роли (COUNT из employee_roles). Нужно проверить:

  • Возвращает ли User Service поле employee_count / employees_count в RoleListItem
  • Читает ли фронт это поле (может другое имя — employee_count vs employees_count)

Проблема 2 (роли и ТТ в списке сотрудников)

Backend GET /api/v1/employees (list endpoint) возвращает EmployeeListItem. Нужно проверить:

  • Включает ли EmployeeListItem поле roles[] (с names и stores)
  • Фронт ранее читал store_ids (top-level) — поле удалено в BR 1.4.4; ТТ теперь из roles[].stores[]
  • Фронт ListPage.tsx: колонка «Permissions-роли» берёт roles[].name — но если backend не возвращает roles в list-ответе, колонка пуста

Затронутые сервисы

СервисПроблема
User ServiceGET /roles — employee_count может не считаться; GET /employees list — может не включать roles[] в EmployeeListItem
Admin WebListPage.tsx ролей — колонка employee_count; ListPage.tsx сотрудников — колонки roles и stores