Статус заявки (Ticket state)
Статус заявки — это сущность, обеспечивающая ведение модели состояний заявки и сопоставление их с событиями процесса.
Для работы со справочником статусов заявок необходимо выбрать пункт меню Статусы заявок в ⚙️ настройках пространства (Workflow).
При создании (редактировании) статуса заявки, система отправляет запрос в процессный движок, получая связанную с пространством (Workflow) и типом заявки модель процесса. Из полученной модели процесса извлекаются элементы BPMN следующих типов:
- None Start Event;
- None Intermediate Throw Event;
- None End Event.
События с типами Message, Link, Signal, Error, Escalation, Compensation, Conditional, Timer и прочими специализированными BPMN Event Definition в список не включаются. Также из выборки исключаются события BPMN, не имеющие имени (Name).
Элементы выводятся в выпадающем списке поля 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)
Boolean
Завершающий статус - признак того, что статус завершает жизненный цикл заявки.
Иконка(icon)
String
Иконка - небольшое графическое изображение, упрощающее идентификацию состояния. Выбирается из библиотеки иконок.