Разработка:storages/schevents

Материал из DOF
Версия от 20:13, 15 октября 2009; Alex (обсуждение | вклад) (Подробный формат полей в таблице:)
Перейти к: навигация, поиск
Плагин
Название schevents
Тип storages


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

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

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

  • templateid - шаблон
  • dayid - день расписания, по которому было создано событие
  • planid - тема урока в плане
  • type - тип события: обычный урок, бесплатный урок (например, учитель химии ведет урок химии, который связан и с биологией, при этом в журнале "биологии" отмечается бесплатный урок, который учитель биологии не вел, но тема пройдена), интегрированный урок (например, учитель географии приглашает на свой урок учителя информатики для занятия в ГИС, при этом урок записывается и в журнал информатики и преподаватель информатики получает за него деньги; при этом "итегрированным" считается только урок информатики, а географии - обычный).
  • joinid - id обычного урока, к которому присоединяется "бесплатный" или "интегрированный" либо 0
  • cstreamid - учебный поток
  • teacherid - id преподавателя по таблице persons
  • date - дата и время начала события по UTC
  • duration - продолжительность события в секундах
  • place - место проведения события (текстовое поле)
  • replaceid - id события, которое заменяется данным событием
  • status - список статусов указан в одноименном плагине рабочих процессов schevents

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

replace_events()

Формирует замену для события событием.

Аргументы:

  • $eventid(int) - id события, для которого формируется замена.
  • $replaceid(int) - id события, которым заменяем.

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

  • (bool) true в случае успеха или false если обновление не удалось.

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

В поле replaceid заменяемого события записываем id события, которое будет его заменять и обновляем запись в таблице БД.

delete_events()

Удаляет все события дня.

Аргументы:

  • $date - день, для которого надо удалить все события, по умолчанию - текущий день (null).

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

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

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

  1. если метка времени не указана, устанавливаем текущую метку времени.
  2. формируем метку времени начала дня.
  3. получаем все существующие события.
  4. для каждого события проверяем, если метка времени события попадает в промежуток даты начала дня и даты конца дня, то удаляем событие.
  5. возвращаем результат.

get_cstream_events()

Получает список событий для учебного потока.

Аргументы:

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

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

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

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

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

get_teacher_events()

Получает список событий для преподавателя.

Аргументы:

  • $tcid(int) - id преподавателя.
  • $status(string) - статус учебного процесса, по умолчанию - все (null).
  • $begin(int) - дата начала события, по умолчанию - все (null).
  • $end(int) - дата окончания события, по умолчанию - все (null).

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

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

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

  1. находим все учебные потоки для преподавателя.
  2. для каждого учебного потока находим его события и заносим в массив.
  3. возвращаем резальтат.

get_department_events()

Получает список событий, принадлежащих структурному подразделению.

Аргументы:

  • $dpid(int) - id структурного подразделения.
  • $status(string) - статус учебного процесса, по умолчанию - все (null).
  • $begin(int) - дата начала события, по умолчанию - все (null).
  • $end(int) - дата окончания события, по умолчанию - все (null).

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

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

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

  1. находим все учебные потоки для подразделения.
  2. для каждого учебного потока находим его события и заносим в массив.
  3. возвращаем резальтат.


  • get_pevent($point, $event) - состыковывать контрольную точку с событием.
  • get_pointevents($point) - получить массив состыкованных записей контрольной точки с ее событиями.
  • get_points_and_events($plans) - получить массив состыкованных записей контрольных точек с их событиями.


Планы:

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

  • Создать событие на день по объекту шаблона расписания
  • Получить статистику событий по структурному подразделению
  • Получить статитстику событий по преподавателю
  • Получить статистику событий по учебному процессу
  • Получить статистику событий с участием студента