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

Материал из DOF
Перейти к: навигация, поиск
(Дополнительные методы:)
(Перехватываемые события)
 
(не показаны 2 промежуточные версии 1 участника)
Строка 120: Строка 120:
 
  ! Пояснение
 
  ! Пояснение
 
  |-
 
  |-
  |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''
+
  | storage
 +
| appointments
 +
| insert
 +
|
 +
| Обработка события добавления в собственный справочник
 +
|-
 +
| storage
 +
| appointments
 +
| update
 +
|
 +
| Обработка события обновления записи в собственном справочнике
 +
|-
 +
| im
 +
| employees
 +
| delete_person_info
 +
|
 +
| Ответ на запрос интерфейса. Отправляет число записей, которые данная персона может перевести в мусорный статус
 +
|-
 +
| im
 +
| employees
 +
| delete_person
 +
|
 +
| Ответ на запрос интерфейса. Переводит в мусорный статус записи, относящиеся к удаляемой персоне и доступные для персоны, запросившей удаление
 
  |}
 
  |}
 +
 
====Генерируемые события====
 
====Генерируемые события====
 
{| border="1"
 
{| border="1"
Строка 152: Строка 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)

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