написал обработку количества часов лекций лабораторных и практик по отдельности
This commit is contained in:
33
docs/SCHEDULE_TASKS.md
Normal file
33
docs/SCHEDULE_TASKS.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Задачи: динамическое расписание и календарный учебный график
|
||||
|
||||
Актуальная декомпозиция относится к модели, где календарный учебный график хранится дневной сеткой и назначается группе на учебный год.
|
||||
|
||||
## Выполнено
|
||||
|
||||
- [x] Переписана базовая схема `V1__init.sql` под полный сброс БД.
|
||||
- [x] Добавлены специальности, профили обучения и связь группы с профилем.
|
||||
- [x] Добавлены формы обучения календарного графика.
|
||||
- [x] Добавлен справочник кодов активностей Excel-графика.
|
||||
- [x] Добавлены календарные графики, дневная сетка и назначения графиков группам.
|
||||
- [x] Обновлён `AcademicDateService`: активность дня определяется по назначенному группе графику.
|
||||
- [x] Обновлён `ScheduleGeneratorService`: обычные пары генерируются только на разрешённых днях.
|
||||
- [x] В `V1__init.sql` добавлены отдельные часы и недели начала для лекций, лабораторных и практик.
|
||||
- [x] Добавлены API профилей, календарей, дневной сетки, кодов активностей и назначений группам.
|
||||
- [x] Обновлены админские экраны специальностей, групп и расписания.
|
||||
- [x] Добавлена документация `docs/ACADEMIC_CALENDAR.md`.
|
||||
|
||||
## Оставшиеся задачи
|
||||
|
||||
- [ ] Добавить интеграционные тесты генерации расписания для кодов `Т`, `Э`, `К`, `*`, `=`.
|
||||
- [ ] Добавить проверку конфликтов преподавателей, аудиторий и групп при сохранении правил.
|
||||
- [ ] Добавить модель связи пользователя-студента с учебной группой.
|
||||
- [ ] Добавить импорт календарного графика из Excel, если он понадобится после ручного редактора.
|
||||
|
||||
## Проверочный сценарий
|
||||
|
||||
1. Полностью сбросить локальную БД.
|
||||
2. Запустить приложение и применить `V1__init.sql`.
|
||||
3. Создать профиль специальности.
|
||||
4. Создать календарный график и заполнить дневную сетку.
|
||||
5. Назначить график группе.
|
||||
6. Проверить `GET /api/schedule` на дне теории и на днях, где пары запрещены.
|
||||
Reference in New Issue
Block a user