Разработка:storages/programmsbcs — различия между версиями
Alex (обсуждение | вклад) (→Подробный формат полей в таблице:: уточнено описание номера сертификата) |
Yumeneco (обсуждение | вклад) (→Дополнительные методы:) |
||
Строка 26: | Строка 26: | ||
===Дополнительные методы:=== | ===Дополнительные методы:=== | ||
+ | |||
+ | '''get_contracts_without_cpassed()''' | ||
+ | |||
+ | Возвращает список контрактов учеников данной группы, у которых нет подписок на указанный предмето-поток | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $agroupid(int) - id группы | ||
+ | * $cstreamid(int) - id учебного потока | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (array) контрактов учеников группы не имеющие подписки. | ||
+ | ''Структура работы:'' | ||
+ | * Находим все подписки данного учебного потока. | ||
+ | * Записываем id подписок на программы каждой найденной подписки на поток, если такие существуют. | ||
+ | * формируем SQL-запрос и возвращаем список подписок: | ||
+ | ** если подписки были найдены - то исключаем их из поиска и находим все подписки на предметы данной группы, | ||
+ | ** если подписки не были найдены - найдем все подписки на предметы данной группы. | ||
+ | * из найденных подписок на предметы извлечем id контрактов и вернем сами контракты. | ||
+ | |||
===Планы:=== | ===Планы:=== | ||
====Дополнительные методы:==== | ====Дополнительные методы:==== |
Версия 11:31, 28 октября 2009
Плагин | |
Название | programmsbcs |
Тип | storages |
Содержание
Таблица в базе данных
programmsbcs - подписка на изучение учебной программы/специальности. Подписка выражается в обязательстве учебного заведения реализовать для учащегося предусмотренный программой список предметов/учебных дисциплин. Каждый учащийся может быть записан на несколько учебных программ по очереди или одновременно.
Подробный формат полей в таблице:
- contractid - id контракта, по которому реализуется подписка
- programmid - id заказанной программы
- edutype - тип обучения (индивидуальное/групповое)
- eduform - очное/заочное/очно-заочное/экстернат
- freeattendance - свободное посещение (0/1)
- agroupid - id академической группы, если обучение групповое
- agenum - порядковый номер текущего учебного периода (изменяется приказом по контингенту)
- departmentid - структурное подразделение, ответственное за исполнение подписки
- status - список статусов указан в одноименном плагине рабочих процессов programmsbcs
- agestartid - id учебного периода, в котором началось обучение данного студента по программе
- datestart - дата начала действия подписки
- dateadd - дата создания подписки (если есть, соответствует дате документа о подписке ученика на курс)
- certificatenum - номер сертификата (текстовое поле - номер может содержать серию, символы и т.п.)
- certificateform - код формы/бланка сертификата (должен совпадать с кодом шаблона в плагине storage/programmsbcs)
- certificatedate - дата выдачи сертификата
- certificateorderid - номер приказа, в соответствии с которым выдан сертификат
- dateend - дата завершения подписки
Дополнительные методы:
get_contracts_without_cpassed()
Возвращает список контрактов учеников данной группы, у которых нет подписок на указанный предмето-поток
Аргументы:
- $agroupid(int) - id группы
- $cstreamid(int) - id учебного потока
Возвращаемые значения:
- (array) контрактов учеников группы не имеющие подписки.
Структура работы:
- Находим все подписки данного учебного потока.
- Записываем id подписок на программы каждой найденной подписки на поток, если такие существуют.
- формируем SQL-запрос и возвращаем список подписок:
- если подписки были найдены - то исключаем их из поиска и находим все подписки на предметы данной группы,
- если подписки не были найдены - найдем все подписки на предметы данной группы.
- из найденных подписок на предметы извлечем id контрактов и вернем сами контракты.
Планы:
Дополнительные методы:
- Список действующих подписок для контракта (если указан статус - то берутся подписки соответствующие этому статусу, если не указан - действующие)
- Список действующих подписок для слушателя (если указан статус - то берутся подписки соответствующие этому статусу, если не указан - действующие)
- Список действующих подписок для учебной программы (если указан статус - то берутся подписки соответствующие этому статусу, если не указан - действующие)
- Список действующих подписок для структурного подразделения (если указан статус - то берутся подписки соответствующие этому статусу, если не указан - действующие)
- Проверить, существует ли подписка с теми же параметрами: тот же пользователь (получаем через контракт id пользователя, выбираем все его контракты) в ту же академическую группу, тот же пользователь на ту же учебную программу. Учитывает подписки в статусе заявка, подтвержденная, действующая, приостановленная.
- Подписать (проверяется невозможность создать существующую подписку)
- Отписать (подписка помечается как недействительная)
- Изменить параметры подписки: тип, форма, свободное посещение, академическая группа. Другие параметры через этот метод изменять нельзя.