﻿---
title: Планирование учебной нагрузки преподавателей
description: "Планировщик на Laravel + Filament: учебные часы, методическая и общественная работа, почасовая нагрузка с оценкой затрат и замены на время отпусков."
---

## Что это за сервис

Инструмент заведующих кафедрами, учебного управления и проректора, в котором распределяют нагрузку преподавателей на семестр или учебный год. Он показывает у каждого преподавателя не только учебные часы, но и кураторство, работу в комиссиях и другие обязанности, а на уровне вуза — насколько равномерно нагружены кафедры.

Без него распределение решают на заседании кафедры, а итог ведёт в таблице один заведующий. Комиссии и общественная работа учитываются отдельно или не учитываются вовсе. Сводной картины по подразделениям нет ни у кого. Почасовая нагрузка и работа сверх ставки оформляются неформально, поэтому их влияние на фонд оплаты труда становится заметно слишком поздно. Когда преподаватель уходит в отпуск или на больничный, его часы перераспределяют перепиской и догадками.

Для первого релиза хватает справочника видов работы, назначений на семестр и сравнения с нормой по должности. Оценку затрат, перенос прошлого семестра и очередь замен добавляют следующими шагами. Для кафедры это означает, что уже в первом семестре распределение ведётся в одном месте, а не в личной таблице заведующего, и его можно обсуждать на заседании по общим цифрам.

## Что он делает

- **Собирает нагрузку в профиль.** Учебные часы, кураторство, комиссии и административные обязанности видны в карточке преподавателя одной суммой.
- **Сравнивает план и возможности кафедры.** Распределённые часы сопоставляются с доступными по ставкам на семестр.
- **Находит перекосы.** Представление по кафедре и по вузу показывает среднюю нагрузку, разброс и тех, кто превышает норму.
- **Оценивает затраты.** Часы сверх ставки и почасовая нагрузка пересчитываются в затраты по утверждённым ставкам.
- **Готовит замены.** Отметка об отпуске или длительном отсутствии переводит курсы и обязанности преподавателя в очередь на переназначение.
- **Переносит план из прошлого семестра.** Распределение прошлого года берётся за основу и правится, а не собирается с нуля.

## Нюансы и особенности

- **Нагрузка — не только аудиторные часы.** Если считать одни занятия, преподаватель с тремя комиссиями выглядит недогруженным. Виды работы и их вес в часах согласуют с учебным управлением и хранят как справочник.
- **Норма зависит от должности и ставки.** Норма для профессора, доцента, ассистента и совместителя разная. Порог перегрузки задают по должности и доле ставки, а не одним числом.
- **Затраты — это оценка, а не расчёт зарплаты.** Сервис показывает, во что обойдётся почасовая нагрузка, но не начисляет выплаты. Начисление остаётся в бухгалтерской системе, куда можно выгрузить итог.
- **Отсутствие задают периодом.** Отпуск, больничный или стажировку отмечают с датами. Тогда видно, какие именно занятия и обязанности выпадают, и они попадают в очередь заведующего.
- **Права по уровням.** Заведующий кафедрой распределяет нагрузку внутри своей кафедры, учебное управление и проректор видят и сравнивают все. Ограничение действует на сервере, включая выгрузки.
- **Связь с расписанием.** Распределённые курсы — входные данные для [расписания занятий](https://wpcraft.ru/kb/stacks/filament/use-cases/education/class-scheduling-board.md). Держите одну запись назначения, а не копию в двух системах.
- **Когда хватит готового.** Если учётная система вуза уже ведёт распределение нагрузки и её отчёты устраивают, стоит построить только сводный дашборд поверх неё.

## Как сгенерировать через ИИ-агентов

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным **Filament 4.x**. Отправляйте их по одному и проверяйте результат каждого шага.

### 1. Данные и модели

```text
Создай модели и миграции для планирования нагрузки: Department, Faculty
(ФИО, кафедра, должность, доля ставки, статус занятости), WorkloadNorm
(должность, норма часов в год, порог перегрузки), DutyType (вид работы,
вес в часах), Assignment (преподаватель, семестр, курс или вид работы,
часы, признак сверх ставки или почасовой оплаты), PayRate (вид оплаты,
ставка за час), Absence (преподаватель, период, вид). Добавь фабрики.
```

### 2. Профиль преподавателя

```text
Сгенерируй Filament-ресурс Faculty. В карточке покажи назначения
за семестр, сумму часов, отклонение от нормы по должности и отсутствия
через relation managers. Добавь ресурс Assignment с фильтрами по кафедре,
семестру и виду работы.
```

### 3. Перенос семестра и оценка затрат

```text
Добавь действие «Создать план на основе прошлого семестра», которое копирует
назначения кафедры в новый семестр со статусом черновика. Для назначений
сверх ставки и почасовых рассчитывай затраты по PayRate и показывай сумму
по кафедре.
```

Проверьте, что копирование не затрагивает назначения прошлого семестра.

### 4. Замены на время отсутствия

```text
При создании Absence находи назначения преподавателя, которые попадают
в период, и помещай их в очередь переназначения кафедры с уведомлением
заведующему. Добавь действие «Переназначить» с выбором преподавателя
и проверкой его нормы.
```

### 5. Доступ и сводные виджеты

```text
Настрой доступ: заведующий кафедрой редактирует нагрузку своей кафедры,
учебное управление и проректор просматривают всё. Добавь виджеты средней
нагрузки и разброса по кафедрам, список перегруженных и сумму затрат
на почасовую оплату. Экспорт плана применяет те же ограничения.
```

## Похожие сценарии

- [Составление расписания занятий](https://wpcraft.ru/kb/stacks/filament/use-cases/education/class-scheduling-board.md) — следующий шаг после распределения курсов.
- [Планирование численности](https://wpcraft.ru/kb/stacks/filament/use-cases/hr/headcount-planning-dashboard.md) — ставки и вакансии, из которых складываются доступные часы.
- [Учёт отпусков](https://wpcraft.ru/kb/stacks/filament/use-cases/hr/leave-tracker.md) — источник периодов отсутствия.

## Материалы и источники

- [Refine: Faculty Workload Planner](https://refine.dev/use-cases/education/faculty-workload-planner/)
- [Filament 4.x: ресурсы](https://filamentphp.com/docs/4.x/resources/overview)
- [Filament 4.x: связанные записи](https://filamentphp.com/docs/4.x/resources/managing-relationships)
- [Filament 4.x: группировка строк таблицы](https://filamentphp.com/docs/4.x/tables/grouping)
- [Filament 4.x: виджеты](https://filamentphp.com/docs/4.x/widgets/overview)