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

Материал из DOF
Версия от 16:18, 12 января 2010; Johnleft (обсуждение | вклад) (Подробный формат полей в таблице:: уточнено описание поля)
Перейти к: навигация, поиск
Плагин
Название programmitems
Тип storages


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

programmitems - элементы учебной программы - учебные дисциплины/предметы.

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

  • programmid
  • agenum - номер учебного периода, от начала обучения по программе на который назначена дисциплина. Для необязательных дисциплин возможен 0, тогда студент может "взять" дисциплину в любом семестре.
  • courseclsid - id по таблице coursecls (таблица пока не предусмотрена), предназначен для объединения однородных дисциплин. Однородность дисциплин может быть четырех уровней (записываются внутри таблицы coursecls):
    • 1 - одинаковые дисциплины изучаемые в составе различных учебных программ,
    • 2 - разные ступени изучения одной дисциплины,
    • 3 - дисциплины, относящиеся к одной науке,
    • 4 - категории (общественные, естественные, технические). Сама таблица coursecls пока не реализована, а поле зарезервировано на будущее.
  • name - название дисциплины (текстовое поле)
  • code - код дисциплины (текстовое поле, необязательное, при указании проверяется уникальность)
  • mdlcourse - id курса в moodle
  • type - тип предмета:
    • required- обязательный
    • recommended - рекомендованный
    • free - по выбору
  • required - обязательный курс (0/1) На основании этого поля ориентируемся, нужно ли обязательно подписывать или нет, а предыдущий больше информационный. Например, даже обязательный курс, который планируется разделить на подгруппы может не требовать автоматической подписки.
  • maxcredit - максимальное количество "кредитов", получаемое за прохождение дисциплины
  • maxduration - максимальная продолжительность курса от начальной подписки (в секундах). Если не установлено - продолжительность неограничена. Учебные потоки всегда завершается автоматически с закрытием учебного периода, к которому они относятся.
  • hours - количество часов, отведенное на дисциплину (отобразиться в индивидуальной ведомости рядом с названием и оценкой)
  • hourstheory - часов теории
  • hourspractice - часов практики
  • eduweeks - количество учебных недель/циклов (каждая соответствует одному циклу в расписании) продолжительности курса, если не указано, учебные процессы наследуют из ages.
  • instrlevelid - id уровня компоненты -
    • 1 - федеральная,
    • 2 - региональная,
    • 3 - учебного заведения,
    • 4 - кафедры
  • gradelevel - уровень оценки
    • notused - оценка не идет в кондуит
    • discipline - дисциплина
    • coursework - курсовая работа
    • practice - практика
    • finalexam - междисциплинарный экзамен
    • diplom - дипломная работа
  • scale - диапазон или перечисленные через запятую возможной итоговой оценки, пустая строка если оценка не предусмотрена. Оценка может быть и дробной. Диапазон задается двумя числами через дефис: худшая_оценка_-_лучшая_оценка_. Например 5-1. 5 - самый плохой балл. 1 - самый лучший. Если задается не диапазон, а интервал, то оценки перечисляются через запятую: 5, 4.5, 4, 3.5, 3, 2.5, 2, 1.5, 1.
  • mingrade - минимальная (для диапазона) или начальная слева-направа начиная с единицы (для перечисления) оценка, при которой курс считается завершенным. Если не указано, курс считается завершенным при выставлении любой оценки.
  • sname - название в источнике/стандарте
  • scode - код в источнике/стандарте
  • status - список статусов указан в одноименном плагине рабочих процессов programmitems
  • departmentid - структурное подразделение, ответственное за реализацию дисциплины
  • about - описание дисциплины
  • notice - заметка о дисциплины для внутреннего пользования
  • controltypeid - тип итогового контроля по данному курсу

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

get_pitem_by_code()

Ищет дисциплины по коду дисциплины.

Аргументы:

  • $code(string) - код дисциплины.

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

  • (object) объект дисциплины.
  • (bool) false если дисциплина не найдена.
get_pitems_list()

Ищет список дисциплин, относящихся к учебной программе и учебному периоду.

Аргументы:

  • $programmid(int) - id учебной программы из таблицы programms.
  • $ageid(int) - порядковый номер периода или false, обозначающий получение дисциплин отсортированных в порядке возрастания периодав и по названию внутри них.

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

  • (array) список дисциплин.
  • (bool) false если дисциплины не найдены.

Структура работы:

По SQL-запросу находим список дисциплин и возвращаем результат.

get_maxagenum()

Получить количество периодов для данной учебной программы

Аргументы:

  • $programmid - id учебной программы из таблицы programms.

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

  • false - если не нашлось не одной записи
  • 0 - если нашлись только записи с agenum=0, то есть необязательные
  • в остальных случаях возвращается целое число - максимальное кол-во дисциплин в данном периоде

По sql-запросу производится поиск максимального значения agenum среди записей с выбранных programmid.

Планы: