This commit is contained in:
Zuev
2026-08-14 22:54:16 +03:00
parent 491e373cc3
commit 855d191517
10 changed files with 118 additions and 35 deletions

View File

@@ -76,7 +76,7 @@ frontend/
│ │ ├── schedule-view.js # Просмотр расписаний и запуск разовой правки из карточки
│ │ ├── schedule-override-panel.js # Боковая панель и реестр разовых изменений
│ │ ├── teacher-absences.js # Отсутствия, согласование пожеланий и заявок на изменение
│ │ ├── schedule-quality.js # Оценка, фильтры и локальные рекомендации
│ │ ├── schedule-quality.js # Оценка, фильтры и переход к редактированию правил
│ │ ├── schedule-versions.js # Черновики, публикация, восстановление, diff и аудит
│ │ ├── schedule.js # Конструктор правил и подсказки пожеланий преподавателей
│ │ ├── academic-calendar-grid.js # Расчёт ISO-недели дневной сетки
@@ -182,7 +182,7 @@ frontend/
| `teacher-absences` | Запросы преподавателей: отсутствия и мастер замены, согласование семестровых пожеланий, заявки на перенос, аудиторию или отмену | `/api/teacher-absences`, `/api/teacher-preferences`, `/api/teacher-change-requests`, `/api/users/teachers` |
| `schedule` | Конструктор правил: по умолчанию редактирует опубликованное расписание, позволяет переключиться на черновик или создать его из выбранной версии; содержит подсказки пожеланий и визуальную матрицу групп | `/api/admin/schedule-rules`, `/api/edu-office/schedule/versions`, `/api/teacher-preferences`, `/api/admin/time-slots`, `/api/admin/calendar/years`, `/api/lesson-types`, `/api/subgroups` |
| `schedule-versions` | Контур публикации: текущая версия, черновики, diff, архив, восстановление и журнал | `/api/edu-office/schedule/versions` |
| `schedule-quality` | Диагностика выбранной версии семестра: оценка, метрики, фильтруемые проблемы; для публикации — подтверждаемое локальное улучшение | `/api/edu-office/schedule/quality`, `/api/edu-office/schedule/quality/recommendations`, `/api/edu-office/schedule/overrides` |
| `schedule-quality` | Диагностика выбранной версии семестра: оценка, метрики и проблемные правила с переходом к их редактированию | `/api/edu-office/schedule/quality`, `/api/admin/schedule-rules` |
| `academic-calendar` | Учебные годы, семестры, создание календарных графиков, Excel-подобный редактор дневной сетки и привязка дисциплин к семестрам графика | `/api/admin/calendar`, `/api/admin/academic-calendars`, `/api/admin/academic-calendars/{id}/subjects`, `/api/admin/calendar/activity-types`, `/api/specialties`, `/api/specialties/{id}/profiles`, `/api/education-forms`, `/api/subjects` |
| `auditorium-workload` | Динамическая загруженность аудиторий, преподавателей и кафедр: сводная матрица по дате или совмещённая таблица выбранной сущности по чётной/нечётной неделе | `/api/classrooms`, `/api/users/teachers`, `/api/departments`, `/api/admin/time-slots`, `/api/equipments`, `/api/groups`, `/api/schedule`, `/api/admin/calendar/years` |
@@ -208,14 +208,13 @@ frontend/
действий. Каждая карточка показывает исходное и запрошенное состояние, результат
предварительной проверки и хронологию решения.
- Вкладка `schedule-quality` доступна администратору и учебному отделу. После выбора
семестра и версии она выводит круговую оценку от 0 до 100, карточки метрик и реестр проблем с
фильтрами по серьёзности и типу. Для проблемы, связанной с конкретным незакреплённым
занятием опубликованной версии, кнопка `Подобрать улучшение` запрашивает проверенные варианты времени и
аудитории. Карточка кандидата показывает изменение оценки, улучшения и компромиссы;
override создаётся только после явного подтверждения, затем анализ запускается заново.
Для `DRAFT` экран рассчитывает те же метрики и проблемы напрямую по правилам черновика,
но направляет пользователя в конструктор и не создаёт override. `ARCHIVED` анализируется
только для чтения. Экран не предлагает автоматически менять занятия, уже отредактированные вручную.
семестра и версии она выводит круговую оценку от 0 до 100, карточки метрик и реестр правил
с фильтрами по серьёзности и типу. Все проблемные занятия одного правила показаны одной
карточкой; в ней выводятся число затронутых занятий, категории и суммарный штраф. Кнопка
`Изменить правило` открывает выбранную версию в конструкторе и сразу заполняет форму этим
правилом. Сценарий одинаков для `PUBLISHED` и `DRAFT`; `ARCHIVED` анализируется только для
чтения. Переход между вкладками передаёт ID версии и правила через одноразовые ключи
`magistr.schedule.openVersionId` и `magistr.schedule.openRuleId` в `localStorage`.
- Вкладка `schedule-versions` доступна администратору и учебному отделу и оформлена как
отдельный контур публикации. Верхняя карточка показывает версию, которую видят конечные
пользователи; ниже расположены черновики, сравнение правил и занятий, архив и журнал.