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

Материал из DOF
Перейти к: навигация, поиск
(Подробный формат полей в таблице:)
Строка 55: Строка 55:
 
* Получить список структурных подразделений, подчиняющихся сотруднику по id персоны
 
* Получить список структурных подразделений, подчиняющихся сотруднику по id персоны
 
* Добавить структурное подразделение в базу данных (проверяет, чтобы в качестве главного было указано существующее структурное подразделение)
 
* Добавить структурное подразделение в базу данных (проверяет, чтобы в качестве главного было указано существующее структурное подразделение)
 +
 +
===События===
 +
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
 +
====Перехватываемые события====
 +
{| border="1"
 +
|+ Таблица событий, которые перехватывает этот плагин
 +
! Тип плагина
 +
! Код плагина
 +
! Код события
 +
! Доп. данные
 +
! Пояснение
 +
|-
 +
|colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''
 +
|}
 +
====Генерируемые события====
 +
{| border="1"
 +
|+ Таблица событий, которые генерирует этот плагин
 +
! Тип плагина
 +
! Код плагина
 +
! Код события
 +
! Доп. данные
 +
! Пояснение
 +
|-
 +
|storage
 +
|departments
 +
|insert
 +
|Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
 +
''Пример:'' array('new' => $dataobject)
 +
|Генерируется каждый раз при вставке новой записи в таблицу departments.
 +
|-
 +
|storage
 +
|departments
 +
|update
 +
|Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
 +
''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new)
 +
|Генерируется каждый раз при обновлении записи в таблице departments.
 +
|-
 +
|storage
 +
|departments
 +
|delete
 +
|Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
 +
''Пример:'' array('old' => $dataobject)
 +
|Генерируется каждый раз при удалении записи из таблицы departments.
 +
|}
 +
 +
[[Категория:Разработка]]
 +
[[Категория:Плагины_storages]]

Версия 17:22, 16 февраля 2010

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


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

departments - подразделения учебного заведения. Учебные потоки, дисциплины, учебные программы, подписки приписаны к одному из подразделений, для удобства организации учебного процесса в крупных учебных заведениях. При установке системы создается одно подразделение по умолчанию, к которому приписываются все объекты, если в использовании других подразделений нет необходимости.

Подробный формат полей в таблице:

  • name - название
  • code - кодовое обозначение (текстовое, необязательное, при указании кода проверяется уникальность)
  • managerid - руководитель структурного подразделения в таблице persons
  • leaddepid - вышестоящее структурное подразделение
  • addressid - местоположение в таблице addresses
  • zone - временная зона, действующая в подразделении
  • status - список статусов указан в одноименном плагине рабочих процессов departments

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

departments_list()

Получает список всех структурных подразделений в алфавитном порядке

Аргументы: нет

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

  • (array) - массив записей из таблицы, где ключ - id подразделения, значение - название подразделения.

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

  1. находим все существующие структурные подразделения.
  2. для каждого подразделения создаем запись в массиве.
  3. сортируем массив и возвращаем значение.

departments_list_subordinated()

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

Аргументы:

  • $id(int) - id подразделения, по умолчанию - головное (0).
  • $spase(string) - знак отступа , по умолчанию - нет. (неиспользуемый параметр, необходим для рекурсии)

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

  • (array) список дочерних подразделений.

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

  1. находим дочерние подразделения первого уровня для данного подразделения.
  2. для каждого подразделения:
    • создаем запись в массиве, где ключ - id подразделения, значение - знак отступа+имя подразделения.
    • находим дочерние подразделения для полученного подразделения.
  3. возвращаем результат.

Планы:

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

  • Получить запись о первичного структурном подразделении, которому подчиняются все остальные. Руководителем первичного структурного подразделения является руководитель организации.
  • Получить структурное подразделение по его коду
  • Получить список подчиненных структурных подразделений первого уровня по id структурного подразделения
  • Получить список структурных подразделений, подчиняющихся сотруднику по id персоны
  • Добавить структурное подразделение в базу данных (проверяет, чтобы в качестве главного было указано существующее структурное подразделение)

События

В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.

Перехватываемые события

Таблица событий, которые перехватывает этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
Этот плагин не перехватывает никаких событий

Генерируемые события

Таблица событий, которые генерирует этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
storage departments insert Массив, содержащий в поле "new" объект с данными для вставки в таблицу.

Пример: array('new' => $dataobject)

Генерируется каждый раз при вставке новой записи в таблицу departments.
storage departments update Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.

Пример: array('old' => $dataobject_old, 'new' => $dataobject_new)

Генерируется каждый раз при обновлении записи в таблице departments.
storage departments delete Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы

Пример: array('old' => $dataobject)

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