Разработка:storages/learningplan

Материал из DOF
Версия от 08:38, 15 июля 2014; Konovalov (обсуждение | вклад) (Дополнительные методы:)
Перейти к: навигация, поиск
Плагин
Название learningplan
Тип storages


Таблица в базе данных

learningplan - запланированные на будущие периоды дисциплины.

Подробный формат полей в таблице:

  • type - тип объекта, на которого запланирована дисциплина (programmsbc, agroup).
  • programmsbcid - id слушателя из таблицы programmsbcs , type=programmsbc или NULL
  • agroupid - id группы из таблицы agroups , если type=agroup или NULL
  • agenum - номер параллели, для которой задан план. Если слушатель обязан пройти дисциплину в любой период обучения 0. Уточнение: ageid мы не планируем, так как он пока не известен.
  • programmitemid - id запланированной дисциплины из таблицы programmitems (дисциплина должна относится к той программе, на которую подписан слушатель или группа и быть активной на момент перевода в соответствующую параллель, чтобы произошла подписка).

Дополнительные методы:

add_to_planned($type, $typeid, $agenum, $pitemid)

Добавить к учебному плану запланированную дисциплину $pitemid для параллели $agenum

Аргументы:

  • $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
  • $typeid(int) - id записи в таблице programmsbcs или agroups
  • $agenum(int) - номер семестра (параллели), если false - все семестры
  • $pitemid(int) - id записи в таблице programmitems

Возвращаемые значения:

  • (bool) - результат операции (false - ошибка, true - запись уже существует)
  • (int) - id добавленной записи


remove_from_planned($type, $typeid, $pitemid)

Убрать из учебного плана запланированную дисциплину

Аргументы:

  • $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
  • $typeid(int) - id записи в таблице programmsbcs или agroups
  • $pitemid(int) - id записи в таблице programmitems

Возвращаемые значения:

  • (bool) - результат операции (false - ошибка, true - запись удалена)


change_planned_agenum($type, $typeid, $agenum, $pitemid)

Изменить в учебном плане запланированной дисциплине $pitemid параллель на $agenum

Аргументы:

  • $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
  • $typeid(int) - id записи в таблице programmsbcs или agroups
  • $agenum(int) - номер семестра (параллели), если false - все семестры
  • $pitemid(int) - id записи в таблице programmitems

Возвращаемые значения:

  • (bool) - результат операции


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_learned_pitems($type, $typeid, $agenum = false, $status = null)

Получить список изученных, активных и перезачтённых дисциплин учебного плана для указанной параллели (или для всех)

Аргументы:

  • $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).