Разработка:storages/appointments — различия между версиями
 (→Дополнительные методы:)  | 
				 (→Перехватываемые события)  | 
				||
| (не показаны 3 промежуточные версии 2 участников) | |||
| Строка 21: | Строка 21: | ||
| − | ===='''get_listing()'''====  | + | ===='''get_listing($limitfrom, $limitnum, $conds=null, $countonly=false)'''====  | 
находит фрагмент списка учебных периодов для вывода таблицы    | находит фрагмент списка учебных периодов для вывода таблицы    | ||
| Строка 28: | Строка 28: | ||
* $limitfrom(int) - начиная с какой записи просматривается фрагмент списка записей.  | * $limitfrom(int) - начиная с какой записи просматривается фрагмент списка записей.  | ||
* $limitnum(int) - сколько записей нужно извлечь из базы.  | * $limitnum(int) - сколько записей нужно извлечь из базы.  | ||
| − | * $conds(object) - список параметров для выборки периодов, по умолчанию null.  | + | * $conds(object) - список параметров для выборки периодов, по умолчанию - null.  | 
| − | * $countonly(bool) - определяет, нужно ли вернуть список записей или просто их количество, по умолчанию false.  | + | * $countonly(bool) - определяет, нужно ли вернуть список записей или просто их количество, по умолчанию - false.  | 
''Возвращаемое значение:''  | ''Возвращаемое значение:''  | ||
| − | * array - массив записей из базы,   | + | * array - массив записей из базы  | 
| + | * bool - false, если произошла ошибка.  | ||
| − | ===='''get_select_listing()'''====  | + | ===='''get_select_listing($inputconds)'''====  | 
показывает фрагмент sql-запроса после слова WHERE  | показывает фрагмент sql-запроса после слова WHERE  | ||
''Аргументы:''  | ''Аргументы:''  | ||
| − | * $inputconds(object) - список полей с условиями запроса в формате "поле_БД->значение"  | + | * $inputconds(object) - список полей с условиями запроса в формате "поле_БД->значение".  | 
''Возвращаемое значение:''  | ''Возвращаемое значение:''  | ||
* string  | * string  | ||
| − | ===='''get_numberof()'''====  | + | ===='''get_numberof($select)'''====  | 
находит количество периодов  | находит количество периодов  | ||
''Аргументы:''  | ''Аргументы:''  | ||
| − | * $select(string) - критерии отбора записей  | + | * $select(string) - критерии отбора записей.  | 
''Возвращаемое значение:''  | ''Возвращаемое значение:''  | ||
| − | * int - количество найденных записей  | + | * int - количество найденных записей.  | 
| − | ===='''is_enumber_unique()'''====  | + | ===='''is_enumber_unique($enumber)'''====  | 
Есть ли другие записи с таким табельным номером  | Есть ли другие записи с таким табельным номером  | ||
''Аргументы:''  | ''Аргументы:''  | ||
| − | * $enumber(string) - табельный номер  | + | * $enumber(string) - табельный номер.  | 
''Возвращаемое значение:''  | ''Возвращаемое значение:''  | ||
* bool  | * bool  | ||
| − | ===='''get_free_worktime()'''====  | + | ===='''get_free_worktime($schpositionid)'''====  | 
находит допустимое время вакансии  | находит допустимое время вакансии  | ||
| Строка 74: | Строка 75: | ||
| − | ===='''get_person_by_appointment()'''====  | + | ===='''get_person_by_appointment($appointment, $enum = false)'''====  | 
находит объект из таблицы persons по id в таблице [[Разработка:storages/appointments | appointments ]]  | находит объект из таблицы persons по id в таблице [[Разработка:storages/appointments | appointments ]]  | ||
''Аргументы:''  | ''Аргументы:''  | ||
| − | * $appointment(object) - объект из таблицы [[Разработка:storages/appointments | appointments ]]  | + | * $appointment(object) - объект из таблицы [[Разработка:storages/appointments | appointments ]].  | 
| − | * $appointment(int) - id объекта из таблицы [[Разработка:storages/appointments | appointments ]]  | + | * $appointment(int) - id объекта из таблицы [[Разработка:storages/appointments | appointments ]].  | 
| − | * $enum(bool) - возвращать ли табельный номер, по умолчанию false  | + | * $enum(bool) - возвращать ли табельный номер, по умолчанию - false.  | 
''Возвращаемое значение:''  | ''Возвращаемое значение:''  | ||
| − | * object - объект из таблицы [[Разработка:storages/persons | persons ]]  | + | * object - объект из таблицы [[Разработка:storages/persons | persons ]].  | 
| − | * bool - false если ничего не нашлось  | + | * bool - false если ничего не нашлось.  | 
| Строка 95: | Строка 96: | ||
''Возвращаемое значение:''  | ''Возвращаемое значение:''  | ||
* array - массив записей из таблицы [[Разработка:storages/persons | persons ]], упорядоченных по sortname ASC. К каждой записи добавлено поле enumber - табельный номер, поле appointmentid - id назначения на должность.  | * array - массив записей из таблицы [[Разработка:storages/persons | persons ]], упорядоченных по sortname ASC. К каждой записи добавлено поле enumber - табельный номер, поле appointmentid - id назначения на должность.  | ||
| − | * bool false - если   | + | * bool false - если произошла ошибка.  | 
| − | ===='''get_appointment_by_persons()'''====  | + | ===='''get_appointment_by_persons($personid)'''====  | 
Возвращает список табельных номеров для персоны.  | Возвращает список табельных номеров для персоны.  | ||
| Строка 106: | Строка 107: | ||
''Возвращаемое значение:''  | ''Возвращаемое значение:''  | ||
* array - массив записей из таблицы [[Разработка:storages/appointments | appointments ]].  | * array - массив записей из таблицы [[Разработка:storages/appointments | appointments ]].  | ||
| − | * bool false - если   | + | * bool false - если произошла ошибка.  | 
===События===  | ===События===  | ||
| Строка 119: | Строка 120: | ||
  ! Пояснение  |   ! Пояснение  | ||
  |-  |   |-  | ||
| − |   |  | + |   | storage  | 
| + |  | appointments  | ||
| + |  | insert  | ||
| + |  |   | ||
| + |  | Обработка события добавления в собственный справочник  | ||
| + |  |-  | ||
| + |  | storage  | ||
| + |  | appointments  | ||
| + |  | update  | ||
| + |  |   | ||
| + |  | Обработка события обновления записи в собственном справочнике  | ||
| + |  |-  | ||
| + |  | im  | ||
| + |  | employees  | ||
| + |  | delete_person_info  | ||
| + |  |   | ||
| + |  | Ответ на запрос интерфейса. Отправляет число записей, которые данная персона может перевести в мусорный статус  | ||
| + |  |-  | ||
| + |  | im  | ||
| + |  | employees  | ||
| + |  | delete_person  | ||
| + |  |   | ||
| + |  | Ответ на запрос интерфейса. Переводит в мусорный статус записи, относящиеся к удаляемой персоне и доступные для персоны, запросившей удаление  | ||
  |}  |   |}  | ||
| + | |||
====Генерируемые события====  | ====Генерируемые события====  | ||
{| border="1"  | {| border="1"  | ||
| Строка 151: | Строка 175: | ||
  |Генерируется каждый раз при удалении записи из таблицы.  |   |Генерируется каждый раз при удалении записи из таблицы.  | ||
  |}  |   |}  | ||
| − | |||
| − | |||
| − | |||
Текущая версия на 15:37, 21 января 2015
| Плагин | |
| Название | appointments | 
| Тип | storages | 
Содержание
- 1 Таблица в базе данных
 - 2 Дополнительные методы:
- 2.1 get_listing($limitfrom, $limitnum, $conds=null, $countonly=false)
 - 2.2 get_select_listing($inputconds)
 - 2.3 get_numberof($select)
 - 2.4 is_enumber_unique($enumber)
 - 2.5 get_free_worktime($schpositionid)
 - 2.6 get_person_by_appointment($appointment, $enum = false)
 - 2.7 get_persons_by_appointments($appointments)
 - 2.8 get_appointment_by_persons($personid)
 
 - 3 События
 
Таблица в базе данных
appointments - Сопоставление должностей с табельными номерами.
Подробный формат полей в таблице:
- eagreementid - id договора с сотрудником в таблице eagreements
 - schpositionid - ссылка на вакансию в штатном расписании (таблица schpositions)
 - enumber - табельный номер (уникальное поле),
 - worktime - ставка в часах/неделю,
 - date - дата заключения договора в формате unixtime
 - begindate - дата начала работы в формате unixtime
 - enddate - дата окончания работы в формате unixtime
 - departmentid - подразделение, которому принадлежит учебный процесс в таблице departments
 - status - список статусов указан в одноименном плагине рабочих процессов appointments
 
Дополнительные методы:
get_listing($limitfrom, $limitnum, $conds=null, $countonly=false)
находит фрагмент списка учебных периодов для вывода таблицы
Аргументы:
- $limitfrom(int) - начиная с какой записи просматривается фрагмент списка записей.
 - $limitnum(int) - сколько записей нужно извлечь из базы.
 - $conds(object) - список параметров для выборки периодов, по умолчанию - null.
 - $countonly(bool) - определяет, нужно ли вернуть список записей или просто их количество, по умолчанию - false.
 
Возвращаемое значение:
- array - массив записей из базы
 - bool - false, если произошла ошибка.
 
get_select_listing($inputconds)
показывает фрагмент sql-запроса после слова WHERE
Аргументы:
- $inputconds(object) - список полей с условиями запроса в формате "поле_БД->значение".
 
Возвращаемое значение:
- string
 
get_numberof($select)
находит количество периодов
Аргументы:
- $select(string) - критерии отбора записей.
 
Возвращаемое значение:
- int - количество найденных записей.
 
is_enumber_unique($enumber)
Есть ли другие записи с таким табельным номером
Аргументы:
- $enumber(string) - табельный номер.
 
Возвращаемое значение:
- bool
 
get_free_worktime($schpositionid)
находит допустимое время вакансии
Аргументы:
- $schpositionid(int) - id вакансии из таблицы schpositions
 
Возвращаемое значение:
- int
 
get_person_by_appointment($appointment, $enum = false)
находит объект из таблицы persons по id в таблице appointments
Аргументы:
- $appointment(object) - объект из таблицы appointments .
 - $appointment(int) - id объекта из таблицы appointments .
 - $enum(bool) - возвращать ли табельный номер, по умолчанию - false.
 
Возвращаемое значение:
- object - объект из таблицы persons .
 - bool - false если ничего не нашлось.
 
get_persons_by_appointments($appointments)
находит список персон по переданным записям отсортированный по ФИО
Аргументы:
- array $appointments - массив записей из таблицы appointments .
 
Возвращаемое значение:
- array - массив записей из таблицы persons , упорядоченных по sortname ASC. К каждой записи добавлено поле enumber - табельный номер, поле appointmentid - id назначения на должность.
 - bool false - если произошла ошибка.
 
get_appointment_by_persons($personid)
Возвращает список табельных номеров для персоны.
Аргументы:
- $persons(int) - массив записей из таблицы persons .
 
Возвращаемое значение:
- array - массив записей из таблицы appointments .
 - bool false - если произошла ошибка.
 
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
| Тип плагина | Код плагина | Код события | Доп. данные | Пояснение | 
|---|---|---|---|---|
| storage | appointments | insert | Обработка события добавления в собственный справочник | |
| storage | appointments | update | Обработка события обновления записи в собственном справочнике | |
| im | employees | delete_person_info | Ответ на запрос интерфейса. Отправляет число записей, которые данная персона может перевести в мусорный статус | |
| im | employees | delete_person | Ответ на запрос интерфейса. Переводит в мусорный статус записи, относящиеся к удаляемой персоне и доступные для персоны, запросившей удаление | 
Генерируемые события
| Тип плагина | Код плагина | Код события | Доп. данные | Пояснение | 
|---|---|---|---|---|
| storage | appointments | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
 Пример: array('new' => $dataobject)  | 
Генерируется каждый раз при вставке новой записи в таблицу. | 
| storage | appointments | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
 Пример: array('old' => $dataobject_old, 'new' => $dataobject_new)  | 
Генерируется каждый раз при обновлении записи в таблице. | 
| storage | appointments | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
 Пример: array('old' => $dataobject)  | 
Генерируется каждый раз при удалении записи из таблицы. |