执行流程的过程中所有的变量信息都保存在
ACT_HI_VARINST中。对应的java对象是
HistoricVariableUpdate
/**
*
*@User :Test
*@date :2014-6-26 下午02:19:22
*@return :String
*@userFor :获得流程的变量信息 taskService.complete(taskid,variables);
*/
private String getWorkflowVariables(String processInstanceId,
String activityInstanceId) {
String result = "";
List historicDetailList = historyService.createHistoricDetailQuery()
.processInstanceId(processInstanceId).activityInstanceId(
activityInstanceId).list();
if (historicDetailList != null && historicDetailList.size() > 0) {
//执行任务时提的意见
String comment = "";
//下一个审批人
String piStatus = "";
for (Iterator iterator = historicDetailList.iterator(); iterator
.hasNext();) {
HistoricDetail historicDetail = (HistoricDetail) iterator
.next();
HistoricVariableUpdate variable = (HistoricVariableUpdate) historicDetail;
if ("workflowComment".equals(variable
.getVariableName()))
comment = String.valueOf(variable.getValue());
else if ("flowName".equals(variable
.getVariableName()))
piStatus = variable.getValue() != null ? String
.valueOf(variable.getValue()) : "";
}
if (!"".equals(piStatus)
&& !"".equals(comment)
&& !"撤回"
.equals(piStatus))
result = (new StringBuilder(String.valueOf(piStatus))).append(":").append(comment).toString();
}
return result;
}