Пользовательские задания
Пользовательские задания

Пользовательские задания

Функциональность

Наименование сервиса в среде оркестрации микросервисов: dqhumantask

Пример ссылки на Swagger: http://dqhumantask.<полное имя неймспейса>/dqhumantask/swagger-ui/#/

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

Модуль пользовательских заданий обеспечивает выполнение следующих функций:

  1. Просмотр, создание и редактирование шаблонов пользовательских заданий.
  2. Просмотр списка пользовательских заданий.
  3. Управление фильтрами в списке пользовательских заданий.
  4. Быстрая обработка пользовательского задания из интерфейса списка пользовательских заданий.
  5. Выделение наиболее важных заданий в списке.
  6. Просмотр протокола пользовательского задания.
  7. Переназначение задания на другого исполнителя.
  8. Отмена задания по техническим или иным причинам.
  9. Обработка пользовательского задания.
  10. Выбор алгоритма распределения заданий.
  11. Назначение ответственных лиц кому доступно задание для просмотра.
  12. Делегирование и эскалация пользовательских заданий.

Для работы с модулем «Пользовательские задания» необходимо зайти на платформу Q.BPM и пройти авторизацию.

В боковом меню для пользователя доступны пункты "Шаблоны задания", "Список заданий" и "Делегирование заданий".

Шаблоны заданий

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

empty

Шаблон пользовательского задания включает в себя следующие параметры:

  1. Наименование и системное наименование шаблона - то как он будет отображаться в списке шаблонов и то как будет называться пользовательское задание.
  2. Регламентное время обработки, мин - время, которое дается на обработку задания с момента ее создания. В случае превышения этого времени задана считается просроченной и помечается красной иконкой "Восклицательный знак".
  3. Алгоритм распределения - алгоритм автоматически определяет исполнителя задания и кто ее должен будет обработать (на случай недоступности сотрудника или иной причины в списке заданий доступно переназначение). Пользователь может выбрать доступный алгоритм из списка или добавить новый по кнопке "+". Для добавления нового алгоритма необходимо указать его название, ссылку на API метод и имя сервиса.
  4. Виджет обработки пользовательского задания - ссылка на виджет, разработанный под пользователя, с отображением и обработкой необходимых входных данных. Пример задания ссылки на виджет: humantaskui:q-bpm-human-task-list:vacation-application (<имя ui-сервиса>:<имя компонента>:<имя виджета>.).
  5. Ответственные - список объектов (пользователь, роль, группа пользователей) кому доступно задание для просмотра в списке пользовательских заданий.
  6. Действия - список действий, который доступен для обработки задания. Перечисленные действия должны быть спроектированы (и учтены) в виде ветвлений на диаграмме бизнес-процесса.
  7. Уведомление - подключение настроенного уведомления для рассылки информации по заданию.
  8. Эскалация - настройка эскалации для создаваемой пользовательского задания по условию. При срабатывании условия эскалации у пользовательского задания автоматически будет создано дочернее задание с признаком "Эскалация". Доступные критерии эскалации:
  • Длительность обработки задания - регламентное время обработки задания. При превышении указанного значения будет создано задание "Эскалация"
  • Превышение регламентного времени на обработку - если у задания появился признак "Просрочена", то будет создано задание "Эскалация"
⚠️

При обработке задания "Эскалация" родительское задание не закрывается.

Настройка кубика

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

Чтобы настроить кубик достаточно выбрать шаблон пользовательского задания в модальном окне из выпадающего списка.

empty

Чтобы корректно использовать шлюз "или" после пользовательского задания необходимо в кубике пользовательского задания указать выходной параметр, который будет содержать результат обработки этого задания. Для того чтобы сформировать выходной параметр, необходимо указать имя переменной, тип и значение. Пример:

empty

  • Для указания конкретного исполнителя во входящих параметрах следует добавить параметр: createdBy - указать userAccountId пользователя.
  • Для передачи действий на обработку задания используется параметр: actions - Карта со значениями **наименование действия : системное наименование действия**.
  • Для передачи комментария в задание используется параметр: comment - передать текст комментария.
  • Для опеределения ответственных по заданию динамически из процесса, необходимо передать список объектов responsible. См. пример ниже
def responsible = [
    ['subjectType': 'ROLE', 'subjectId': 1000, 'subject': 'Роль', 'isPerform': true],
    ['subjectType': 'USER', 'subjectId': 1000, 'subject': 'Пользователь', 'isPerform': true],
    ['subjectType': 'EMPLOYEE', 'subjectId': 1000, 'subject': 'Сотрудник', 'isPerform': true],
    ['subjectType': 'PRODUCTION_ROLE', 'subjectId': 1000, 'subject': 'Производственная роль', 'isPerform': true],
    ['subjectType': 'USER_GROUP', 'subjectId': 1000, 'subject': 'Группа пользователей', 'isPerform': true]
]

Приоритет заданий

Заданиям можно выставить приоритет. Приоритет используется для фильтрации в списке заданий. Для настройки приоритета в бизнес-процессе выбрать кубик с типом User Task (Задача, выполняемая пользователем). В свойствах кубика на вкладке «Общее» в поле «Приоритет» указать числовое значение:

  • от 0 до 50 – низкий приоритет
  • 51-99 – средний приоритет
  • 100-150 – высокий приоритет
💡

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

Список пользовательских заданий

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

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

empty

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

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

empty

Обработка задания

Интерфейс обработки предоставляет развернутую информацию о пользовательском задании. Интерфейс в себя включает:

  • левая боковая панель - сводная информация о задании;
  • центральная часть интерфейса - кастомный спроектированный виджет для обработки различных типов заданий;
  • кнопки обработки пользовательского задания:
    • Отмена - закрывает форму обработки задания;
    • Выпадающий список доступных действий для обработки задания.

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

empty

При обработке пользовательского задания с типом "Делегирование" родительское задание будет автоматически переведена в статус "Завершено" с таким же действием-обработкой как у задания-делегирования. При обработке пользовательского задания с типом "Эскалация" родительское задание не будет автоматически завершена. Родительское задание необходимо будет обработать.