((WorkItem) workItem).setEndTime(rtCtx.getCalendarService()
.getSysDate());
persistenceService.saveOrUpdateWorkItem(workItem);
// 触发AFTER_WORKITEM_COMPLETE事件
TaskInstanceEvent e = new TaskInstanceEvent();
e.setSource(workItem.getTaskInstance());
e.setWorkflowSession(((IWorkflowSessionAware) workItem)
.getCurrentWorkflowSession());
e.setProcessInstance(((TaskInstance) workItem.getTaskInstance())
.getAliveProcessInstance());
e.setEventType(TaskInstanceEvent.AFTER_WORKITEM_COMPLETE);
if (this.defaultTaskInstanceEventListener != null) {
this.defaultTaskInstanceEventListener.onTaskInstanceEventFired(e);
}
this.fireTaskInstanceEvent(workItem.getTaskInstance(), e);