Skip to content

Latest commit

 

History

History
83 lines (71 loc) · 7.64 KB

File metadata and controls

83 lines (71 loc) · 7.64 KB

rx-template-assignmentescalation

Решение позволяет:

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

Описание

Достаточно частое явление, когда заказчик требует уведомлять или переадресовывать задания своих подчиненных сотрудников. Данное требование было выделено в отдельный шаблон разработки. Решение адаптировано под все типы заданий и оставлено множество вариантов для доработки.

Алгоритм фонового процесса следующий: 

  1. Выбираются задания с нарушением срока на момент выполнения (функция «Получить задания на эскалацию»).
  2. Для каждого задания определяется, было ли создано задания на продление. Если задание на продление срока было стартовано, то такое задание пропускается, если же оно находится в состоянии черновика, то такое задание на продление срока будет переведено в состояние «Прекращено» (для избегания конфликтов).
  3. Если исполнителем задания установлен руководитель подразделения, то, если нужно (см. функцию «Следует отправлять уведомления менеджерам»), ему приходит уведомление о задержке выполнения задания и задание не переадресовывается.
  4. Если непосредственный руководитель исполнителя включен в роль «Руководители, не участвующие в процессе эскалации», то, если нужно (см. функцию «Следует отправлять уведомления менеджерам»), ему отправляется уведомление о задержке задания и задание не переадресовывается, если же нет, то задание на согласование переадресовывается ему (при возможности переадресации).

Уведомление об истечении срока задания выглядит так: assignmentescalation

Состав объектов разработки:

  • Фоновый процесс "Эскалация заданий".

Поскольку решение не содержит перекрытий объектов коробочного решения, конфликты при публикации не возникнут. Это позволяет использовать функциональность, как при старте нового проекта, так и в ходе сопровождения существующих инсталляций системы.

Note

Замечания и пожеланию по развитию шаблона разработки фиксируйте через Issues. При оформлении ошибки, опишите сценарий для воспроизведения. Для пожеланий приведите обоснование для описываемых изменений - частоту использования, бизнес-ценность, риски и/или эффект от реализации.

Внимание! Изменения будут вноситься только в новые версии.

Варианты расширения функциональности на проектах

  1. Изменить выборку заданий на эскалацию.
  2. Адаптировать отправку сообщений руководителям о задежке заданий (стоит отправлять или нет).
  3. Адаптировать переадресацию заданий под другие типы.
  4. Адаптировать опеределение возможности переадресации под другие типы.

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

Для работы требуется установленный Directum RX версии 3.6 и выше.

Установка для ознакомления

  1. Склонировать репозиторий rx-template-assignmentescalation в папку.
  2. Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES">
  <repository folderName="Base" solutionType="Base" url="" /> 
  <repository folderName="<Папка из п.1>" solutionType="Work" 
     url="https://github.com/DirectumCompany/rx-template-assignmentescalation" />
</block>

Установка для использования на проекте

Возможные варианты:

A. Fork репозитория.

  1. Сделать fork репозитория rx-template-assignmentescalation для своей учетной записи.
  2. Склонировать созданный в п. 1 репозиторий в папку.
  3. Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES">
  <repository folderName="Base" solutionType="Base" url="" /> 
  <repository folderName="<Папка из п.2>" solutionType="Work" 
     url="<Адрес репозитория gitHub учетной записи пользователя из п. 1>" />
</block>

B. Подключение на базовый слой.

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

  1. Склонировать репозиторий rx-template-assignmentescalation в папку.
  2. Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES">
  <repository folderName="Base" solutionType="Base" url="" /> 
  <repository folderName="<Папка из п.1>" solutionType="Base" 
     url="https://github.com/DirectumCompany/rx-template-assignmentescalation" />
  <repository folderName="<Папка для рабочего слоя>" solutionType="Work" 
     url="<Адрес репозитория для рабочего слоя>" />
</block>

C. Копирование репозитория в систему контроля версий.

Рекомендуемый вариант для проектов внедрения.

  1. В системе контроля версий с поддержкой git создать новый репозиторий.
  2. Склонировать репозиторий rx-template-assignmentescalation в папку с ключом --mirror.
  3. Перейти в папку из п. 2.
  4. Импортировать клонированный репозиторий в систему контроля версий командой: git push –mirror <Адрес репозитория из п. 1>