Разработка:storages/departments

Материал из DOF
Версия от 22:31, 13 января 2010; Ilya (обсуждение | вклад) (Подробный формат полей в таблице:)
Перейти к: навигация, поиск
Плагин
Название 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 персоны
  • Добавить структурное подразделение в базу данных (проверяет, чтобы в качестве главного было указано существующее структурное подразделение)