@GetMapping("/doing") @Authorize(action = Permission.ACTION_QUERY) @ApiOperation("查询进行中的流程信息") public ResponseMessage<PagerResult<ProcessInfo>> queryProcess(QueryParamEntity query) { ProcessInstanceQuery instanceQuery = runtimeService.createProcessInstanceQuery(); PagerResult<ProcessInfo> result = QueryUtils.doQuery(instanceQuery, query, ProcessInfo::of, (term, q) -> { if ("status".equals(term.getColumn())) { switch (String.valueOf(term.getValue())) { case "active": q.active(); break; case "suspended": q.suspended(); break; default: break; } } }); return ResponseMessage.ok(result).exclude(query.getExcludes()).include(query.getIncludes()); }
@Override public ActivityImpl getActivityByProcInstId(String procDefId, String procInstId) { ProcessInstance processInstance = runtimeService .createProcessInstanceQuery() .processInstanceId(procInstId) .active() .singleResult(); String activityId = processInstance.getActivityId(); return getProcessDefinition(procDefId).findActivity(activityId); }
@Override public Page<ProcessInstance> processInstances(Pageable pageable, GetProcessInstancesPayload getProcessInstancesPayload) { org.activiti.engine.runtime.ProcessInstanceQuery internalQuery = runtimeService.createProcessInstanceQuery(); if (getProcessInstancesPayload != null) { if (getProcessInstancesPayload.getProcessDefinitionKeys() != null && !getProcessInstancesPayload.getProcessDefinitionKeys().isEmpty()) { internalQuery.processDefinitionKeys(getProcessInstancesPayload.getProcessDefinitionKeys()); } if (getProcessInstancesPayload.getBusinessKey() != null && !getProcessInstancesPayload.getBusinessKey().isEmpty()) { internalQuery.processInstanceBusinessKey(getProcessInstancesPayload.getBusinessKey()); } if (getProcessInstancesPayload.isSuspendedOnly()) { internalQuery.suspended(); } if (getProcessInstancesPayload.isActiveOnly()) { internalQuery.active(); } if (getProcessInstancesPayload.getParentProcessInstanceId()!=null) { internalQuery.superProcessInstanceId(getProcessInstancesPayload.getParentProcessInstanceId()); } } return new PageImpl<>(processInstanceConverter.from(internalQuery.listPage(pageable.getStartIndex(), pageable.getMaxItems())), Math.toIntExact(internalQuery.count())); }
internalQuery.active();
.active().list())
.active().list())
@GetMapping("/doing") @Authorize(action = Permission.ACTION_QUERY) @ApiOperation("查询进行中的流程信息") public ResponseMessage<PagerResult<ProcessInfo>> queryProcess(QueryParamEntity query) { ProcessInstanceQuery instanceQuery = runtimeService.createProcessInstanceQuery(); PagerResult<ProcessInfo> result = QueryUtils.doQuery(instanceQuery, query, ProcessInfo::of, (term, q) -> { if ("status".equals(term.getColumn())) { switch (String.valueOf(term.getValue())) { case "active": q.active(); break; case "suspended": q.suspended(); break; default: break; } } }); return ResponseMessage.ok(result).exclude(query.getExcludes()).include(query.getIncludes()); }
@Override public Map<String, Long[]> getProcessDefinitions() { final List<ProcessDefinition> deployments = this.repositoryService.createProcessDefinitionQuery().list(); final Map<String, Long[]> results = new HashMap<>(deployments.size()); for (final ProcessDefinition deployment : deployments) { final Long[] values = new Long[4]; // Suspension state values[PROCESS_DEFINITION_INFO_ID_SUSPENSION_STATE] = deployment.isSuspended() ? 1l : 0l; // active process instances final List<ProcessInstance> activeProcessInstances = this.runtimeService.createProcessInstanceQuery() .processDefinitionKey(deployment.getKey()).active().list(); values[PROCESS_DEFINITION_INFO_ID_ACTIVE_INSTANCES_COUNTER] = Long.valueOf(activeProcessInstances.size()); // suspended process instances final List<ProcessInstance> suspendedProcessInstances = this.runtimeService.createProcessInstanceQuery() .processDefinitionKey(deployment.getKey()).suspended().list(); values[PROCESS_DEFINITION_INFO_ID_SUSPENDED_INSTANCES_COUNTER] = Long .valueOf(suspendedProcessInstances.size()); // ended process instances final List<HistoricProcessInstance> endedProcessInstances = historyService .createHistoricProcessInstanceQuery().processDefinitionKey(deployment.getKey()).finished().list(); values[PROCESS_DEFINITION_INFO_ID_ENDED_INSTANCES_COUNTER] = Long.valueOf(endedProcessInstances.size()); results.put(deployment.getKey(), values); } return results; }
@Override public ActivityImpl getActivityByProcInstId(String procDefId, String procInstId) { ProcessInstance processInstance = runtimeService .createProcessInstanceQuery() .processInstanceId(procInstId) .active() .singleResult(); String activityId = processInstance.getActivityId(); return getProcessDefinition(procDefId).findActivity(activityId); }
while (activitiRuntimeService.createProcessInstanceQuery().active().count() > 0)
ProcessInstanceQuery processInstanceQuery = activitiRuntimeService.createProcessInstanceQuery().processDefinitionId(processDefinitionId).active();
processInstanceQuery.active(); } else {
public List<LeavePo> getTodoLeaveList(String userId) { List<LeavePo> results = new ArrayList<>(); // 根据当前人的ID查询 TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId); List<Task> tasks = taskQuery.list(); // 根据流程的业务ID查询实体并关联 for (Task task : tasks) { String processInstanceId = task.getProcessInstanceId(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).active().singleResult(); if (processInstance == null) { continue; } String businessKey = processInstance.getBusinessKey(); if (businessKey == null) { continue; } LeavePo leave = leaveDao.find(Integer.parseInt(businessKey)); if(leave==null) { continue; } leave.setTask(task); leave.setProcessInstance(processInstance); leave.setProcessDefinition(getProcessDefinition(processInstance.getProcessDefinitionId())); results.add(leave); } return results; } /**
@Override public Page<ProcessInstance> processInstances(Pageable pageable, GetProcessInstancesPayload getProcessInstancesPayload) { if (getProcessInstancesPayload == null) { throw new IllegalStateException("payload cannot be null"); } GetProcessInstancesPayload securityKeysInPayload = securityPoliciesManager.restrictProcessInstQuery(SecurityPolicyAccess.READ); org.activiti.engine.runtime.ProcessInstanceQuery internalQuery = runtimeService.createProcessInstanceQuery(); if (!securityKeysInPayload.getProcessDefinitionKeys().isEmpty()) { getProcessInstancesPayload.setProcessDefinitionKeys(securityKeysInPayload.getProcessDefinitionKeys()); } if (getProcessInstancesPayload.getProcessDefinitionKeys() != null && !getProcessInstancesPayload.getProcessDefinitionKeys().isEmpty()) { internalQuery.processDefinitionKeys(getProcessInstancesPayload.getProcessDefinitionKeys()); } if (getProcessInstancesPayload.getBusinessKey() != null && !getProcessInstancesPayload.getBusinessKey().isEmpty()) { internalQuery.processInstanceBusinessKey(getProcessInstancesPayload.getBusinessKey()); } if (getProcessInstancesPayload.isSuspendedOnly()) { internalQuery.suspended(); } if (getProcessInstancesPayload.isActiveOnly()) { internalQuery.active(); } return new PageImpl<>(processInstanceConverter.from(internalQuery.listPage(pageable.getStartIndex(), pageable.getMaxItems())), Math.toIntExact(internalQuery.count())); }
@Override public Page<ProcessInstance> processInstances(Pageable pageable, GetProcessInstancesPayload getProcessInstancesPayload) { org.activiti.engine.runtime.ProcessInstanceQuery internalQuery = runtimeService.createProcessInstanceQuery(); if (getProcessInstancesPayload != null) { if (getProcessInstancesPayload.getProcessDefinitionKeys() != null && !getProcessInstancesPayload.getProcessDefinitionKeys().isEmpty()) { internalQuery.processDefinitionKeys(getProcessInstancesPayload.getProcessDefinitionKeys()); } if (getProcessInstancesPayload.getBusinessKey() != null && !getProcessInstancesPayload.getBusinessKey().isEmpty()) { internalQuery.processInstanceBusinessKey(getProcessInstancesPayload.getBusinessKey()); } if (getProcessInstancesPayload.isSuspendedOnly()) { internalQuery.suspended(); } if (getProcessInstancesPayload.isActiveOnly()) { internalQuery.active(); } } return new PageImpl<>(processInstanceConverter.from(internalQuery.listPage(pageable.getStartIndex(), pageable.getMaxItems())), Math.toIntExact(internalQuery.count())); }
internalQuery.active();
@Override public Page<ProcessInstance> processInstances(Pageable pageable, GetProcessInstancesPayload getProcessInstancesPayload) { org.activiti.engine.runtime.ProcessInstanceQuery internalQuery = runtimeService.createProcessInstanceQuery(); if (getProcessInstancesPayload != null) { if (getProcessInstancesPayload.getProcessDefinitionKeys() != null && !getProcessInstancesPayload.getProcessDefinitionKeys().isEmpty()) { internalQuery.processDefinitionKeys(getProcessInstancesPayload.getProcessDefinitionKeys()); } if (getProcessInstancesPayload.getBusinessKey() != null && !getProcessInstancesPayload.getBusinessKey().isEmpty()) { internalQuery.processInstanceBusinessKey(getProcessInstancesPayload.getBusinessKey()); } if (getProcessInstancesPayload.isSuspendedOnly()) { internalQuery.suspended(); } if (getProcessInstancesPayload.isActiveOnly()) { internalQuery.active(); } if (getProcessInstancesPayload.getParentProcessInstanceId()!=null) { internalQuery.superProcessInstanceId(getProcessInstancesPayload.getParentProcessInstanceId()); } } return new PageImpl<>(processInstanceConverter.from(internalQuery.listPage(pageable.getStartIndex(), pageable.getMaxItems())), Math.toIntExact(internalQuery.count())); }
ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().processDefinitionKey("leave").active().orderByProcessInstanceId().desc(); List<ProcessInstance> list = query.list();
query.suspended(); } else { query.active();