Разработка:storages/contracts — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(Дополнительные методы:)
(Дополнительные методы:)
Строка 25: Строка 25:
  
 
===Дополнительные методы:===
 
===Дополнительные методы:===
* Найти список действующих контрактов для студента
 
* Найти список действующих контрактов для клиента
 
* Найти список действующих контрактов для куратора
 
* Найти список контрактов по статусу
 
* Проверить есть ли другие активные договора, где используется учетная запись
 
* Проверить является ли персона куратором по контракту
 
  
====Планируются:====
+
'''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 - нет.
 +
 
 +
===Планы:===
 +
====Дополнительные методы:====
 
* Сгенерировать номер контракта
 
* Сгенерировать номер контракта
 
* Найти контракт по номеру
 
* Найти контракт по номеру
 
* Найти контракт по номеру пропуска
 
* Найти контракт по номеру пропуска
 
* Найти список действующих контрактов, относящихся к структурному подразделению
 
* Найти список действующих контрактов, относящихся к структурному подразделению

Версия 15:32, 13 августа 2009

Плагин
Название 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 если контракты не найдены.

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

  1. если id персоны не указано, устанавливаем id текущего пользователя.
  2. по SQL-запросу находим список необходимых контрактов.

get_list_by_client()

Ищет список действующих контрактов для клиента.

Аргументы:

  • $pid(int) - id персоны-клиента, по умолчанию - нет(null).

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

  • (array) список контрактов.
  • (bool) false если контракты не найдены.

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

  1. если id персоны не указано, устанавливаем id текущего пользователя.
  2. по SQL-запросу находим список необходимых контрактов.

get_list_by_student()

Ищет список действующих контрактов для студента.

Аргументы:

  • $pid(int) - id персоны-студента, по умолчанию - нет(null).

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

  • (array) список контрактов.
  • (bool) false если контракты не найдены.

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

  1. если id персоны не указано, устанавливаем id текущего пользователя.
  2. по SQL-запросу находим список необходимых контрактов.

get_list_by_status()

Ищет список контрактов по статусу.

Аргументы:

  • $status(string) - статус контракта.

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

  • (array) список контрактов.
  • (bool) false если контракты не найдены.

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

По SQL-запросу находим список необходимых контрактов.

is_person_used()

Проверяет есть ли другие активные договора, где используется учетная запись.

Аргументы:

  • $pid(int) - id персоны.
  • $except(int) - id контракта, который следует исключить, по умолчанию - нет (null).

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

  • (bool) true если контракты были найдены и false, если их нет.

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

  1. формируем SQL-запрос.
  2. если задан контракт, который слудует исключить, исключаем его из поиска.
  3. находим конракты и возвращаем результат.

is_seller()

Проверяет является ли персона куратором по контракту.

Аргументы:

  • $contractid(int) - id контракта.
  • $personid(int) - id персоны.

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

  • (bool) true - да и false - нет.

Планы:

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

  • Сгенерировать номер контракта
  • Найти контракт по номеру
  • Найти контракт по номеру пропуска
  • Найти список действующих контрактов, относящихся к структурному подразделению