Разработка:storages/cpassed — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
м (Дополнительные методы:: исправил название функции)
м (Дополнительные методы:: Изменил описание функции get_cpasseds_programmitem в соответствии со сделанными в ней изменениями)
Строка 68: Строка 68:
  
  
'''get_cpassed_programmitem()'''
+
'''get_cpasseds_programmitem()'''
  
Получает информацию о дисциплине, изученной слушателем (статусы "успешно завершен" и "перезачет) по id слушателя и id дисциплины.
+
Получает подписки на дисциплину по id слушателя и id дисциплины.
  
 
''Аргументы:''  
 
''Аргументы:''  
 
* $stid(int) - id студента.
 
* $stid(int) - id студента.
 
* $prid(int) - id дисциплины.
 
* $prid(int) - id дисциплины.
 +
* $status(string) - название статуса подписки, по умолчанию 'complete'
 
* $levelgrade(string) - уровень оценки, по умолчанию - null.
 
* $levelgrade(string) - уровень оценки, по умолчанию - null.
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* (object) подписка на дисциплину.  
+
* (array) массив подписок на дисциплину.
 
* (bool) false если подписка не найдена или слушатель ее еще не изучил.
 
* (bool) false если подписка не найдена или слушатель ее еще не изучил.
 
''Структура работы:''
 
''Структура работы:''
Строка 83: Строка 84:
 
** если указывается уровень оценки - подписки с указанным уровнем оценки,
 
** если указывается уровень оценки - подписки с указанным уровнем оценки,
 
** если уровень оценки не указывается или указывается как null - подписки с любым уровнем оценки.
 
** если уровень оценки не указывается или указывается как null - подписки с любым уровнем оценки.
 +
** если указывается статус - подписки с указанным статусом, если статус не указан, то возвращаются подписки со статусом 'complete'
 +
** если статус указан как null или false, то вернутся подписки с любым статусом
  
 
'''update_total_grade()'''
 
'''update_total_grade()'''

Версия 15:51, 7 сентября 2009

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

cpassed - изучаемые и пройденные курсы: отражает ход изучения учащимися выбранной учебной программы, итоговые отметки.

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

  • cstreamid - id учебного процесса, по которому велось обучение
  • programmsbcid - id подписки контракта на программу обучения
  • programmitemid - id дисциплины
  • studentid - id слушателя по таблице persons
  • grade (итоговая отметка по курсу)
  • gradelevel - уровень оценки (оценка не идет в кандуит, дисциплина, курсовая работа, практика, междисциплинарный экзамин, дипломная работа). Берется из programmitems.
  • credit - количество кредитов, полученное за прохождение дисциплины
  • notice - текстовое пояснение об источнике оценки при перезачете
  • repeatid - id предыдущей подписке, если обучение выполняется повторно (пересдача, повторное обучение - при этом подписка, на которую выполняется ссылка должна иметь статус "пересдан")
  • typesync - тип синхронизации (выставление вручную, синхронизация с moodle)
  • mdlinstance - id задания в moodle, с которым выполнялась синхронизация
  • teacherid - id сотрудника по справочнику persons, вручную выставившего итоговую отметку
  • status - список статусов указан в одноименном плагине рабочих процессов cpassed

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

get_cstream_students()

Получает список всех подписок студентов, приписаных к одному предмето-потоку.

Аргументы:

  • $csid(int) - id учебного потока.
  • $status(string) - статус подписки, по умолчанию - все(null).

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

  • (array) список подписок на учебный поток.
  • (bool) false если подписки не найдены.

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

  • формируем SQL-запрос и возвращаем список подписок:
    • если указывается статус - подписки с указанным статусом,
    • если статус не указывается или указывается как null - подписки с любым статусом.

get_cpasseds_student()

Получает список всех подписок для слушателя.

Аргументы:

  • $stid(int) - id студента
  • $status(string) - статус подписки, по умолчанию - идет(go).

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

  • (array) список подписок на учебный поток.
  • (bool) false если подписки не найдены.

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

  • формируем SQL-запрос и возвращаем список подписок:
    • если указывается статус - подписки с указанным статусом,
    • если статус указывается null - подписки с любым статусом,
    • если статус не указывается - подписки со статусом go.

get_cpassed_programm()

Получает список дисциплин, изученных слушателем в рамках учебной программы.

Аргументы:

  • $stid(int) - id студента.
  • $prid(int) - id подписки на программу.
  • $status(string) - статус подписки, по умолчанию - завершен(complete).

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

  • (array) список подписок на учебный поток.
  • (bool) false если подписки не найдены.

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

  • формируем SQL-запрос и возвращаем список подписок:
    • если указывается статус - подписки с указанным статусом,
    • если статус указывается null - подписки с любым статусом,
    • если статус не указывается - подписки со статусом complete.


get_cpasseds_programmitem()

Получает подписки на дисциплину по id слушателя и id дисциплины.

Аргументы:

  • $stid(int) - id студента.
  • $prid(int) - id дисциплины.
  • $status(string) - название статуса подписки, по умолчанию 'complete'
  • $levelgrade(string) - уровень оценки, по умолчанию - null.

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

  • (array) массив подписок на дисциплину.
  • (bool) false если подписка не найдена или слушатель ее еще не изучил.

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

  • формируем SQL-запрос и возвращаем список подписок:
    • если указывается уровень оценки - подписки с указанным уровнем оценки,
    • если уровень оценки не указывается или указывается как null - подписки с любым уровнем оценки.
    • если указывается статус - подписки с указанным статусом, если статус не указан, то возвращаются подписки со статусом 'complete'
    • если статус указан как null или false, то вернутся подписки с любым статусом

update_total_grade()

Установливает/обновляет студенту итоговую оценку и комментарий для существующей подписки (в перспективе, когда будет реализован справочник с историей изменения отметок - вызов функции протоколирования). Если оценка равна или выше минимальной, подписка переводится в статус "успешно завершен".

Аргументы:

  • $id(int) - id подписки.
  • $grade(int) - итоговая оценка.
  • $comment(string) - коментарий

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

  • (bool) true в случае успешного обновления и false в остальных

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

  1. создаем объект для вставки в таблицу БД.
  2. (не реализовано)меняем статус подписки.
  3. обновляем запись в БД.

insert_grade_reoffset()

Добавляет оценку в режиме "перезачета".(в перспективе, когда будет реализован справочник с историей изменения отметок - вызов функции протоколирования)

Аргументы:

  • $stid(int) - id студента.
  • $prid(int) - id дисциплины.
  • $cpid(int) - id подписки на программу.
  • $grade(int) - итоговая оценка.
  • $comment(string) - коментарий.
  • $status(string) - статус - перезачет(reoffset) или пересдача(repeating).
  • $initialid(int) - id исходной подписки.

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

  • (int) id добавленной записи
  • (bool) false если добавление не удалось

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

  1. если дисиплина пересдается (статус = repeating), статус исходной подписки меняем на пересдан и обновляем запись в БД.
  2. формируем новый объект в БД.
  3. вставляем сформированную запись в таблицу БД.

Планы: