Управление пользователями BPMN/Activity для нескольких арендаторов (отделов)

У меня есть несколько определений процессов в BPMN и использую Activity для их запуска. Определения процессов включают пользователей, которые отвечают за выполнение задач. В интернете полно примеров, как управлять такими схемами.

Но теперь мне нужно запустить несколько экземпляров одного и того же процесса для нескольких отделов. Каждый отдел имеет примерно одинаковую организационную структуру, но люди не одинаковы. Например, после отправки товара начальник отдела должен отправить отчет клиенту. В этом случае начальник отдела ведет себя одинаково, но каждый раз это другой человек. И следующее определение BPMN не может справиться с этим:

<resourceAssignmentExpression>
    <formalExpression>head</formalExpression>
</resourceAssignmentExpression>

Потому что у каждого отдела есть свой начальник.

Итак, мой вопрос: как управлять пользователем в отдельных экземплярах BPMN-процесса?

1 ответ

Если бы я создавал это решение, при запуске я бы передавал отдел в экземпляр процесса как businessKey. Затем я использовал бы прослушиватель задач, связанный с событием назначить, чтобы определить, кому задача должна быть назначена на основе бизнес-ключа. Другие преимущества этого подхода состоят в том, что бизнес-ключ сохранится в истории, что даст вам возможность сообщать о случаях по отделам.

Надеюсь это поможет.

Другие вопросы по тегам