Разработка:storages/agroups
Плагин | |
Название | agroups |
Тип | storages |
Таблица в базе данных
agroups - классы/академические группы. Связывают контракты на обучение и учебные программы при групповой форме обучения.
Подробный формат полей в таблице:
- name - название академической группы/класса
- code - кодовое обозначение группы (текстовое поле, обязательное, уникальное)
- programmid - id учебной программы в таблице programms , которую реализует академическая группа
- departmentid - отдел в таблице departments , ответственный за группу
- agenum - порядковый номер текущего учебного периода (изменяется приказом по контингенту). Параллель группы может быти изменена только если группа находится в статусе "формируется".
- status - список статусов указан в одноименном плагине рабочих процессов agroups
Дополнительные методы:
insert()
Вставляет запись в таблицу(ы) плагина
Аргументы:
- $dataobject - данные записи
Возвращаемые значения:
- int - id вставленной записи
- mixed bool - false если операция не удалась
search_group_code()
находит группу по коду
Аргументы:
- $code - код группы
Возвращаемые значения:
- mixed object объект группы
- bool false если группа не найдена
get_groups_programm()
находит все группы, обучающиеся по учебной программе.
Аргументы:
- $prid(int) - id программы в таблице programms .
- $status(string) - статус группы, по умолчанию - обучается(learn).
- $agenum(int) - номер периода.
- $dpid(int) - id структурного подразделения.
Возвращаемые значения:
- (array) список групп.
- (bool) false - если группы не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список групп:
- если указывается статус - группы с указанным статусом,
- если статус указывается null - группы с любым статусом,
- если статус не указывается - группы со статусом learn.
- если указывается номер периода - группы с указанным периодом,
- если номер периода указывается null или не указывается - группы с любым периодом.
- если указывается id подразделения - группы указанного подразделения,
- если id подразделения указывается null или не указывается - группы любого подразделения.
get_group_department()
Получает все группы, относящиеся к структурному подразделению и обучающиеся по программе
Аргументы:
- $dpid(int) - id структурного подразделения в таблице departments .
- $prid(int) - id программы в таблице programms , по умолчанию - все(null).
- $status(string) - статус группы, по умолчанию - обучается(learn).
Возвращаемые значения:
- mixed array список групп или bool false если группы не найдены
Структура работы:
- формируем SQL-запрос и возвращаем список групп:
- если указывается id программы - группы с указанным id,
- если id программы не указывается или указывается как null- группы с любым id.
- если указывается статус - группы с указанным статусом,
- если статус указывается null - группы с любым статусом,
- если статус не указывается - группы со статусом learn.
get_group_cstream()
Получить все группы, подписанные на учебный процесс с данным id.
Аргументы:
- $csid(int) - id учебного процесса в таблице cstreams .
Возвращаемые значения:
- (array) список групп.
- (bool) false - если группы не найдены.
get_numberof_agroups()
находит количество групп
Аргументы:
- $select(string) - критерии отбора записей
Возвращаемые значения:
- int - количество найденных записей
get_group_nocstream($csid)
находит список групп, не связаных с данным потоком
Аргументы:
- $csid(int) - id учебного процесса
Возвращаемые значения:
- array - список групп
- bool false - если произошла ошибка
Планы:
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
storage | agroups | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу agroups. |
storage | agroups | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице agroups. |
storage | agroups | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы agroups. |