Разработка:storages/schevents — различия между версиями
Yumeneco (обсуждение | вклад) (→Дополнительные методы:) |
Yumeneco (обсуждение | вклад) (→Дополнительные методы:) |
||
Строка 17: | Строка 17: | ||
===Дополнительные методы:=== | ===Дополнительные методы:=== | ||
− | + | ||
− | + | '''replace_events()''' | |
− | + | ||
− | * '''get_teacher_events''' | + | Формирует замену для события событием. |
− | * '''get_department_events''' | + | |
+ | ''Аргументы:'' | ||
+ | * $eventid(int) - id события, для которого формируется замена. | ||
+ | * $replaceid(int) - id события, которым заменяем. | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) true в случае успеха или false если обновление не удалось. | ||
+ | ''Структура работы:'' | ||
+ | |||
+ | В поле replaceid заменяемого события записываем id события, которое будет его заменять и обновляем запись в таблице БД. | ||
+ | |||
+ | '''delete_events()''' | ||
+ | |||
+ | Удаляет все события дня. | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $date - день, для которого надо удалить все события, по умолчанию - текущий день (null). | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) true если все записи удалились и false в остальных случаях | ||
+ | ''Структура работы:'' | ||
+ | # если метка времени не указана, устанавливаем текущую метку времени. | ||
+ | # формируем метку времени начала дня. | ||
+ | # получаем все существующие события. | ||
+ | # для каждого события проверяем, если метка времени события попадает в промежуток даты начала дня и даты конца дня, то удаляем событие. | ||
+ | # возвращаем результат. | ||
+ | |||
+ | '''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 если события не найдены. | ||
+ | ''Структура работы:'' | ||
+ | # находим все учебные потоки для преподавателя. | ||
+ | # для каждого учебного потока находим его события и заносим в массив. | ||
+ | # возвращаем резальтат. | ||
+ | |||
+ | '''get_department_events()''' | ||
+ | |||
+ | Получает список событий, принадлежащих структурному подразделению. | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $dpid(int) - id структурного подразделения. | ||
+ | * $status(string) - статус учебного процесса, по умолчанию - все (null). | ||
+ | * $begin(int) - дата начала события, по умолчанию - все (null). | ||
+ | * $end(int) - дата окончания события, по умолчанию - все (null). | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (array) события для учебного потока. | ||
+ | * (bool) false если события не найдены. | ||
+ | ''Структура работы:'' | ||
+ | # находим все учебные потоки для подразделения. | ||
+ | # для каждого учебного потока находим его события и заносим в массив. | ||
+ | # возвращаем резальтат. | ||
+ | |||
+ | |||
* '''get_pevent'''($point, $event) - состыковывать контрольную точку с событием. | * '''get_pevent'''($point, $event) - состыковывать контрольную точку с событием. | ||
* '''get_pointevents'''($point) - получить массив состыкованных записей контрольной точки с ее событиями. | * '''get_pointevents'''($point) - получить массив состыкованных записей контрольной точки с ее событиями. | ||
Строка 27: | Строка 105: | ||
− | ==== | + | ===Планы:=== |
+ | ====Дополнительные методы:==== | ||
* Создать событие на день по объекту шаблона расписания | * Создать событие на день по объекту шаблона расписания | ||
* Получить статистику событий по структурному подразделению | * Получить статистику событий по структурному подразделению |
Версия 13:08, 13 августа 2009
Содержание
Таблица в базе данных
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 в остальных случаях
Структура работы:
- если метка времени не указана, устанавливаем текущую метку времени.
- формируем метку времени начала дня.
- получаем все существующие события.
- для каждого события проверяем, если метка времени события попадает в промежуток даты начала дня и даты конца дня, то удаляем событие.
- возвращаем результат.
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 если события не найдены.
Структура работы:
- находим все учебные потоки для преподавателя.
- для каждого учебного потока находим его события и заносим в массив.
- возвращаем резальтат.
get_department_events()
Получает список событий, принадлежащих структурному подразделению.
Аргументы:
- $dpid(int) - id структурного подразделения.
- $status(string) - статус учебного процесса, по умолчанию - все (null).
- $begin(int) - дата начала события, по умолчанию - все (null).
- $end(int) - дата окончания события, по умолчанию - все (null).
Возвращаемые значения:
- (array) события для учебного потока.
- (bool) false если события не найдены.
Структура работы:
- находим все учебные потоки для подразделения.
- для каждого учебного потока находим его события и заносим в массив.
- возвращаем резальтат.
- get_pevent($point, $event) - состыковывать контрольную точку с событием.
- get_pointevents($point) - получить массив состыкованных записей контрольной точки с ее событиями.
- get_points_and_events($plans) - получить массив состыкованных записей контрольных точек с их событиями.
Планы:
Дополнительные методы:
- Создать событие на день по объекту шаблона расписания
- Получить статистику событий по структурному подразделению
- Получить статитстику событий по преподавателю
- Получить статистику событий по учебному процессу
- Получить статистику событий с участием студента