Решение позволяет:
- Уведомлять о просроченных заданиях руководителей.
- Переадресовывать просроченные задания руководителям.
Достаточно частое явление, когда заказчик требует уведомлять или переадресовывать задания своих подчиненных сотрудников. Данное требование было выделено в отдельный шаблон разработки. Решение адаптировано под все типы заданий и оставлено множество вариантов для доработки.
Алгоритм фонового процесса следующий:
- Выбираются задания с нарушением срока на момент выполнения (функция «Получить задания на эскалацию»).
- Для каждого задания определяется, было ли создано задания на продление. Если задание на продление срока было стартовано, то такое задание пропускается, если же оно находится в состоянии черновика, то такое задание на продление срока будет переведено в состояние «Прекращено» (для избегания конфликтов).
- Если исполнителем задания установлен руководитель подразделения, то, если нужно (см. функцию «Следует отправлять уведомления менеджерам»), ему приходит уведомление о задержке выполнения задания и задание не переадресовывается.
- Если непосредственный руководитель исполнителя включен в роль «Руководители, не участвующие в процессе эскалации», то, если нужно (см. функцию «Следует отправлять уведомления менеджерам»), ему отправляется уведомление о задержке задания и задание не переадресовывается, если же нет, то задание на согласование переадресовывается ему (при возможности переадресации).
Уведомление об истечении срока задания выглядит так:
Состав объектов разработки:
- Фоновый процесс "Эскалация заданий".
Поскольку решение не содержит перекрытий объектов коробочного решения, конфликты при публикации не возникнут. Это позволяет использовать функциональность, как при старте нового проекта, так и в ходе сопровождения существующих инсталляций системы.
Note
Замечания и пожеланию по развитию шаблона разработки фиксируйте через Issues. При оформлении ошибки, опишите сценарий для воспроизведения. Для пожеланий приведите обоснование для описываемых изменений - частоту использования, бизнес-ценность, риски и/или эффект от реализации.
Внимание! Изменения будут вноситься только в новые версии.
- Изменить выборку заданий на эскалацию.
- Адаптировать отправку сообщений руководителям о задежке заданий (стоит отправлять или нет).
- Адаптировать переадресацию заданий под другие типы.
- Адаптировать опеределение возможности переадресации под другие типы.
Для работы требуется установленный Directum RX версии 3.6 и выше.
- Склонировать репозиторий rx-template-assignmentescalation в папку.
- Указать в _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>
Возможные варианты:
- Сделать fork репозитория rx-template-assignmentescalation для своей учетной записи.
- Склонировать созданный в п. 1 репозиторий в папку.
- Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES">
<repository folderName="Base" solutionType="Base" url="" />
<repository folderName="<Папка из п.2>" solutionType="Work"
url="<Адрес репозитория gitHub учетной записи пользователя из п. 1>" />
</block>
Вариант не рекомендуется, так как при выходе версии шаблона разработки не гарантируется обратная совместимость.
- Склонировать репозиторий rx-template-assignmentescalation в папку.
- Указать в _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>
Рекомендуемый вариант для проектов внедрения.
- В системе контроля версий с поддержкой git создать новый репозиторий.
- Склонировать репозиторий rx-template-assignmentescalation в папку с ключом
--mirror
. - Перейти в папку из п. 2.
- Импортировать клонированный репозиторий в систему контроля версий командой:
git push –mirror <Адрес репозитория из п. 1>