Разработка:storages/learningplan
Плагин | |
Название | learningplan |
Тип | storages |
Содержание
Таблица в базе данных
learningplan - запланированные на будущие периоды дисциплины.
Подробный формат полей в таблице:
- type - тип объекта, на которого запланирована дисциплина (programmsbc, agroup).
- programmsbcid - id слушателя из таблицы programmsbcs , type=programmsbc или NULL
- agroupid - id группы из таблицы agroups , если type=agroup или NULL
- agenum - номер параллели, для которой задан план. Если слушатель обязан пройти дисциплину в любой период обучения 0. Уточнение: ageid мы не планируем, так как он пока не известен.
- programmitemid - id запланированной дисциплины из таблицы programmitems (дисциплина должна относится к той программе, на которую подписан слушатель или группа и быть активной на момент перевода в соответствующую параллель, чтобы произошла подписка).
Дополнительные методы:
create_learningplan($type, $typeid)
Создать начальную конфигурацию учебного плана: добавление всех обязательных дисциплин в соответствии с указанными семестрами.
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
Возвращаемые значения:
- (bool) - результат операции
get_all_pitems($type, $typeid, $agenum = false, $status = null)
Получить все дисциплины программы, кроме запланированных в виде академической разницы (agenum=0), для всех параллелей, или только указанной
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $agenum(int) - номер семестра (параллели), если false - все семестры
- $status(string|array) - статус дисциплин, можно передать массив или false для всех
Возвращаемые значения:
- (bool) - false в случае ошибки
- (array) - дисциплины программы, исключая запланированные
get_learningplan_info($type, $typeid)
Получить информацию об учебном плане: тип, код, имя, программа, текущий семестр, период, количество семестров.
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
Возвращаемые значения:
- (object) - возвращаемый объект с полями
- type - тип учебного плана ('programmsbc' или 'agroup')
- typeid - id записи в таблице programmsbcs или agroups
- code - код объекта
- name - имя объекта (содержит либо имя группы, либо полное имя персоны с номером договора)
- programm - учебная программа, на которую планируются дисциплины - объект с полями id, code, name
- agenum - текущий семестр
- age - текущий период - объект с полями id, name, begindate, eduweeks
- agenums - количество семестров в программе
- (bool) - false в случае возникновения ошибки
get_listing($limitfrom, $limitnum, $conds=null, $countonly=false)
Возвращает список запланированных дисциплин по заданным критериям.
Аргументы:
- $limitfrom(int) - начиная с какой записи просматривается фрагмент списка записей.
- $limitnum(int) - сколько записей нужно извлечь из базы.
- $conds(object) - объект со списком свойств, по которым будет происходить поиск, по умолчанию - нет(null),
- $countonly(object) - вернуть список записей по указанным условиям или только их количество, по умолчанию - список(false),
Возвращаемые значения:
- (array) - массив записей из базы.
- (bool) - false, в случае ошибки.
get_select_listing($inputconds)
Возвращает фрагмент sql-запроса после слова WHERE.
Аргументы:
- $inputconds(object) - список полей с условиями запроса в формате "поле_БД->значение".
Возвращаемые значения:
- (string).