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

Материал из DOF
Перейти к: навигация, поиск
(Подробный формат полей в таблице:)
(Перехватываемые события)
 
(не показано 6 промежуточных версий 2 участников)
Строка 19: Строка 19:
  
 
===Дополнительные методы:===
 
===Дополнительные методы:===
 +
 +
 +
===='''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 вакансии из таблицы [[Разработка:storages/schpositions | schpositions ]]
 +
''Возвращаемое значение:''
 +
* int
 +
 +
 +
===='''get_person_by_appointment($appointment, $enum = false)'''====
 +
 +
находит объект из таблицы persons по id в таблице [[Разработка:storages/appointments | appointments ]]
 +
 +
''Аргументы:''
 +
* $appointment(object) - объект из таблицы [[Разработка:storages/appointments | appointments ]].
 +
* $appointment(int) - id объекта из таблицы [[Разработка:storages/appointments | appointments ]].
 +
* $enum(bool) - возвращать ли табельный номер, по умолчанию - false.
 +
''Возвращаемое значение:''
 +
* object - объект из таблицы [[Разработка:storages/persons | persons ]].
 +
* bool - false если ничего не нашлось.
 +
 +
 +
===='''get_persons_by_appointments($appointments)'''====
 +
 +
находит список персон по переданным записям отсортированный по ФИО
 +
 +
''Аргументы:''
 +
* array $appointments - массив записей из таблицы [[Разработка:storages/appointments | appointments ]].
 +
''Возвращаемое значение:''
 +
* array - массив записей из таблицы [[Разработка:storages/persons | persons ]], упорядоченных по sortname ASC. К каждой записи добавлено поле enumber - табельный номер, поле appointmentid - id назначения на должность.
 +
* bool false - если произошла ошибка.
 +
 +
 +
===='''get_appointment_by_persons($personid)'''====
 +
 +
Возвращает список табельных номеров для персоны.
 +
 +
''Аргументы:''
 +
* $persons(int) - массив записей из таблицы [[Разработка:storages/persons | persons ]].
 +
''Возвращаемое значение:''
 +
* array - массив записей из таблицы [[Разработка:storages/appointments | appointments ]].
 +
* bool false - если произошла ошибка.
  
 
===События===
 
===События===
Строка 31: Строка 120:
 
  ! Пояснение
 
  ! Пояснение
 
  |-
 
  |-
  |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''
+
  | storage
 +
| appointments
 +
| insert
 +
|
 +
| Обработка события добавления в собственный справочник
 +
|-
 +
| storage
 +
| appointments
 +
| update
 +
|
 +
| Обработка события обновления записи в собственном справочнике
 +
|-
 +
| im
 +
| employees
 +
| delete_person_info
 +
|
 +
| Ответ на запрос интерфейса. Отправляет число записей, которые данная персона может перевести в мусорный статус
 +
|-
 +
| im
 +
| employees
 +
| delete_person
 +
|
 +
| Ответ на запрос интерфейса. Переводит в мусорный статус записи, относящиеся к удаляемой персоне и доступные для персоны, запросившей удаление
 
  |}
 
  |}
 +
 
====Генерируемые события====
 
====Генерируемые события====
 
{| border="1"
 
{| border="1"
Строка 63: Строка 175:
 
  |Генерируется каждый раз при удалении записи из таблицы.
 
  |Генерируется каждый раз при удалении записи из таблицы.
 
  |}
 
  |}
 
[[Категория:Разработка]]
 
[[Категория:Плагины_storages]]
 

Текущая версия на 15:37, 21 января 2015

Плагин
Название appointments
Тип storages


Таблица в базе данных

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)

Генерируется каждый раз при удалении записи из таблицы.