Разработка:storages/cpassed — различия между версиями
Ilya (обсуждение | вклад) (→Подробный формат полей в таблице:: добавлено описание поля orderid, добавлены ссылки на все таблицы) |
Ilya (обсуждение | вклад) (→Дополнительные методы:: проставлены ссылки на плагины storage, указано, какие id из каких таблиц надо брать) |
||
Строка 31: | Строка 31: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * $csid(int) - id учебного потока. | + | * $csid(int) - id учебного потока в таблице [[Разработка:storages/cstreams | cstreams ]]. |
* $status(string) - статус подписки, по умолчанию - все(null). | * $status(string) - статус подписки, по умолчанию - все(null). | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
Строка 46: | Строка 46: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * $stid(int) - id студента | + | * $stid(int) - id студента в таблице [[Разработка:storages/persons | persons ]] |
* $status(string) - статус подписки, по умолчанию - идет(go). | * $status(string) - статус подписки, по умолчанию - идет(go). | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
Строка 62: | Строка 62: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * $stid(int) - id студента. | + | * $stid(int) - id студента в таблице [[Разработка:storages/persons | persons ]]. |
− | * $prid(int) - id подписки на программу. | + | * $prid(int) - id подписки на программу в таблице [[Разработка:storages/programmsbcs | programmsbcs ]]. |
* $status(string) - статус подписки, по умолчанию - завершен(complete). | * $status(string) - статус подписки, по умолчанию - завершен(complete). | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
Строка 80: | Строка 80: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * $stid(int) - id студента. | + | * $stid(int) - id студента в таблице [[Разработка:storages/persons | persons ]]. |
− | * $ | + | * $deptid(int) - id дисциплины в таблице [[Разработка:storages/departments | departments ]]. |
* $status(string) - название статуса подписки, по умолчанию 'complete' | * $status(string) - название статуса подписки, по умолчанию 'complete' | ||
* $levelgrade(string) - уровень оценки, по умолчанию - null. | * $levelgrade(string) - уровень оценки, по умолчанию - null. | ||
Строка 114: | Строка 114: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * $stid(int) - id студента. | + | * $stid(int) - id студента в таблице [[Разработка:storages/persons | persons ]]. |
− | * $prid(int) - id дисциплины. | + | * $prid(int) - id дисциплины в таблице [[Разработка:storages/departments | departments ]]. |
* $cpid(int) - id подписки на программу. | * $cpid(int) - id подписки на программу. | ||
* $grade(int) - итоговая оценка. | * $grade(int) - итоговая оценка. | ||
Строка 186: | Строка 186: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * (int)$cstreamid - id учебного потока в таблице cstreams | + | * (int)$cstreamid - id учебного потока в таблице в таблице [[Разработка:storages/cstreams | cstreams ]] |
− | * (int)$programmsbcid - id подписки студента на программу в таблице programmsbcs | + | * (int)$programmsbcid - id подписки студента на программу в таблице в таблице [[Разработка:storages/programmsbcs | programmsbcs ]] |
− | |||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
* id записи если подписка произошла успешно (или уже существует), | * id записи если подписка произошла успешно (или уже существует), | ||
Строка 201: | Строка 200: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * (object)$cstreamlink - объект из таблицы cstreamlinks | + | * (object)$cstreamlink - объект из таблицы в таблице [[Разработка:storages/cstreamlinks | cstreamlinks ]] |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
Строка 215: | Строка 214: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * (int) $studentid - id студента | + | * (int) $studentid - id студента в таблице [[Разработка:storages/persons | persons ]] |
− | * (int) $cstreamid - id потока | + | * (int) $cstreamid - id потока в таблице [[Разработка:storages/cstreams | cstreams ]] |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
Строка 230: | Строка 229: | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * (int) $studentid - id студента | + | * (int) $studentid - id студента в таблице [[Разработка:storages/persons | persons ]] |
− | * (int) $programmsbcid - id подписки студента на программу | + | * (int) $programmsbcid - id подписки студента на программу в таблице [[Разработка:storages/programmsbcs | programmsbcs ]] |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' |
Версия 21:40, 13 января 2010
Плагин | |
Название | cpassed |
Тип | storages |
Содержание
Таблица в базе данных
cpassed - изучаемые и пройденные курсы: отражает ход изучения учащимися выбранной учебной программы, итоговые отметки.
Подробный формат полей в таблице:
- cstreamid - id учебного процесса в таблице cstreams , по которому велось обучение
- programmsbcid - id подписки контракта в таблице contracts на программу обучения
- programmitemid - id дисциплины в таблице programmitems
- studentid - id слушателя по таблице persons
- agroupid - id академической группы в таблице agroups . Не обязательное поле (для заполнения). По умолчанию NULL. При зачислении и отчислении из группы изменяется его значение автоматически. При отчислении из группы поле становится равным нулю (0). При индивидуальном обучении - NULL. На основании этого принимается решение подписке/отписке на предмет.
- grade (итоговая отметка по курсу)
- gradelevel - уровень оценки (оценка не идет в кондуит, дисциплина, курсовая работа, практика, междисциплинарный экзамин, дипломная работа). Берется из programmitems.
- credit - количество кредитов, полученное за прохождение дисциплины
- notice - текстовое пояснение об источнике оценки при перезачете
- repeatid - id предыдущей подписки, если обучение выполняется повторно (пересдача, повторное обучение - при этом подписка, на которую выполняется ссылка должна иметь статус "пересдан")
- typesync - тип синхронизации (выставление вручную, синхронизация с moodle)
- mdlinstance - id задания в moodle, с которым выполнялась синхронизация
- teacherid - id сотрудника по справочнику persons , вручную выставившего итоговую отметку
- ageid - id периода в таблице ages по которому велось обучение
- orderid - id приказа в таблице orders , согласно которому была выставлена оценка
- status - список статусов указан в одноименном плагине рабочих процессов cpassed
Дополнительные методы:
get_cstream_students()
Получает список всех подписок студентов, приписаных к одному предмето-потоку.
Аргументы:
- $csid(int) - id учебного потока в таблице cstreams .
- $status(string) - статус подписки, по умолчанию - все(null).
Возвращаемые значения:
- (array) список подписок на учебный поток.
- (bool) false если подписки не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список подписок:
- если указывается статус - подписки с указанным статусом,
- если статус не указывается или указывается как null - подписки с любым статусом.
get_cpasseds_student()
Получает список всех подписок для слушателя.
Аргументы:
- $stid(int) - id студента в таблице persons
- $status(string) - статус подписки, по умолчанию - идет(go).
Возвращаемые значения:
- (array) список подписок на учебный поток.
- (bool) false если подписки не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список подписок:
- если указывается статус - подписки с указанным статусом,
- если статус указывается null - подписки с любым статусом,
- если статус не указывается - подписки со статусом go.
get_cpassed_programm()
Получает список дисциплин, изученных слушателем в рамках учебной программы.
Аргументы:
- $stid(int) - id студента в таблице persons .
- $prid(int) - id подписки на программу в таблице programmsbcs .
- $status(string) - статус подписки, по умолчанию - завершен(complete).
Возвращаемые значения:
- (array) список подписок на учебный поток.
- (bool) false если подписки не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список подписок:
- если указывается статус - подписки с указанным статусом,
- если статус указывается null - подписки с любым статусом,
- если статус не указывается - подписки со статусом complete.
get_cpasseds_programmitem()
Получает подписки на дисциплину по id слушателя и id дисциплины.
Аргументы:
- $stid(int) - id студента в таблице persons .
- $deptid(int) - id дисциплины в таблице departments .
- $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 в остальных
Структура работы:
- создаем объект для вставки в таблицу БД.
- (не реализовано)меняем статус подписки.
- обновляем запись в БД.
insert_grade_reoffset()
Добавляет оценку в режиме "перезачета".(в перспективе, когда будет реализован справочник с историей изменения отметок - вызов функции протоколирования)
Аргументы:
- $stid(int) - id студента в таблице persons .
- $prid(int) - id дисциплины в таблице departments .
- $cpid(int) - id подписки на программу.
- $grade(int) - итоговая оценка.
- $comment(string) - коментарий.
- $status(string) - статус - перезачет(reoffset) или пересдача(repeating).
- $initialid(int) - id исходной подписки.
Возвращаемые значения:
- (int) id добавленной записи
- (bool) false если добавление не удалось
Структура работы:
- если дисиплина пересдается (статус = repeating), статус исходной подписки меняем на пересдан и обновляем запись в БД.
- формируем новый объект в БД.
- вставляем сформированную запись в таблицу БД.
get_listing()
Получить список записей для вывода в таблицу
Аргументы:
- $limitfrom - с какой записи начинать вывод
- $limitnum - сколько записей выводить на одной странице
- $conds - Объект, содержащий данные с условиями выборки, в формате поле_БД->значение по умолчанию NULL.
- $countonly - Если указано true, то функция вернет только количество записей, соответствующих переданным условиям. По умолчанию false.
Возвращаемые значения:
- (array) массив записей из базы, int количество записей, соответствующих условиям (если $countonly=true), или false в случае ошибки
Структура работы:
- составляем запрос по переданным параметрам при помощи собственной protected-функции get_select_listing()
- Проверяем условие $countonly. Если оно истинно - то возвращаем только количество записей
- Если ложно - то возвращаем список записей
get_students_without_agroup()
Получить список всех подписок, которые не принадлежат ни к одной группе.
Аргументы:
- (нет)
Возвращаемые значения:
- bool|array - массив из записей таблицы cpassed или false, если ничего не нашлось
Структура работы:
- Возвращаются все записи таблицы cpassed, имеющие статус plan или active в которых поле agroupid равно:
- NULL (null-значение)
- "" (пустой строке)
- 0
unsign_students_without_agroup()
Отписать всех учеников, не имеющих подписки ни на одну группу
Аргументы:
- (нет)
Возвращаемые значения:
- (bool)
- true - если изменение всех статусов прошло нормально или
- false - если в процессе работы произошли ошибки
Структура работы:
- Для получения списка подписок, не имеющих связи с группой вызывается функция get_students_without_agroup()
- Если таких подписок нет - возвращается true
- Если подписки есть - то в цикле выставляем каждой записи статус "canceled" (через обращение к плагину workflow)
sign_student_on_cstream()
Подписывает одного ученика на один учебный поток.
Аргументы:
- (int)$cstreamid - id учебного потока в таблице в таблице cstreams
- (int)$programmsbcid - id подписки студента на программу в таблице в таблице programmsbcs
Возвращаемые значения:
- id записи если подписка произошла успешно (или уже существует),
- false в случае ошибки
Структура работы:
unsign_students_without_real_agroup()
Отменить подписки учеников, у которых группа, указанная в подписке на программу (programmsbcs) не совпадает с группой, указанной в таблице связей учебных потоков с группами (cstreamlinks)
Аргументы:
- (object)$cstreamlink - объект из таблицы в таблице cstreamlinks
Возвращаемые значения:
- (bool)
- true если все операции завершились успешно
- false в случае возникновения ошибок
Структура работы:
unsign_student_from_one_cstream()
Отписывает одного студента от одного потока
Аргументы:
Возвращаемые значения:
- (bool)
- true если все операции завершились успешно
- false в случае возникновения ошибок
Структура работы:
unsign_student_from_all_cstreams()
Отписывает одного студента от всех потоков программы
Аргументы:
- (int) $studentid - id студента в таблице persons
- (int) $programmsbcid - id подписки студента на программу в таблице programmsbcs
Возвращаемые значения:
- (bool)
- true если все операции завершились успешно
- false в случае возникновения ошибок
Структура работы:
unsign_students_from_all_cstreams()
Отписывает нескольких студентов от всех потоков программы
Аргументы:
- (array) $students - массив (id=>подписки на программу студента=>id студента)
Возвращаемые значения:
- (bool)
- true если все операции завершились успешно
- false в случае возникновения ошибок
Структура работы:
Планы:
- метод создает одному студенту подписку на все потоки программы (sign_student_on_all_cstreams)
- метод создает нескольким студентам подписку на все потоки программы (sign_agroup_on_all_cstreams)
- метод создает всем студентам группы подписку на все потоки рограммы (sign_all_agroups_on_all_cstreams)