Разработка:storages/contracts
Плагин | |
Название | contracts |
Тип | storages |
Содержание
Таблица в базе данных
contracts - договор учащегося с учебным заведением. Отношения учащегося с учебного заведения начинаются с явного или подразумеваемого заключения договора на оказание образовательных услуг, выражающегося в виде записи в таблице contracts, связывающей учащегося, куратора и законного представителя.
Подробный формат полей в таблице:
- type - тип договора (1 - договор непосредственно с учеником, 2 - договор с законным представителем)
- num - номер договора
- numpass - номер пропуска, студенческого билета и т.п.
- date - дата заключения
- sellerid - куратор (id по таблице persons)
- clientid - клиент, оплачивающий обучение (законный представитель, сам совершеннолетний ученик или куратор от организации)
- studentid - ученик
- adddate - дата добавления в БД
- notes - заметки
- departmentid - подразделение, к которому приписан контракт на обучение (например, принявшее ученика)
- status - список статусов указан в одноименном плагине рабочих процессов contracts
- contractform - форма договора (шаблон)
- legalperson - юридическое лицо (если не указано - значит договор с физ. лицом, для бесплатников указывается управление образованием и т.п.)
- selleremployerid - куратор данного ученика от работодателя (id персоны или не указан)
- enddate - дата окончания договора
Дополнительные методы:
get_list_by_seller()
Ищет список действующих контрактов для куратора.
Аргументы:
- $pid() - id персоны-куратора, по умолчанию - нет(null).
Возвращаемые значения:
- (array) список контрактов.
- (bool) false если контракты не найдены.
Структура работы:
- если id персоны не указано, устанавливаем id текущего пользователя.
- по SQL-запросу находим список необходимых контрактов.
get_list_by_client()
Ищет список действующих контрактов для клиента.
Аргументы:
- $pid(int) - id персоны-клиента, по умолчанию - нет(null).
Возвращаемые значения:
- (array) список контрактов.
- (bool) false если контракты не найдены.
Структура работы:
- если id персоны не указано, устанавливаем id текущего пользователя.
- по SQL-запросу находим список необходимых контрактов.
get_list_by_student()
Ищет список действующих контрактов для студента.
Аргументы:
- $pid(int) - id персоны-студента, по умолчанию - нет(null).
Возвращаемые значения:
- (array) список контрактов.
- (bool) false если контракты не найдены.
Структура работы:
- если id персоны не указано, устанавливаем id текущего пользователя.
- по SQL-запросу находим список необходимых контрактов.
get_list_by_status()
Ищет список контрактов по статусу.
Аргументы:
- $status(string) - статус контракта.
Возвращаемые значения:
- (array) список контрактов.
- (bool) false если контракты не найдены.
Структура работы:
По SQL-запросу находим список необходимых контрактов.
is_person_used()
Проверяет есть ли другие активные договора, где используется учетная запись.
Аргументы:
- $pid(int) - id персоны.
- $except(int) - id контракта, который следует исключить, по умолчанию - нет (null).
Возвращаемые значения:
- (bool) true если контракты были найдены и false, если их нет.
Структура работы:
- формируем SQL-запрос.
- если задан контракт, который слудует исключить, исключаем его из поиска.
- находим конракты и возвращаем результат.
is_seller()
Проверяет является ли персона куратором по контракту.
Аргументы:
- $contractid(int) - id контракта.
- $personid(int) - id персоны.
Возвращаемые значения:
- (bool) true - да и false - нет.
Планы:
Дополнительные методы:
- Сгенерировать номер контракта
- Найти контракт по номеру
- Найти контракт по номеру пропуска
- Найти список действующих контрактов, относящихся к структурному подразделению