Разработка:storages/contracts — различия между версиями
Ilya (обсуждение | вклад) (→Подробный формат полей в таблице:) |
Ilya (обсуждение | вклад) (Добавлено описание событий и проставлены категории) |
||
Строка 108: | Строка 108: | ||
* Найти контракт по номеру пропуска | * Найти контракт по номеру пропуска | ||
* Найти список действующих контрактов, относящихся к структурному подразделению | * Найти список действующих контрактов, относящихся к структурному подразделению | ||
+ | |||
+ | ===События=== | ||
+ | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
+ | ====Перехватываемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые перехватывает этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий'' | ||
+ | |} | ||
+ | ====Генерируемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые генерирует этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |storage | ||
+ | |contracts | ||
+ | |insert | ||
+ | |Массив, содержащий в поле "new" объект с данными для вставки в таблицу. | ||
+ | ''Пример:'' array('new' => $dataobject) | ||
+ | |Генерируется каждый раз при вставке новой записи в таблицу contracts. | ||
+ | |- | ||
+ | |storage | ||
+ | |contracts | ||
+ | |update | ||
+ | |Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи. | ||
+ | ''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new) | ||
+ | |Генерируется каждый раз при обновлении записи в таблице contracts. | ||
+ | |- | ||
+ | |storage | ||
+ | |contracts | ||
+ | |delete | ||
+ | |Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы | ||
+ | ''Пример:'' array('old' => $dataobject) | ||
+ | |Генерируется каждый раз при удалении записи из таблицы contracts. | ||
+ | |} | ||
+ | |||
+ | [[Категория:Разработка]] | ||
+ | [[Категория:Плагины_storages]] |
Версия 17:04, 16 февраля 2010
Плагин | |
Название | contracts |
Тип | storages |
Содержание
Таблица в базе данных
contracts - договор учащегося с учебным заведением. Отношения учащегося с учебного заведения начинаются с явного или подразумеваемого заключения договора на оказание образовательных услуг, выражающегося в виде записи в таблице contracts, связывающей учащегося, куратора и законного представителя.
Подробный формат полей в таблице:
- typeid - тип договора, если у учебного заведения предусмотрено несколько разных типов договоров
- num - номер договора
- numpass - номер пропуска, студенческого билета и т.п.
- date - дата заключения
- sellerid - куратор (id по таблице persons )
- clientid - клиент, оплачивающий обучение (законный представитель, сам совершеннолетний ученик или куратор от организации, может принимать значение 0 или null, если клиент создается, а контракт имеет черновой вариант) (по таблице persons )
- studentid - ученик ( может принимать значение 0, если ученик создается, а контракт имеет черновой вариант) (по таблице persons )
- adddate - дата добавления в БД
- notes - заметки
- departmentid - подразделение в таблице departments , к которому приписан контракт на обучение (например, принявшее ученика)
- status - список статусов указан в одноименном плагине рабочих процессов contracts
- contractform - форма договора (шаблон)
- organizationid - юридическое лицо в таблице organizations , оплачивающее договор, если ученик платит за себя сам - то не указывается.
- curatorid - куратор данного ученика от работодателя (по таблице persons или не указан)
- enddate - дата окончания договора
Дополнительные методы:
get_list_by_seller()
Ищет список действующих контрактов для куратора.
Аргументы:
- $pid() - id персоны-куратора в таблице persons , по умолчанию - нет(null).
Возвращаемые значения:
- (array) список контрактов.
- (bool) false если контракты не найдены.
Структура работы:
- если id персоны не указано, устанавливаем id текущего пользователя.
- по SQL-запросу находим список необходимых контрактов.
get_list_by_client()
Ищет список действующих контрактов для клиента.
Аргументы:
- $pid(int) - id персоны-клиента в таблице persons , по умолчанию - нет(null).
Возвращаемые значения:
- (array) список контрактов.
- (bool) false если контракты не найдены.
Структура работы:
- если id персоны не указано, устанавливаем id текущего пользователя.
- по SQL-запросу находим список необходимых контрактов.
get_list_by_student()
Ищет список действующих контрактов для студента.
Аргументы:
- $pid(int) - id персоны-студента в таблице persons , по умолчанию - нет(null).
Возвращаемые значения:
- (array) список контрактов.
- (bool) false если контракты не найдены.
Структура работы:
- если id персоны не указано, устанавливаем id текущего пользователя.
- по SQL-запросу находим список необходимых контрактов.
get_list_by_status()
Ищет список контрактов по статусу.
Аргументы:
- $status(string) - статус контракта.
Возвращаемые значения:
- (array) список контрактов.
- (bool) false если контракты не найдены.
Структура работы:
По SQL-запросу находим список необходимых контрактов.
is_person_used()
Проверяет есть ли другие активные договора, где используется учетная запись.
Аргументы:
- $pid(int) - id персоны в таблице persons .
- $except(int) - id контракта в таблице contracts , который следует исключить, по умолчанию - нет (null).
Возвращаемые значения:
- (bool) true если контракты были найдены и false, если их нет.
Структура работы:
- формируем SQL-запрос.
- если задан контракт, который слудует исключить, исключаем его из поиска.
- находим конракты и возвращаем результат.
is_seller()
Проверяет является ли персона куратором по контракту.
Аргументы:
- $contractid(int) - id контракта в таблице contracts .
- $personid(int) - id персоны в таблице persons .
Возвращаемые значения:
- (bool) true - да и false - нет.
Планы:
Дополнительные методы:
- Сгенерировать номер контракта
- Найти контракт по номеру
- Найти контракт по номеру пропуска
- Найти список действующих контрактов, относящихся к структурному подразделению
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
storage | contracts | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу contracts. |
storage | contracts | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице contracts. |
storage | contracts | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы contracts. |