Вот как я бы добавил слушателя к DirectorReviewTask
и закончил ManagerReviewTask
.
<userTask id="DirectorReviewTask" name="DirectorReviewTask">
<extensionElements>
<activiti:taskListener event="complete" class="listeners.DirectorReviewTaskListener"/>
</extensionElements>
</userTask>
Здесь класс у слушателя:
public class DirectorReviewTaskListener implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
if (TaskListener.EVENTNAME_COMPLETE.equals(delegateTask.getEventName())) {
String executionId = delegateTask.getExecutionId();
Task managerReviewTask = taskService.createTaskQuery().executionId(executionId).taskName("ManagerReviewTask").singleResult();
if (managerReviewTask != null) {
taskService.complete(managerReviewTask.getId());
}
}
}
}
Я думаю, вы должны в конечном итоге с параллельным шлюзом:
<parallelGateway id="fork" />
<sequenceFlow sourceRef="fork" targetRef="ManagerReviewTask" />
<sequenceFlow sourceRef="fork" targetRef="DirectorReviewTask" />
<userTask id="ManagerReviewTask" name="ManagerReviewTask" />
<sequenceFlow sourceRef="ManagerReviewTask" targetRef="join" />
<userTask id="DirectorReviewTask" name="DirectorReviewTask">
<extensionElements>
<activiti:taskListener event="complete" class="listeners.DirectorReviewTaskListener"/>
</extensionElements>
</userTask>
<sequenceFlow sourceRef="DirectorReviewTask" targetRef="join" />
<parallelGateway id="join" />
<sequenceFlow sourceRef="join" targetRef="GO_FROM_HERE" />
Не могли бы вы также добавить представление xml? – Cherry