Разработка:im/employees

Материал из DOF
Перейти к: навигация, поиск
Плагин
Название employees
Тип im


im/employees - Сотрудники

Интерфейс Для работы с сотрудниками организации, назначений на должности. Работает вместе с модулями storage/eagreements, storage/appointments, storage/schpositions, storage/positions и storage/teachers. Позволяет создавать и редактировать должности и вакансии, договора с сотрудниками и назначения на должности, а также создавать связи для учителей с предметами.

Список возможных действий и список сотрудников (list.php)

Здесь находится список все сотрудиников, с которыми заключены договора. Список сотрудников выводится в виде таблицы, с полями:

  • ФИО сотрудника (ссылается на сотрудника в таблице persons)
  • подразделение
  • Договор
  • Дата начала работы
  • инструменты (ссылка на страницу просмотра договора)

Также на этой странице отображается список возможных операций для назначения сотрудника на должность.

  • Список должностей
    • Создание новой должности
  • Список вакансий
    • Создание новой вакансии
  • Список назначений
    • Создание договора с сотрудником и назначения на должность
    • Создание новой должности
    • Увольнение сотрудника (пока нет)

Список должностей

На странице отображается список всех должностей. Дополнительными параметрами являются departmentid (подразделение), name (название должности), code (кодовое название должности). Также можно указать дополнительный параметр status, который отображает должности с указанным статусом. При отсутствии должности с данными параметрами выводится сообщение, что должности не найдены. При отсутствии всех параметров выводится общий список должностей.

Список выводится в виде таблицы. Количество строк таблицы выводимых на одну страницу настраивается в параметрах конфигурации. Если список слишком длинный, то он разбивается на страницы и появляется список ссылок на них.

Вверху списка отображается ссылка на создание новой должности. Также со страницы можно перейти на страницу просмотра или редактирования должности.

Создание/редактирование должности

На этой странице отображается форма, в которой можно определить параметры должности.

Назначение полей:

  • Название - наименование должности.
  • Код - кодовое наименование должности. Указывается латинскими буквами в нижнем регистре. Должно быть уникальным.
  • Подразделение - подразделение, для которого создается должность.

Ниже стоит галочка, если необходимо автоматически создать вакансии и поле с указанием количества создаваемых вакансий и количеством часов для каждой вакансии. По умолчанию все вакансии создаются на 36 часов. Количество часов можно задать от 1 до 40.

Страница создания и редактирования должности содержит обязательный параметр id.

  • Если он передан - то редактируется должность с переданным id
  • Если он равен 0 (или передана строка), то будет загружена форма создания новой должности.
  • Если передан номер не существующей в БД записи - то будет выведено сообщение об ошибке.

Просмотр должности

На этой странице выводится вся информация об указанной должности. Отсюда можно перейти на страницу редактирования должности, на страницу со списком должностей, просмотреть список вакансий на должности, или создать новую вакансию на данную должность.

Также на этой странице возможно изменить статус должности. Список статусов должности указан в плагине workflows/positions

Содержит обязательный параметр id. Если не указан, или указан неверно - выводится сообщение об ошибке.

Список вакансий

На странице отображается список всех вакансий. Дополнительными параметрами фильтрации являются

  • departmentid (подразделение),
  • positionid (должность)
  • ststus (статус)

Также можно указать дополнительный параметр status, который отображает вакансии с указанным статусом. При отсутствии вакансий с данными параметрами выводится сообщение, что вакансии не найдены. При отсутствии всех параметров выводится общий список вакансий.

Список выводится в виде таблицы. Количество строк таблицы выводимых на одну страницу настраивается в параметрах конфигурации. Если список слишком длинный, то он разбивается на страницы и появляется список ссылок на них.

Вверху списка отображается ссылка на создание новой вакансии. Также со страницы можно перейти на страницу просмотра или редактирования вакансии.

Создание/редактирование вакансии

На этой странице отображается форма, в которой можно определить параметры вакансии.

Назначение полей:

  • Подразделение - подразделение, для которого создается вакансия.
  • Должность - выбор должности из списка уже существующих и не отмененных.
  • Ставка - указывается время в часах в неделю, которая занимает данная вакансия. Обязательно для заполнения.

Страница создания и редактирования темы содержит обязательный параметр id.

  • Если он передан - то редактируется вакансия с переданным id
  • Если он равен 0 (или передана строка), то будет загружена форма создания новой вакансии.
  • Если он не передан или передан номер не существующей в БД записи - то будет выведено сообщение об ошибке.

Просмотр вакансии

На этой странице выводится вся информация об указанной вакансии. Отсюда можно перейти на страницу редактирования вакансии или на страницу со списком вакансий. На этой странице также проискходит изменение статуса вакансии. Список статусов вакакнсии указан в плагине workflows/schpositions

Содержит обязательный параметр id. Если не указан, или указан неверно - выводится сообщение об ошибке.

Список должностных назначений

На странице отображается список всех назначений на должности с договорами сотрудников. Дополнительными параметрами являются departmentid (подразделение), personid (имя сотрудника, заключившего договор), worktime (ставка) и schposition (вакансия). Также можно указать дополнительный параметр status, который отображает назначения с указанным статусом. При отсутствии назначений с данными параметрами выводится сообщение, что назначения не найдены. При отсутствии всех параметров выводится общий список назначений на должности.

Список выводится в виде таблицы. Количество строк таблицы выводимых на одну страницу настраивается в параметрах конфигурации. Если список слишком длинный, то он разбивается на страницы и появляется список ссылок на них.

Вверху списка отображается ссылка на создание нового назначения и договора с назначением. Также со страницы можно перейти на страницу просмотра или редактирования назначения и договора.

Создание/редактирование назначения на должность

На этой странице отображается форма, в которой можно определить параметры назначения на должность.

Назначение полей:

  • Сотрудник - выбор сотрудника из списка, с которыми заключен договор.
  • Должность - выбор вакансии по должности из списка уже существующих и не отмененных.
  • Табельный номер - табельный номер сотрудника. Уникальный.
  • Ставка - ставка в часах в неделю, которую сотрудник занимает по данной вакансии. Не должна превышать количество свободных часов ставки вакансии.
  • Дата - дата назначения сотрудника на должность.
  • Подразделение - подразделения, которому назначается сотрудник на должность.

Страница создания и редактирования должности содержит обязательный параметр id.

  • Если он передан - то редактируется назначение на должность с переданным id
  • Если он равен 0 (или передана строка), то будет загружена форма создания нового назначения.
  • Если передан номер не существующей в БД записи - то будет выведено сообщение об ошибке.

Создание/редактирование договора с сотрудником

На этой странице отображается форма, в которой можно определить параметры договора с сотрудником и назначения на должность.

Назначение полей:

  • Тип сотрудника - какой сотрудник будет выбран: пользователь moodle или персона деканата. Если будет выбран пользователь Moodle, то для него автоматически будет создана персона деканата.
  • Сотрудник - выбор сотрудника из существующих пользователей, в зависимости от выбранного в первом меню типа.
  • Должность - выбор вакансии по должности из списка уже существующих и не отмененных.
  • Заметки - какие либо заметки по данному сотруднику.
  • Табельный номер - табельный номер сотрудника. Уникальный.
  • Ставка - ставка в часах в неделю, которую сотрудник занимает по данной вакансии. Не должна превышать количество свободных часов ставки вакансии.
  • Дата - дата назначения сотрудника на должность.
  • Подразделение - подразделения, которому назначается сотрудник на должность.


Увольнение сотрудника:

Ниже отображается форма увольнения сотрудника со всеми занятыми им вакансиями и кнопкой "Уволить", если сотрудник еще не уволен.

Загружается форма, где отображаются все занятые сотрудником вакансии. Напротив каждой ставится отображается галочка "Освободить". Ниже кнопка "Освободить с должностей". Для увольнения сотрудника снизу располагается галочка подтверждающая увольнение сотрудника и кнопка "Уволить". При увольнении сотрудник автоматически освобождается от всех занятых им должностей.


Страница создания и редактирования темы содержит обязательный параметр id.

  • Если он передан - то редактируется назначение на должность с переданным id и договор приписанный к назначению.
  • Если он равен 0 (или передана строка), то будет загружена форма создания нового назначения с договором.
  • Если передан номер не существующей в БД записи - то будет выведено сообщение об ошибке.

Просмотр назначения на должность

На этой странице выводится вся информация об указанном назначении на должность. Отсюда можно перейти на страницу редактирования назначения на должность и/или договора с сотрудником, а также на страницу просмотра договора с сотрудником или на страницу со списком назначений на должности.

Также на этой странице находится форма добавления и удаления предметов в список преподаваемых. Предметы сгруппированы по программам. Справа находится список предметов, которые учитель может преподавать, а слева - которые он будет преподавать. Предметы в левой колонке отмечены разными цветами:

  • Серым отмечены предметы которые учитель планирует преподавать
  • Черным отмечены предметы, которые учитель уже преподает

Если назначение на должность находится в статусе "черновик", то предметы в список преподаваемых можно перенести только как "планируемые".

При переходе назначения на должность в статус "используется" все запланированные к преподаванию предметы переходят в статус "активные".

При переходе назначения на должность в статус "завершена" все активные преподаваемые учителем предметы переходят в статус "завершенные".

Содержит обязательный параметр id. Если не указан, или указан неверно - выводится сообщение об ошибке.

Чтобы таблица с доступными и преподаваемыми дисциплинами не вылезала за ширину экрана, названия и коды дисциплин и программ обрезаются в соответствии с конфигурационными переменными.

Если название было обрезано, в конец добавляется многоточие. Обрезку выполняет метод cut_item_fullname(im/employees)

По умолчанию были приняты следующие значения конфигурационных переменных:

//максимальная длина названия дисциплины

$maxpitemnamelength = 65;

//максимальная длина кода дисциплины

$maxpitemcodelength = 30;

//максимальная длина названия программы

$maxprogrammnamelength = 45;

//максимальная длина кода программы

$maxprogrammcodelength = 30;

Просмотр договора с сотрудником

На этой странице выводится вся информация об указанном договоре с сотрудником. Отсюда можно перейти на страницу со списком назначений на должности. На этой странице также происходит изменение статуса договора. Список статусов договора указан в плагине workflows/eagreements

Содержит обязательный параметр id. Если не указан, или указан неверно - выводится сообщение об ошибке.

Список преподавателей дисциплины

На этой странице выводится кратная информация о дисциплине:

  • Подразделение (ссылка на просмотр подразделения),
  • Программа (ссылка на просмотр программы),
  • Дисциплина (ссылка на просмотр дисциплины)

А также количество часов, отведенное на преподавание этой дисциплины.

Далее идет список преподавателей, которые ведут эту дисциплину. Преподаватели выводятся в алфавитном порядке, и сортируются по фамилии. Таблица с преподавателями содержит поля:

  • порядковый номер
  • ФИО (ссылка на данные пользователя в таблице persons)
  • табельный номер (ссылка на запись в appointments).
  • номер договора (ссылка на договор с сотрудником).

API

Здесь описаны функции для работы с сотрудниками.

cut_item_fullname()

Обрезает переданные строки в соответствии с переданными лимитами и добавляет окончания к строкам. Затем соединяет их в одну(в формате $str1 [$str2]) Параметры:

  • $str1 - первая часть строки
  • $len1 - лимит первой части строки
  • $str2 - вторая часть строки
  • $len2 - лимит второй части строки
  • $appendix - окончание

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

  • (string) - обрезанная строка $str1 [$str2]