@Override public Page<Task> tasks(Pageable pageable, GetTasksPayload getTasksPayload) { TaskQuery taskQuery = taskService.createTaskQuery(); if (getTasksPayload.getProcessInstanceId() != null) { taskQuery = taskQuery.processInstanceId(getTasksPayload.getProcessInstanceId()); } if (getTasksPayload.getParentTaskId() != null) { taskQuery = taskQuery.taskParentTaskId(getTasksPayload.getParentTaskId()); } List<Task> tasks = taskConverter.from(taskQuery.listPage(pageable.getStartIndex(), pageable.getMaxItems())); return new PageImpl<>(tasks, Math.toIntExact(taskQuery.count())); }
taskQuery = taskQuery.taskParentTaskId(getTasksPayload.getParentTaskId()); List<Task> tasks = taskConverter.from(taskQuery.listPage(pageable.getStartIndex(), pageable.getMaxItems())); return new PageImpl<>(tasks,
taskList = query.orderByTaskCreateTime().desc().listPage((pageInfo.getPageNum() - 1) * pageInfo .getPageSize(), pageInfo.getPageSize()); pageInfo.setCount((int) count);
public List<Item> loadItems(int start, int count) { List<Task> tasks = getQuery().listPage(start, count); List<Item> items = new ArrayList<Item>(); for (Task task : tasks) { items.add(new TaskListItem(task)); } return items; }
private List<WorkflowTask> queryRuntimeTasks(WorkflowTaskQuery query) { // Runtime-tasks only exist on process-instances that are active // so no use in querying runtime tasks if not active if (!Boolean.FALSE.equals(query.isActive())) { TaskQuery taskQuery = createRuntimeTaskQuery(query); List<Task> results; int limit = query.getLimit(); if (limit > 0) { results = taskQuery.listPage(0, limit); } else { results = taskQuery.list(); } return getValidWorkflowTasks(results); } return new ArrayList<WorkflowTask>(); }
private List<WorkflowTask> queryRuntimeTasks(WorkflowTaskQuery query) { // Runtime-tasks only exist on process-instances that are active // so no use in querying runtime tasks if not active if (!Boolean.FALSE.equals(query.isActive())) { TaskQuery taskQuery = createRuntimeTaskQuery(query); List<Task> results; int limit = query.getLimit(); if (limit > 0) { results = taskQuery.listPage(0, limit); } else { results = taskQuery.list(); } return getValidWorkflowTasks(results); } return new ArrayList<WorkflowTask>(); }
@Override public List<BpmTask> findProcessTasks(ProcessInstance pi, String userLogin, Set<String> taskNames, ProcessToolContext ctx) { TaskQuery q = getProcessEngine().getTaskService().createTaskQuery().processInstanceId(pi.getInternalId()); if (userLogin != null) q = q.taskAssignee(userLogin); if (taskNames != null && !taskNames.isEmpty()) //TODO what if more than 1 task name is supplied q = q.taskName(taskNames.iterator().next()); List<Task> tasks = q.listPage(0, 1000); return collectTasks(tasks, pi, ctx); }
@Override public List<BpmTask> getTaskData(String taskExecutionId, String taskName, ProcessToolContext ctx) { List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() //.notSuspended() .taskName(taskName) .executionId(taskExecutionId) .taskAssignee(user.getLogin()) .listPage(0, 1); if (tasks.isEmpty()) { log.warning("Task " + taskExecutionId + " not found"); return null; } List<BpmTask> bpmTasks = findProcessInstancesForTasks(tasks, ctx); return bpmTasks; }
@Override public Collection<BpmTask> getAllTasks(ProcessToolContext ctx) { return findProcessInstancesForTasks( getProcessEngine().getTaskService().createTaskQuery().orderByTaskId().desc().listPage(0, 1000), ctx); }
@Override public List<BpmTask> findUserTasks(Integer offset, Integer limit, ProcessToolContext ctx) { List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() .taskAssignee(user.getLogin()) .listPage(offset, limit); return findProcessInstancesForTasks(tasks, ctx); }
@Override public List<BpmTask> findProcessTasks(ProcessInstance pi, ProcessToolContext ctx) { List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() .processInstanceId(pi.getInternalId()) .listPage(0, 1000); return collectTasks(tasks, pi, ctx); }
/** * 查询工作流列表 * * @param queryCondition * @return */ public PageInfo<TaskInfoBean> queryTaskList(TaskQueryCondition queryCondition) { PageInfo<TaskInfoBean> page = queryCondition.getPageInfo(); List<TaskInfoBean> list = new ArrayList<>(); try { TaskQuery taskQuery = queryCondition.createTaskQuery(taskService.createTaskQuery()); List<Task> taskList = taskQuery.orderByTaskCreateTime().desc().listPage((page.getPageNo() - 1) * page.getPageSize(), page.getPageSize()); page.setCount(taskQuery.count()); for (Task task : taskList) { list.add(transToTaskInfoBean(task)); } page.setList(list); } catch (Exception e) { logger.error(e.getMessage(), e); throw new OneBaseException("查询失败:" + e.getMessage()); } return page; }
public SearchResultList<WorkItemType> searchWorkItems(ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, OperationResult result) throws SchemaException { TaskQuery taskQuery = createTaskQuery(query, true, options, result); if (taskQuery == null) { return new SearchResultList<>(Collections.emptyList()); } Integer offset = query != null ? query.getOffset() : null; Integer maxSize = query != null ? query.getMaxSize() : null; List<Task> tasks; if (offset == null && maxSize == null) { tasks = taskQuery.list(); } else { tasks = taskQuery.listPage(defaultIfNull(offset, 0), defaultIfNull(maxSize, Integer.MAX_VALUE)); } boolean getAllVariables = true; // TODO implement based on options // there's no need to fill-in assignee details ; but candidates are necessary to fill-in; TODO implement based on options (resolve) return tasksToWorkItems(tasks, null, false, false, true, getAllVariables, result); }
@Override public List<BpmTask> findUserTasks(ProcessInstance processInstance, ProcessToolContext ctx) { List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() .processInstanceId(processInstance.getInternalId()) .taskAssignee(user.getLogin()) .listPage(0, 1000); return collectTasks(tasks, processInstance, ctx); }
List<Task> execTaskList = taskService.createTaskQuery().taskCandidateUser( assignee).orderByTaskPriority().desc().listPage(0, 1); if ( !execTaskList.isEmpty()) { TaskEntity execTask = (TaskEntity) execTaskList.get(0);
List<Task> execTaskList = taskService.createTaskQuery().taskCandidateUser( user.getId()).orderByTaskPriority().desc().listPage(0, 1); if ( !execTaskList.isEmpty()) { Task execTask = execTaskList.get(0);
@Override public BpmTask refreshTaskData(BpmTask task, ProcessToolContext ctx) { MutableBpmTask bpmTask = task instanceof MutableBpmTask ? (MutableBpmTask) task : new MutableBpmTask(task); bpmTask.setProcessInstance(getProcessData(task.getProcessInstance().getInternalId(), ctx)); List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() // .notSuspended() .taskName(task.getTaskName()) .executionId(task.getExecutionId()) .taskAssignee(user.getLogin()) .listPage(0, 1); if (tasks.isEmpty()) { log.warning("Task " + task.getExecutionId() + " not found"); bpmTask.setFinished(true); } return bpmTask; }
@Override public Page<TaskVo> page(Pageable page, FlowSo so) { Page<TaskVo> result = null; TaskQuery query = taskService.createTaskQuery(); if (so != null && so.getName() != null && so.getName().length() > 0) { query = query.processVariableValueLike("name", "%" + so.getName() + "%"); } query = query.orderByTaskCreateTime().desc(); Long total = query.count(); List<TaskVo> content = new ArrayList<TaskVo>(); result = new Page<TaskVo>(content, total, page); int first = (result.getPageNumber() - 1) * page.getPageSize(); if (first < 0) { first = 0; } List<Task> tasks = query.listPage(first, page.getPageSize()); Conver<TaskVo, Task> conver = new TaskVoConver(taskService); content = ConverUtils.coverList(tasks, conver); result = new Page<TaskVo>(content, total, page); return result; }
@Override public Page<TaskVo> page(String username, Pageable page, FlowSo so) { Page<TaskVo> result = null; TaskQuery query = taskService.createTaskQuery().taskAssignee(username); if (so != null && so.getName() != null && so.getName().length() > 0) { //query=query.includeTaskLocalVariables(); //query=query.includeProcessVariables(); //query=query.taskVariableValueLike("name","%"+so.getName()+"%"); query = query.processVariableValueLike("name", "%" + so.getName() + "%"); } query = query.orderByTaskCreateTime().desc(); Long total = query.count(); List<TaskVo> content = new ArrayList<TaskVo>(); result = new Page<TaskVo>(content, total, page); int first = (result.getPageNumber() - 1) * page.getPageSize(); if (first < 0) { first = 0; } List<Task> tasks = query.listPage(first, page.getPageSize()); Conver<TaskVo, Task> conver = new TaskVoConver(taskService); content = ConverUtils.coverList(tasks, conver); result = new Page<TaskVo>(content, total, page); return result; }
public Collection<ProcessInstance> getUserProcesses(int offset, int limit, ProcessToolContext ctx) { List<Task> taskList = getProcessEngine().getTaskService().createTaskQuery() .taskAssignee(user.getLogin()) .orderByExecutionId() .desc() .listPage(offset, limit); List<String> ids = keyFilter("processInstanceId", taskList); final Map<String, ProcessInstance> instances = ctx.getProcessInstanceDAO().getProcessInstanceByInternalIdMap(ids); return new Mapcar<Task, ProcessInstance>(taskList) { @Override public ProcessInstance lambda(Task task) { ProcessInstance pi = instances.get(task.getProcessInstanceId()); if (pi == null) { log.warning("process " + task.getProcessInstanceId() + " not found"); return null; } pi.setState(task.getName()); pi.setTaskId(task.getId()); return pi; } }.go(); }