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

Материал из DOF
Перейти к: навигация, поиск
(Подробный формат полей в таблице:)
(Дополнительные методы:)
Строка 50: Строка 50:
  
 
''Аргументы:''  
 
''Аргументы:''  
* $stid(int) - id студента.
+
* $stid(int) - id студента в таблице [[Разработка:storages/persons | persons ]].
 
* $evid(int) - id события.
 
* $evid(int) - id события.
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''

Версия 22:52, 13 января 2010

Плагин
Название schpresences
Тип storages


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

schpresences - содержит сведения о присутствии или отсутствии учащихся на учебном событии.

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

  • eventid - событие
  • personid - ученик в таблице persons
  • present - присутствие: 0/1
  • orderid - id приказа в таблице orders , в соответствии в котором был выставлен статус присутсвия

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

save_present_student()

Сохраняет статус присутствия/отсутствия ученика на занятии.

Аргументы:

  • $obj(object) - запись в таблицу БД.

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

  • (int) id вставленной записи, если запись вставляется.
  • (bool) true, если запись обновляется.
  • (bool) false, если операции не удались.

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

  1. находим запись в таблице БД по данным из обьекта:
    • если запись была найдена, мы ее обновляем и возвращаем результат.
    • если не найдена - запысываем в таблицу БД и возвращаем результат.

save_present_students()

Сохраняет список статусов присутствия/отсутствия учеников на занятии.

Аргументы:

  • $obj(object) - запись в таблицу БД (объект, в котором первое свойство(eventid) является id события, а второе(presents) - массив записей, где ключ - id персоны, значение - статус присутствия).

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

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

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

  1. обновляем/вставляем все записи в БД
    • перебираем исходный массив из данных объекта.
    • формируем объект для обновления/вставки в БД.
    • обновляем/вставляем объект в таблицу БД.
  2. возвращаем результат.

get_present_status()

Получает статус присутствия ученика на занятии.

Аргументы:

  • $stid(int) - id студента в таблице persons .
  • $evid(int) - id события.

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

  • (int) статус присутствия, если собитие существует.
  • (bool) false если события нет.

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

  1. находим запись в таблице БД.
    • если запись найдена, возвращаем статус присутствия.
    • если не найдена, возвращаем false.

get_present_students()

Получает статусы присутствия учеников на занятии.

Аргументы:

  • $evid(int) - id события

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

  • (array) массив, где ключ - id персоны, значение - статус присутствия

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

  1. находим все записи связанные с данным собитием в таблице БД.
  2. формируем массив id ученика=>статус присутствия по каждому из событий.
  3. возвращаем результат.

Планы:

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

  • Получить статистику посещения учеником занятий по id учебного процесса и id ученика: количество прошедших занятий, количество посещенных занятий, доля посещенных занятий (от 0 до 1), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => статус посещения.
  • Получить статистику посещения учениками занятий по id учебного процесса (общие показатели по группе), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => =>id_студента =>статус посещения.