/** * 获取指定历史流程的变量列表 */ public Map<String, Object> getHistoricProcessVariables(String processId) { List<HistoricVariableInstance> list = _processEngine.getHistoryService().createHistoricVariableInstanceQuery() .processInstanceId(processId).list(); Map<String, Object> vars = new HashMap<String, Object>(); for (HistoricVariableInstance var : list) { vars.put(var.getVariableName(), var.getValue()); } return vars; }
public HistoricVariableInstance getHistoricVariableInstance(String processInstanceId, String variableName) { HistoricVariableInstanceQuery query = engine.getHistoryService().createHistoricVariableInstanceQuery().processInstanceId( processInstanceId).variableName(variableName); return query.singleResult(); }
/** * 获取历史审批结果和审批意见 * * @param activityInstance 历史任务节点 * @return */ public Map<String, String> getApproveMap(HistoricActivityInstance activityInstance) { //审批结果和审批意见为Local变量 Map<String, String> map = new HashMap<>(); if (StrUtil.isEmpty(activityInstance.getTaskId())) return map; List<HistoricVariableInstance> variableInstances = historyService.createHistoricVariableInstanceQuery() .processInstanceId(activityInstance.getProcessInstanceId()).taskId(activityInstance.getTaskId()).list(); for (HistoricVariableInstance variableInstance : variableInstances) { if (variableInstance.getVariableName().equals(Constants.APPROVE_RESULT)) { map.put(Constants.APPROVE_RESULT, variableInstance.getValue().toString()); } else { map.put(Constants.APPROVE_SUGGESTION, variableInstance.getValue().toString()); } } return map; }
List<HistoricVariableInstance> retrieveVariablesByCorrelationId(String superProcessId) { return engine.getHistoryService().createHistoricVariableInstanceQuery().variableValueEquals(Constants.CORRELATION_ID, superProcessId).orderByProcessInstanceId().asc().list(); }
protected DataResponse getQueryResponse(HistoricVariableInstanceQueryRequest queryRequest, Map<String, String> allRequestParams) { HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); // Populate query based on request if (queryRequest.getExcludeTaskVariables() != null) { if (queryRequest.getExcludeTaskVariables()) { query.excludeTaskVariables(); } } if (queryRequest.getTaskId() != null) { query.taskId(queryRequest.getTaskId()); } if(queryRequest.getExecutionId() != null) { query.executionId(queryRequest.getExecutionId()); } if (queryRequest.getProcessInstanceId() != null) { query.processInstanceId(queryRequest.getProcessInstanceId()); } if (queryRequest.getVariableName() != null) { query.variableName(queryRequest.getVariableName()); } if (queryRequest.getVariableNameLike() != null) { query.variableNameLike(queryRequest.getVariableNameLike()); } if (queryRequest.getVariables() != null) { addVariables(query, queryRequest.getVariables()); } return new HistoricVariableInstancePaginateList(restResponseFactory).paginateList(allRequestParams, query, "variableName", allowedSortProperties); }
List<HistoricVariableInstance> list = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId) .variableNameLike("nrOf%").list(); Integer nrOfInstances = 0; Integer nrOfActiveInstances = 0;
.getHistoryService() .createHistoricVariableInstanceQuery() .list(); int pass = 0; // 通过数量 int refuse = 0; // 驳回数量
@Override public List<TaskHistoryVo> records(String busykey) { List<TaskHistoryVo> result = new ArrayList<TaskHistoryVo>(); List<HistoricTaskInstance> instances = historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKey(busykey).list(); if (instances != null) { for (HistoricTaskInstance historicTaskInstance : instances) { List<HistoricVariableInstance> v = historyService.createHistoricVariableInstanceQuery().taskId(historicTaskInstance.getId()).list(); Map<String, Object> maxps = new HashMap<String, Object>(); if (v != null) { for (HistoricVariableInstance historicVariableInstance : v) { maxps.put(historicVariableInstance.getVariableName(), historicVariableInstance.getValue()); } } TaskHistoryVo vo = new TaskHistoryVo(); vo.setNote("" + maxps.get("note")); vo.setUser("" + maxps.get("user")); vo.setState("" + maxps.get("state")); vo.setAddDate(historicTaskInstance.getTime()); if (vo.getState() != null && !"null".equals(vo.getState())) { result.add(vo); } } } return result; }
while (persistedVariable == null) persistedVariable = activitiHistoryService.createHistoricVariableInstanceQuery().variableName("foo").singleResult(); Thread.sleep(10);
public RestVariable getVariableFromRequest(boolean includeBinary, String varInstanceId, HttpServletRequest request) { HistoricVariableInstance varObject = historyService.createHistoricVariableInstanceQuery().id(varInstanceId).singleResult(); if (varObject == null) { throw new ActivitiObjectNotFoundException("Historic variable instance '" + varInstanceId + "' couldn't be found.", VariableInstanceEntity.class); } else { return restResponseFactory.createRestVariable(varObject.getVariableName(), varObject.getValue(), null, varInstanceId, RestResponseFactory.VARIABLE_HISTORY_VARINSTANCE, includeBinary); } } }
protected void addVariables(HistoricVariableInstanceQuery variableInstanceQuery, List<QueryVariable> variables) { for (QueryVariable variable : variables) { if (variable.getVariableOperation() == null) { throw new ActivitiIllegalArgumentException("Variable operation is missing for variable: " + variable.getName()); } if (variable.getValue() == null) { throw new ActivitiIllegalArgumentException("Variable value is missing for variable: " + variable.getName()); } boolean nameLess = variable.getName() == null; Object actualValue = restResponseFactory.getVariableValue(variable); // A value-only query is only possible using equals-operator if (nameLess) { throw new ActivitiIllegalArgumentException("Value-only query (without a variable-name) is not supported"); } switch (variable.getVariableOperation()) { case EQUALS: variableInstanceQuery.variableValueEquals(variable.getName(), actualValue); break; default: throw new ActivitiIllegalArgumentException("Unsupported variable query operation: " + variable.getVariableOperation()); } } } }
public void deleteHistoricVariableInstancesByTaskId(String taskId) { if (getHistoryManager().isHistoryLevelAtLeast(HistoryLevel.ACTIVITY)) { List<HistoricVariableInstance> historicProcessVariables = new HistoricVariableInstanceQueryImpl().taskId(taskId).list(); for (HistoricVariableInstance historicProcessVariable : historicProcessVariables) { ((HistoricVariableInstanceEntity) historicProcessVariable).delete(); } } }
List<HistoricVariableInstance> getHistoricVariableInstances(String processInstanceId) { HistoricVariableInstanceQuery query = engine.getHistoryService().createHistoricVariableInstanceQuery().processInstanceId( processInstanceId); return query.list(); }
protected void initForm() { // Report dataset is stored as historical variable as json HistoricVariableInstance historicVariableInstance = ProcessEngines.getDefaultProcessEngine().getHistoryService() .createHistoricVariableInstanceQuery() .processInstanceId(historicProcessInstance.getId()) .variableName("reportData") .singleResult(); // Generate chart byte[] reportData = (byte[]) historicVariableInstance.getValue(); ChartComponent chart = ChartGenerator.generateChart(reportData); chart.setWidth(100, UNITS_PERCENTAGE); chart.setHeight(100, UNITS_PERCENTAGE); // Put chart on screen detailContainer.addComponent(chart); }
@SuppressWarnings({ "unchecked", "rawtypes" }) public void deleteHistoricVariableInstanceByProcessInstanceId(String historicProcessInstanceId) { if (getHistoryManager().isHistoryLevelAtLeast(HistoryLevel.ACTIVITY)) { // Delete entries in DB List<HistoricVariableInstanceEntity> historicProcessVariables = (List) getDbSqlSession() .createHistoricVariableInstanceQuery() .processInstanceId(historicProcessInstanceId) .excludeVariableInitialization() .list(); for (HistoricVariableInstanceEntity historicProcessVariable : historicProcessVariables) { historicProcessVariable.delete(); } // Delete entries in Cache List<HistoricVariableInstanceEntity> cachedHistoricVariableInstances = getDbSqlSession().findInCache(HistoricVariableInstanceEntity.class); for (HistoricVariableInstanceEntity historicProcessVariable : cachedHistoricVariableInstances) { // Make sure we only delete the right ones (as we cannot make a proper query in the cache) if (historicProcessInstanceId.equals(historicProcessVariable.getProcessInstanceId())) { historicProcessVariable.delete(); } } } }
if (instances != null) { for (HistoricTaskInstance historicTaskInstance : instances) { List<HistoricVariableInstance> v = historyService.createHistoricVariableInstanceQuery().processInstanceId(historicTaskInstance.getProcessInstanceId()).list(); Map<String, Object> map = new HashMap<String, Object>(); if (v != null) {
protected void generateReport(ProcessInstance processInstance) { // Report dataset is stored as historical variable as json HistoricVariableInstance historicVariableInstance = ProcessEngines.getDefaultProcessEngine() .getHistoryService() .createHistoricVariableInstanceQuery() .processInstanceId(processInstance.getId()) .variableName("reportData") .singleResult(); // Generate chart byte[] reportData = (byte[]) historicVariableInstance.getValue(); ChartComponent chart = ChartGenerator.generateChart(reportData); chart.setWidth(100, UNITS_PERCENTAGE); chart.setHeight(100, UNITS_PERCENTAGE); // Put chart on screen if (processDefinitionStartForm != null) { detailContainer.removeComponent(processDefinitionStartForm); processDefinitionStartForm = null; } detailContainer.addComponent(chart); // The historic process instance can now be removed from the system // Only when save is clicked, the report will be regenerated ProcessEngines.getDefaultProcessEngine().getHistoryService().deleteHistoricProcessInstance(processInstance.getId()); }
List<HistoricVariableInstance> historicVariableList = null; if (instance.isEnded()) { historicVariableList = historyService.createHistoricVariableInstanceQuery().processInstanceId(instance.getId()).list(); } else { runtimeVariableMap = runtimeService.getVariables(instance.getId());