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

Материал из DOF
Перейти к: навигация, поиск
м (Дополнительные методы:)
(Дополнительные методы:)
Строка 9: Строка 9:
  
 
===Дополнительные методы:===
 
===Дополнительные методы:===
* '''save_present_student'''($obj) - сохранить статус присутствия/отсутствия ученика на занятии. Обновляет запись в базе данных если запись с данной персоной и с данным событием из объекта уже существует и записывает ее, если нет.
+
'''save_present_student()'''
* '''save_present_students'''($obj) - сохранить список статусов присутствия/отсутствия учеников на занятии. Входными данными является объект, в котором первое свойство(eventid) является id события, а второе(presents) - массив записей, где ключ - id персоны, значение - статус присутствия. Перебирая данный массив создает обьект для сохранения в БД данных отдельно по каждому ученику и сохраняет успользуя предыдущую функцию.
 
* '''get_present_status'''($stid, $evid) - получить статус присутствия ученика на занятии.
 
* '''get_present_students'''($evid) - получить статусы присутствия учеников на занятии. По данному событию ищет все связанные с ним статусы присутствия/отсутствия учеников и формирует для возврата массив, где ключ - id персоны, значение - статус присутствия.
 
  
====Планируются:====
+
Сохраняет статус присутствия/отсутствия ученика на занятии.
 +
 
 +
''Аргументы:''
 +
* $obj(object) - запись в таблицу БД.
 +
''Возвращаемые значения:''
 +
* (int) id вставленной записи, если запись вставляется.
 +
* (bool) true, если запись обновляется.
 +
* (bool) false, если операции не удались.
 +
''Структура работы:''
 +
#находим запись в таблице БД по данным из обьекта:
 +
#* если запись была найдена, мы ее обновляем и возвращаем результат.
 +
#* если не найдена - запысываем в таблицу БД и возвращаем результат.
 +
 +
'''save_present_students()'''
 +
 
 +
Сохраняет список статусов присутствия/отсутствия учеников на занятии.
 +
 
 +
''Аргументы:''
 +
* $obj(object) - запись в таблицу БД (объект, в котором первое свойство(eventid) является id события, а второе(presents) - массив записей, где ключ - id персоны, значение - статус присутствия).
 +
''Возвращаемые значения:''
 +
* (bool) true, если все записи успешно обновильсь/вставились.
 +
* (bool) false во всех остальных случаях.
 +
''Структура работы:''
 +
# обновляем вставляем все записи в БД
 +
#* перебираем исходный массив из данных объекта.
 +
#* формируем объект для обновления/вставки в БД.
 +
#* обновляем/вставляем объект в таблицу БД.
 +
# возвращаем результат.
 +
 
 +
'''get_present_status()'''
 +
 
 +
Получает статус присутствия ученика на занятии.
 +
 
 +
''Аргументы:''
 +
* $stid(int) - id студента.
 +
* $evid(int) - id события.
 +
''Возвращаемые значения:''
 +
* (int) статус присутствия, если собитие существует.
 +
* (bool) false если события нет.
 +
''Структура работы:''
 +
 
 +
# находим запись в таблице БД.
 +
#* если запись найдена, возвращаем статус присутствия.
 +
#* если не найдена, возвращаем false.
 +
 
 +
'''get_present_students()'''
 +
 
 +
Получает статусы присутствия учеников на занятии.
 +
 
 +
''Аргументы:''
 +
* $evid(int) - id события
 +
''Возвращаемые значения:''
 +
* (array) массив, где ключ - id персоны, значение - статус присутствия
 +
''Структура работы:''
 +
# находим все записи связанные с данным собитием в таблице БД.
 +
# формируем массив id ученика=>статус присутствия по каждому из событий.
 +
# возвращаем результат.
 +
 
 +
===Планируются:===
 
* Получить статистику посещения учеником занятий по id учебного процесса и id ученика: количество прошедших занятий, количество посещенных занятий, доля посещенных занятий (от 0 до 1), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => статус посещения.
 
* Получить статистику посещения учеником занятий по id учебного процесса и id ученика: количество прошедших занятий, количество посещенных занятий, доля посещенных занятий (от 0 до 1), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => статус посещения.
 
* Получить статистику посещения учениками занятий по id учебного процесса (общие показатели по группе), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => =>id_студента =>статус посещения.
 
* Получить статистику посещения учениками занятий по id учебного процесса (общие показатели по группе), если установлен флаг - массив с посещаемостью всех прошедших занятий id_события => =>id_студента =>статус посещения.

Версия 13:06, 11 августа 2009

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

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

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

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

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

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 студента.
  • $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_студента =>статус посещения.