private HistoricActivityInstance getHistoricActivityInstance(String processId, String activityType) { return processEngine.getHistoryService() .createHistoricActivityInstanceQuery() .activityType(activityType) .processInstanceId(processId) .singleResult(); }
private HistoricProcessInstanceQuery createExpiredHistoricProcessInstancesQuery(Date expirationTime) { return historyService.createHistoricProcessInstanceQuery() .finished() .startedBefore(expirationTime); }
protected HistoricVariableInstance getHistoricVarInstanceValue(HistoryService historyService, String processInstanceId, String parameter) { return historyService.createHistoricVariableInstanceQuery() .processInstanceId(processInstanceId) .variableName(parameter) .singleResult(); }
for (ProcessDefinition processDefinition : processDefinitions) { completedProcessInstanceCountMap.put(processDefinition.getKey() + " (v" + processDefinition.getVersion() + ")", processEngine.getHistoryService().createHistoricProcessInstanceQuery().finished().processDefinitionId(processDefinition.getId()).count()); metrics.put("completedTaskCount", processEngine.getHistoryService().createHistoricTaskInstanceQuery().finished().count()); metrics.put("completedTaskCountToday", processEngine.getHistoryService().createHistoricTaskInstanceQuery().finished().taskCompletedAfter( new Date(System.currentTimeMillis() - secondsForDays(1))).count()); metrics.put("completedActivities", processEngine.getHistoryService().createHistoricActivityInstanceQuery().finished().count());
@RequestMapping(value = "/rest/process-instances/history/{processInstanceId}/model-json", method = RequestMethod.GET, produces = "application/json") public JsonNode getModelHistoryJSON(@PathVariable String processInstanceId) { User currentUser = SecurityUtils.getCurrentUserObject(); if (!permissionService.hasReadPermissionOnProcessInstance(currentUser, processInstanceId)) { throw new NotPermittedException(); } HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); if (processInstance == null) { throw new BadRequestException("No process instance found with id " + processInstanceId); } BpmnModel pojoModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()); if (pojoModel == null || pojoModel.getLocationMap().isEmpty()) { throw new InternalServerErrorException("Process definition could not be found with id " + processInstance.getProcessDefinitionId()); } // Fetch process-instance activities List<HistoricActivityInstance> activityInstances = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).list(); Set<String> completedActivityInstances = new HashSet<>(); Set<String> currentActivityinstances = new HashSet<>(); if (CollectionUtils.isNotEmpty(activityInstances)) { for (HistoricActivityInstance activityInstance : activityInstances) { if (activityInstance.getEndTime() != null) { completedActivityInstances.add(activityInstance.getActivityId()); } else { currentActivityinstances.add(activityInstance.getActivityId()); } } } ObjectNode displayNode = processProcessElements(pojoModel, completedActivityInstances, currentActivityinstances, Collections.EMPTY_LIST, processInstanceId); return displayNode; }
@RequestMapping(value = "/rest/query/history/tasks", method = RequestMethod.POST, produces = "application/json") public ResultListDataRepresentation listTasks(@RequestBody ObjectNode requestNode) { if (requestNode == null) { throw new BadRequestException("No request found"); } HistoricTaskInstanceQuery taskQuery = historyService.createHistoricTaskInstanceQuery(); User currentUser = SecurityUtils.getCurrentUserObject(); JsonNode processInstanceIdNode = requestNode.get("processInstanceId"); if (processInstanceIdNode != null && !processInstanceIdNode.isNull()) { String processInstanceId = processInstanceIdNode.asText(); if (permissionService.hasReadPermissionOnProcessInstance(currentUser, processInstanceId)) { taskQuery.processInstanceId(processInstanceId); } else { throw new NotPermittedException(); } } JsonNode finishedNode = requestNode.get("finished"); if (finishedNode != null && !finishedNode.isNull()) { boolean isFinished = finishedNode.asBoolean(); if (isFinished) { taskQuery.finished(); } else { taskQuery.unfinished(); } } List<HistoricTaskInstance> tasks = taskQuery.list(); // get all users to have the user object available in the task on the client side ResultListDataRepresentation result = new ResultListDataRepresentation(convertTaskInfoList(tasks)); return result; }
private boolean deleteProcessSafely(HistoricProcessInstance process) { String processId = process.getId(); try { LOGGER.debug(CleanUpJob.LOG_MARKER, format(Messages.DELETING_HISTORIC_PROCESS_0, processId)); historyService.deleteHistoricProcessInstance(processId); return true; } catch (Exception e) { LOGGER.warn(CleanUpJob.LOG_MARKER, format(Messages.COULD_NOT_DELETE_HISTORIC_PROCESS_0, processId), e); return false; } }
final List<HistoricDetail> historicDetails = getHistoryService().createHistoricDetailQuery().variableUpdates().processInstanceId(processInstanceId) .orderByVariableName().asc().orderByTime().desc().list();
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId).singleResult(); assertEquals(processInstanceId, historicProcessInstance.getId()); List<HistoricTaskInstance> historicTaskInstances = historyService.createHistoricTaskInstanceQuery() .processInstanceId(processInstanceId).list(); if (historicTaskInstances != null && historicTaskInstances.size() > 0) { List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId).list(); if (historicActivityInstances != null && historicActivityInstances.size() > 0) {
protected void assertHistoricTasksDeleteReason(ProcessInstance processInstance, String expectedDeleteReason, String... taskNames) { if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.AUDIT)) { for (String taskName : taskNames) { List<HistoricTaskInstance> historicTaskInstances = historyService.createHistoricTaskInstanceQuery() .processInstanceId(processInstance.getId()).taskName(taskName).list(); assertTrue(historicTaskInstances.size() > 0); for (HistoricTaskInstance historicTaskInstance : historicTaskInstances) { assertNotNull(historicTaskInstance.getEndTime()); if (expectedDeleteReason == null) { assertNull(historicTaskInstance.getDeleteReason()); } else { assertTrue(historicTaskInstance.getDeleteReason().startsWith(expectedDeleteReason)); } } } } }
private boolean deleteProcessSafely(HistoricProcessInstance process) { String processId = process.getId(); try { LOGGER.debug(CleanUpJob.LOG_MARKER, format(Messages.DELETING_HISTORIC_PROCESS_0, processId)); historyService.deleteHistoricProcessInstance(processId); return true; } catch (Exception e) { LOGGER.warn(CleanUpJob.LOG_MARKER, format(Messages.COULD_NOT_DELETE_HISTORIC_PROCESS_0, processId), e); return false; } }
if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.AUDIT)) { List<HistoricProcessInstance> historicProcessInstances = historyService.createHistoricProcessInstanceQuery().finished().list(); List<HistoricTaskInstance> historicTaskInstances = historyService.createHistoricTaskInstanceQuery() .processInstanceId(processInstanceId).list(); List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId).list(); if (historicActivityInstances != null && historicActivityInstances.size() > 0) {
private HistoricProcessInstanceQuery createExpiredHistoricProcessInstancesQuery(Date expirationTime) { return historyService.createHistoricProcessInstanceQuery() .finished() .startedBefore(expirationTime); }
public String getActivityType(String processInstanceId, String executionId, String activityId) { List<HistoricActivityInstance> historicInstancesList = processEngine.getHistoryService() .createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId) .activityId(activityId) .executionId(executionId) .orderByHistoricActivityInstanceEndTime() .desc() .list(); return !historicInstancesList.isEmpty() ? historicInstancesList.get(0) .getActivityType() : null; }
public HistoricVariableInstance getHistoricVarInstanceValue(HistoryService historyService, String processInstanceId, String parameter) { return historyService.createHistoricVariableInstanceQuery() .processInstanceId(processInstanceId) .variableName(parameter) .singleResult(); } }
public long getStartTime(DelegateExecution context, String processId) { HistoryService historyService = processEngineConfiguration.getHistoryService(); HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processId) .singleResult(); return processInstance.getStartTime() .getTime(); }
@RequestMapping("/leaveApplication/history") public String history(@RequestParam String processInstanceId) { HistoryService historyService = processEngine.getHistoryService(); List<HistoricActivityInstance> activities = historyService.createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId) .finished() .orderByHistoricActivityInstanceEndTime().asc() .list(); for (HistoricActivityInstance activity : activities) { LOGGER.info("{}花费{}毫秒", activity.getActivityId() , activity.getDurationInMillis()); } return "history"; }
protected HistoricVariableInstance getHistoricVarInstanceValue(HistoryService historyService, String processInstanceId, String parameter) { return historyService.createHistoricVariableInstanceQuery() .processInstanceId(processInstanceId) .variableName(parameter) .singleResult(); }
public long getStartTime(DelegateExecution context, String processId) { HistoryService historyService = processEngineConfiguration.getHistoryService(); HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processId) .singleResult(); return processInstance.getStartTime() .getTime(); }
@Override public void processEndedAndInExclusiveEndEvent(final String processInstanceId, final String endEventId) { // Assert the process instance is ended getAssertFactory().getProcessInstanceAssertable(callback).processIsEnded(processInstanceId); // Assert that there is exactly one historic activity instance for end // events and that it has the correct id callback.trace(LogMessage.PROCESS_10, processInstanceId, endEventId); final List<HistoricActivityInstance> historicActivityInstances = getHistoryService().createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId).activityType("endEvent").finished().list(); Assert.assertThat(historicActivityInstances.size(), is(1)); Assert.assertThat(historicActivityInstances.get(0).getActivityId(), is(endEventId)); }