Разработка:storages/schpresences — различия между версиями
Yumeneco (обсуждение | вклад) (→Дополнительные методы:) |
(→Подробный формат полей в таблице:) |
||
(не показано 10 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
+ | {{Infobox_Plugin | ||
+ | | name = schpresences | ||
+ | | type = storages | ||
+ | }} | ||
+ | |||
===Таблица в базе данных=== | ===Таблица в базе данных=== | ||
''schpresences'' - содержит сведения о присутствии или отсутствии учащихся на учебном событии. | ''schpresences'' - содержит сведения о присутствии или отсутствии учащихся на учебном событии. | ||
Строка 4: | Строка 9: | ||
====Подробный формат полей в таблице:==== | ====Подробный формат полей в таблице:==== | ||
* eventid - событие | * eventid - событие | ||
− | * personid - ученик | + | * personid - ученик в таблице [[Разработка:storages/persons | persons ]] |
* present - присутствие: 0/1 | * present - присутствие: 0/1 | ||
− | * orderid - id приказа, в соответствии в котором был выставлен статус присутсвия | + | * orderid - id приказа в таблице [[Разработка:storages/orders | orders ]], в соответствии в котором был выставлен статус присутсвия |
+ | * mdlevent - Id события в moodle | ||
+ | * reasonid - ID причины отсутствия | ||
===Дополнительные методы:=== | ===Дополнительные методы:=== | ||
− | '''save_present_student()''' | + | ===='''save_present_student($obj)'''==== |
Сохраняет статус присутствия/отсутствия ученика на занятии. | Сохраняет статус присутствия/отсутствия ученика на занятии. | ||
Строка 24: | Строка 31: | ||
#* если не найдена - запысываем в таблицу БД и возвращаем результат. | #* если не найдена - запысываем в таблицу БД и возвращаем результат. | ||
− | '''save_present_students()''' | + | ===='''save_present_students($obj)'''==== |
Сохраняет список статусов присутствия/отсутствия учеников на занятии. | Сохраняет список статусов присутствия/отсутствия учеников на занятии. | ||
Строка 31: | Строка 38: | ||
* $obj(object) - запись в таблицу БД (объект, в котором первое свойство(eventid) является id события, а второе(presents) - массив записей, где ключ - id персоны, значение - статус присутствия). | * $obj(object) - запись в таблицу БД (объект, в котором первое свойство(eventid) является id события, а второе(presents) - массив записей, где ключ - id персоны, значение - статус присутствия). | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * (bool) true, если все записи успешно | + | * (bool) true, если все записи успешно обновились/вставились. |
* (bool) false во всех остальных случаях. | * (bool) false во всех остальных случаях. | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | # обновляем вставляем все записи в БД | + | # обновляем/вставляем все записи в БД |
#* перебираем исходный массив из данных объекта. | #* перебираем исходный массив из данных объекта. | ||
#* формируем объект для обновления/вставки в БД. | #* формируем объект для обновления/вставки в БД. | ||
Строка 40: | Строка 47: | ||
# возвращаем результат. | # возвращаем результат. | ||
− | '''get_present_status()''' | + | ===='''get_present_status($stid, $evid)'''==== |
Получает статус присутствия ученика на занятии. | Получает статус присутствия ученика на занятии. | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * $stid(int) - id студента. | + | * $stid(int) - id студента в таблице [[Разработка:storages/persons | persons ]]. |
* $evid(int) - id события. | * $evid(int) - id события. | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
Строка 56: | Строка 63: | ||
#* если не найдена, возвращаем false. | #* если не найдена, возвращаем false. | ||
− | '''get_present_students()''' | + | ===='''get_present_students($evid)'''==== |
Получает статусы присутствия учеников на занятии. | Получает статусы присутствия учеников на занятии. | ||
Строка 69: | Строка 76: | ||
# возвращаем результат. | # возвращаем результат. | ||
− | === | + | ===Планы:=== |
+ | ====Дополнительные методы:==== | ||
* Получить статистику посещения учеником занятий по id учебного процесса и id ученика: количество прошедших занятий, количество посещенных занятий, доля посещенных занятий (от 0 до 1), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => статус посещения. | * Получить статистику посещения учеником занятий по id учебного процесса и id ученика: количество прошедших занятий, количество посещенных занятий, доля посещенных занятий (от 0 до 1), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => статус посещения. | ||
* Получить статистику посещения учениками занятий по id учебного процесса (общие показатели по группе), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => =>id_студента =>статус посещения. | * Получить статистику посещения учениками занятий по id учебного процесса (общие показатели по группе), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => =>id_студента =>статус посещения. | ||
+ | |||
+ | ===События=== | ||
+ | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
+ | ====Перехватываемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые перехватывает этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий'' | ||
+ | |} | ||
+ | ====Генерируемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые генерирует этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |storage | ||
+ | |schpresences | ||
+ | |insert | ||
+ | |Массив, содержащий в поле "new" объект с данными для вставки в таблицу. | ||
+ | ''Пример:'' array('new' => $dataobject) | ||
+ | |Генерируется каждый раз при вставке новой записи в таблицу schpresences. | ||
+ | |- | ||
+ | |storage | ||
+ | |schpresences | ||
+ | |update | ||
+ | |Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи. | ||
+ | ''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new) | ||
+ | |Генерируется каждый раз при обновлении записи в таблице schpresences. | ||
+ | |- | ||
+ | |storage | ||
+ | |schpresences | ||
+ | |delete | ||
+ | |Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы | ||
+ | ''Пример:'' array('old' => $dataobject) | ||
+ | |Генерируется каждый раз при удалении записи из таблицы schpresences. | ||
+ | |} |
Текущая версия на 12:53, 13 сентября 2018
Плагин | |
Название | schpresences |
Тип | storages |
Таблица в базе данных
schpresences - содержит сведения о присутствии или отсутствии учащихся на учебном событии.
Подробный формат полей в таблице:
- eventid - событие
- personid - ученик в таблице persons
- present - присутствие: 0/1
- orderid - id приказа в таблице orders , в соответствии в котором был выставлен статус присутсвия
- mdlevent - Id события в moodle
- reasonid - ID причины отсутствия
Дополнительные методы:
save_present_student($obj)
Сохраняет статус присутствия/отсутствия ученика на занятии.
Аргументы:
- $obj(object) - запись в таблицу БД.
Возвращаемые значения:
- (int) id вставленной записи, если запись вставляется.
- (bool) true, если запись обновляется.
- (bool) false, если операции не удались.
Структура работы:
- находим запись в таблице БД по данным из обьекта:
- если запись была найдена, мы ее обновляем и возвращаем результат.
- если не найдена - запысываем в таблицу БД и возвращаем результат.
save_present_students($obj)
Сохраняет список статусов присутствия/отсутствия учеников на занятии.
Аргументы:
- $obj(object) - запись в таблицу БД (объект, в котором первое свойство(eventid) является id события, а второе(presents) - массив записей, где ключ - id персоны, значение - статус присутствия).
Возвращаемые значения:
- (bool) true, если все записи успешно обновились/вставились.
- (bool) false во всех остальных случаях.
Структура работы:
- обновляем/вставляем все записи в БД
- перебираем исходный массив из данных объекта.
- формируем объект для обновления/вставки в БД.
- обновляем/вставляем объект в таблицу БД.
- возвращаем результат.
get_present_status($stid, $evid)
Получает статус присутствия ученика на занятии.
Аргументы:
- $stid(int) - id студента в таблице persons .
- $evid(int) - id события.
Возвращаемые значения:
- (int) статус присутствия, если собитие существует.
- (bool) false если события нет.
Структура работы:
- находим запись в таблице БД.
- если запись найдена, возвращаем статус присутствия.
- если не найдена, возвращаем false.
get_present_students($evid)
Получает статусы присутствия учеников на занятии.
Аргументы:
- $evid(int) - id события
Возвращаемые значения:
- (array) массив, где ключ - id персоны, значение - статус присутствия
Структура работы:
- находим все записи связанные с данным собитием в таблице БД.
- формируем массив id ученика=>статус присутствия по каждому из событий.
- возвращаем результат.
Планы:
Дополнительные методы:
- Получить статистику посещения учеником занятий по id учебного процесса и id ученика: количество прошедших занятий, количество посещенных занятий, доля посещенных занятий (от 0 до 1), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => статус посещения.
- Получить статистику посещения учениками занятий по id учебного процесса (общие показатели по группе), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => =>id_студента =>статус посещения.
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
storage | schpresences | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу schpresences. |
storage | schpresences | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице schpresences. |
storage | schpresences | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы schpresences. |