/** * 获取流程详细及工作流参数 * * @param id */ @SuppressWarnings("unchecked") public Leave get(String id) { Leave leave = leaveDao.get(id); Map<String, Object> variables = null; HistoricProcessInstance historicProcessInstance = historyService .createHistoricProcessInstanceQuery() .processInstanceId(leave.getProcessInstanceId()) .singleResult(); if (historicProcessInstance != null) { variables = Collections3.extractToMap( historyService .createHistoricVariableInstanceQuery() .processInstanceId(historicProcessInstance.getId()) .list(), "variableName", "value"); } else { variables = runtimeService.getVariables( runtimeService .createProcessInstanceQuery() .processInstanceId(leave.getProcessInstanceId()) .active() .singleResult() .getId()); } leave.setVariables(variables); return leave; }
public Page<Leave> find(Page<Leave> page, Leave leave) { leave.getSqlMap().put("dsf", dataScopeFilter(leave.getCurrentUser(), "o", "u")); leave.setPage(page); page.setList(leaveDao.findList(leave)); for (Leave item : page.getList()) { String processInstanceId = item.getProcessInstanceId(); Task task = taskService .createTaskQuery() .processInstanceId(processInstanceId) .active() .singleResult(); item.setTask(task); HistoricProcessInstance historicProcessInstance = historyService .createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); if (historicProcessInstance != null) { item.setHistoricProcessInstance(historicProcessInstance); item.setProcessDefinition( repositoryService .createProcessDefinitionQuery() .processDefinitionId(historicProcessInstance.getProcessDefinitionId()) .singleResult()); } else { ProcessInstance processInstance = runtimeService .createProcessInstanceQuery() .processInstanceId(processInstanceId) .active() .singleResult(); if (processInstance != null) { item.setProcessInstance(processInstance); item.setProcessDefinition( repositoryService .createProcessDefinitionQuery() .processDefinitionId(processInstance.getProcessDefinitionId()) .singleResult()); } } } return page; }