@GetMapping("/tasks") @Authorize(action = Permission.ACTION_QUERY) @ApiOperation("查询当前用户的历史任务信息") public ResponseMessage<PagerResult<TaskInfo>> getHistory(QueryParamEntity query, Authentication authentication) { HistoricTaskInstanceQuery historyQuery = historyService.createHistoricTaskInstanceQuery(); historyQuery.taskAssignee(authentication.getUser().getId()); PagerResult<TaskInfo> result = QueryUtils.doQuery(historyQuery, query, TaskInfo::of, (term, q) -> { if ("status".equals(term.getColumn())) { switch (String.valueOf(term.getValue())) { case "finished": q.finished(); break; case "processFinished": q.processFinished(); break; default: break; } } }); return ResponseMessage.ok(result).exclude(query.getExcludes()).include(query.getIncludes()); }
query.taskAssignee(queryRequest.getTaskAssignee());
.taskAssignee(assignee).list(); if (historicTaskInstances.isEmpty()) { return Repositories.emptyQuery();
private BpmTask getMostRecentProcessHistoryTask(final ProcessInstance pi, final UserData user, final Calendar minDate, ProcessToolContext ctx) { HistoryService hs = getProcessEngine().getHistoryService(); HistoricTaskInstanceQuery q = hs.createHistoricTaskInstanceQuery() .taskAssignee(user.getLogin()) .processInstanceId(pi.getInternalId()); q = q.orderByHistoricTaskInstanceEndTime().asc(); List<HistoricTaskInstance> tasks = q.list(); List<HistoricTaskInstance> pastTasks = new ArrayList<HistoricTaskInstance>(); for (HistoricTaskInstance task : tasks) { if (task.getEndTime() != null && task.getEndTime().compareTo(minDate.getTime()) > 0) { pastTasks.add(task); } } if (pastTasks.isEmpty()) return null; MutableBpmTask task = collectHistoryActivity(pastTasks.get(0), pi, user); String endTaskName = findEndActivityName(pi, ctx); if (Strings.hasText(endTaskName)) { task.setTaskName(endTaskName); } return task; }
.taskAssignee(user.getLogin()) .processInstanceId(pi.getInternalId()); if (!taskNames.isEmpty()) //TODO what if there is > 1 task. Activiti API does not support such operation (e.g. in clause in SQL)?
@GetMapping("/tasks") @Authorize(action = Permission.ACTION_QUERY) @ApiOperation("查询当前用户的历史任务信息") public ResponseMessage<PagerResult<TaskInfo>> getHistory(QueryParamEntity query, Authentication authentication) { HistoricTaskInstanceQuery historyQuery = historyService.createHistoricTaskInstanceQuery(); historyQuery.taskAssignee(authentication.getUser().getId()); PagerResult<TaskInfo> result = QueryUtils.doQuery(historyQuery, query, TaskInfo::of, (term, q) -> { if ("status".equals(term.getColumn())) { switch (String.valueOf(term.getValue())) { case "finished": q.finished(); break; case "processFinished": q.processFinished(); break; default: break; } } }); return ResponseMessage.ok(result).exclude(query.getExcludes()).include(query.getIncludes()); }
.taskAssignee(authority) .finished();
.taskAssignee(authority) .finished();
UserInfo user = UserUtil.getCurrentUser(); Page<MyTaskHistoryVo> result = null; List<HistoricTaskInstance> instances = historyService.createHistoricTaskInstanceQuery().taskAssignee(user.getId() + "").list(); List<MyTaskHistoryVo> myTaskHistoryVoList = new ArrayList<MyTaskHistoryVo>(); if (instances != null) {
public HistoricTaskInstanceQuery createHistoricTaskInstanceQuery(HistoricTaskInstanceQuery taskQuery) { taskQuery = taskQuery.taskAssignee(getAssigneeId());
historicQuery.taskAssignee(query.getActorId());
historicQuery.taskAssignee(query.getActorId());