Статус заявки (Ticket state)
Статус заявки - это сущность, обеспечивающая ведение статусной модели заявки, сопоставляя их с событиями процесса.
Для работы со справочником статусов заявок необходимо выбрать пункт меню Статусы заявок в ⚙️ настройках рабочего процесса.
При создании (редактировании) статуса заявки, система отправляет запрос в процессный движок, получая связанную с рабочим процессом и типом заявки модель процесса. Из полученной модели процесса извлекаются элементы BPMN следующих типов: Start Event (любой), Intermediate Throw Event (None), End Event (любой).
Элементы выводятся в выпадающем списке поля Activity ID:
- ключ - ID элемента BPMN (element/activity ID);
- значение - имя элемента BPMN (element/activity Name).
Статусы заявок могут быть определены как для всего рабочего процесса, так и для отдельных типов заявок в нём.
Ключевые принципы
Сопоставление состояния процесса и статуса заявки
При выполнении экземпляра процесса, имеющего бизнес-ключ, процессный движок экспортирует поток событий в топик брокера сообщений Kafka, указанный в конфигурационном параметре camunda-kafka-import.change-state-topic в формате:
- ID события (id)
- Бизнес-ключ (businessKey)
- ID элемента BPMN (activityID)
Значение по-умолчанию:
camunda-kafka-import:
change-state-topic: unibpm-change-state
При получении системой сообщения из топика Kafka, выполняется присвоение статуса заявки, согласно алгоритму:
- Поиск заявки, имеющей ID = бизнес-ключу;
- Если заявка найдена, определяется тип заявки и рабочий процесс;
- Выполняется поиск статуса заявки, имеющего совпадающие: ID элемента BPMN, рабочий процесс и тип заявки;
- Если статус найден, он присваивается заявке.
Атрибуты
Тип заявки (ticket type)
Ticket Type
Тип заявки - тип заявки, для которого будет применяться указанный статус. Выбирается из справочника типов заявок. Если не указан, то статус применяется к заявкам, не имеющим типа.
ID элемента BPMN (Activity ID)
String
ID элемента BPMN - связанный со статусом элемент BPMN. Выбирается из элементов BPMN модели процесса, связанной с рабочим процессом или типом заявки.
Имя (name)
String
Имя - наименование статуса, выводящееся в системе.
Иконка(icon)
String
Иконка - небольшое графическое изображение, упрощающее идентификацию статуса. Выбирается из библиотеки иконок.