Activiti: последняя выполненная задача

Проблема

Я хочу, чтобы последняя задача была завершена для экземпляра процесса. Я могу получить последний заполненный human task, но не Service task.

Что я пробовал

Я написал SQL запрос, я использую MySQL, чтобы узнать, какая последняя задача завершена. Вот оно:

SELECT * FROM act_hi_taskinst 
where PROC_INST_ID_= '1234' and END_TIME_ IS  NOT NULL
order by END_TIME_ desc;

act_hi_taskinst - это таблица, которая обновляется по мере выполнения экземпляра процесса.

Процесс выглядит примерно так:

Задача, выполняемая человеком (Leave request) -> Задача обслуживания (Check availability отпуска) -> Задача обслуживания (Check feasibility) -> Задача, выполняемая человеком (Manager task)

Когда задача доходит до Manager Task, последней завершенной является Check feasibility, но это не отражается в базе данных.

Не могли бы вы помочь?

Предоставляет ли Activiti какой-либо такой API для получения последнего завершенного service task? Не могли бы вы предложить какие-нибудь SQL query для решения проблемы.


person Madhusudan Joshi    schedule 03.10.2013    source источник


Ответы (1)


Информация, которую вы ищете, хранится в act_hi_actinst таблице. Он содержит информацию обо всех действиях, выполняемых как часть экземпляра процесса.

SELECT * FROM act_hi_actinst WHERE proc_inst_id_ = '1929' 
AND end_time_ IS NOT NULL ORDER BY end_time_ DESC
person ATMTA    schedule 03.10.2013
comment
Спасибо @ATMTA, я ценю это. Я нашел это пару часов назад. - person Madhusudan Joshi; 03.10.2013