Состояние заявки (Ticket state)
Состояние заявки — это сущность, обеспечивающая ведение модели состояний заявки и сопоставление их с событиями процесса.
Для работы со справочником состояний заявок необходимо выбрать пункт меню Статусы заявок в ⚙️ настройках пространства (Workflow).
При создании (редактировании) состояния заявки, система отправляет запрос в процессный движок, получая связанную с пространством (Workflow) и типом заявки модель процесса. Из полученной модели процесса извлекаются элементы 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: reunico.unibpm.execution.events.prod
При получении системой сообщения из топика Kafka, выполняется присвоение состояния заявки, согласно алгоритму:
- Поиск заявки, имеющей ID = бизнес-ключу;
- Если заявка найдена, определяется тип заявки и пространство (Workflow);
- Выполняется поиск состояния заявки, имеющего совпадающие: ID элемента BPMN, пространство (Workflow) и тип заявки;
- Если состояние найдено, оно присваивается заявке.
Атрибуты
Тип заявки (ticket type)
Ticket Type
Тип заявки - обязательный тип заявки, для которого будет применяться указанное состояние. Выбирается из справочника типов заявок.
ID элемента BPMN (Activity ID)
String
ID элемента BPMN - связанный с состоянием элемент BPMN. Выбирается из элементов BPMN модели процесса, связанной с пространством (Workflow) или типом заявки.
Имя (name)
String
Имя - наименование состояния, выводящееся в системе.
Иконка(icon)
String
Иконка - небольшое графическое изображение, упрощающее идентификацию состояния. Выбирается из библиотеки иконок.