Activiti获取待办任务信息
来源:互联网 发布:淘宝的书是正版吗 编辑:程序博客网 时间:2024/06/05 15:42
根据userid获得TaskQuery然后再获得HistoricTaskInstance然后再赋值到页面需要的BO。
/** * *@User :Test *@date :2014-6-27 上午09:53:09 *@return :List *@userFor :获得待办任务列表 */public List getCurrentWorkList(int pageNo, int pageSize, String sort,String dir, TaskQueryBo taskQueryBo) {if (pageNo <= 1)pageNo = 1;if (pageSize <= 1)pageSize = 0xf423f;int start = (pageNo - 1) * pageSize;int limit = pageSize;List tasks = new ArrayList();TaskQuery taskQuery = getTaskQuery(taskQueryBo);// 根据用户id得到任务列表List todoList = ((TaskQuery) ((TaskQuery) taskQuery.orderByTaskPriority().desc()).orderByTaskCreateTime().desc()).listPage(start, limit);tasks.addAll(todoList);List taskBoList = new ArrayList();TaskBo taskBo;// TaskQuery转换成Taskfor (Iterator iterator = tasks.iterator(); iterator.hasNext(); taskBoList.add(taskBo)) {Task task = (Task) iterator.next();taskBo = getTaskDetail(task.getId());}return taskBoList;}/** * *@User :Test *@date :2014-6-27 上午09:55:12 *@return :TaskQuery *@userFor :根据不同的条件获得任务列表 TaskQuery */private TaskQuery getTaskQuery(TaskQueryBo taskQueryBo) {TaskQuery taskQuery = taskService.createTaskQuery();if (taskQueryBo != null) {String candidateUser = taskQueryBo.getCandidateUser();if (StringUtil.hasText(candidateUser))taskQuery = taskQuery.taskCandidateUser(candidateUser);String systemName = taskQueryBo.getSystemName();if (StringUtil.hasText(systemName))taskQuery = taskQuery.processVariableValueEquals("processCategory", systemName);String workflowName = taskQueryBo.getWorkflowName();if (StringUtil.hasText(workflowName))taskQuery = taskQuery.taskDefinitionKey(workflowName);String taskId = taskQueryBo.getTaskId();if (StringUtil.hasText(taskId))taskQuery = taskQuery.taskId(taskId);}return taskQuery;}public TaskBo getTaskDetail(String taskId) {TaskBo taskBo;HistoricTaskInstance historicTaskInstance = (HistoricTaskInstance) historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();taskBo = null;if (historicTaskInstance != null)taskBo = setTaskBo(historicTaskInstance);return taskBo;}/** * *@User :Test *@date :2014-6-27 上午09:59:45 *@return :TaskBo *@userFor :设置页面需要的字段信息 HistoricTaskInstance */private TaskBo setTaskBo(HistoricTaskInstance task) {TaskBo taskBo = new TaskBo();taskBo.setTaskId(task.getId());taskBo.setTaskName(task.getName());taskBo.setApproveUserName(task.getAssignee() != null ? getUserName(task.getAssignee()) : "");taskBo.setStartTime(task.getStartTime() != null ? DateTimeUtil.getFormatDate(task.getStartTime(),WorkflowConstants.DATEFORMATSTRING) : "");if (task.getEndTime() == null)taskBo.setEndTime("");elsetaskBo.setEndTime(DateTimeUtil.getFormatDate(task.getEndTime(),WorkflowConstants.DATEFORMATSTRING));taskBo.setDueTime(task.getDueDate() != null ? DateTimeUtil.getFormatDate(task.getDueDate(),WorkflowConstants.DATEFORMATSTRING) : "");ProcessDefinition processDefinition = (ProcessDefinition) repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();taskBo.setBusinessName(processDefinition.getName());taskBo.setWorkflowName(processDefinition.getKey());//流程状态taskBo.setStatus(processDefinition.isSuspended() ? "已挂起" : "正常");taskBo.setVersion(String.valueOf(processDefinition.getVersion()));HistoricProcessInstance historicProcessInstance = (HistoricProcessInstance) historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();//得到业务id即eventidtaskBo.setBusinessEventId(historicProcessInstance.getBusinessKey());//发起人姓名if (historicProcessInstance.getStartUserId() != null)taskBo.setStartUserName(getUserName(historicProcessInstance.getStartUserId()));elsetaskBo.setStartUserName("");taskBo.setWorkflowSubject(getWorkflowVariable(historicProcessInstance.getId(), WorkflowConstants.WORKFLOWSUBJECT));return taskBo;}
0 0
- Activiti获取待办任务信息
- Activiti Explorer中待办任务无法显示的Bug
- Activiti工作流会签与获取下一节点任务信息
- Activiti获取任务候选人
- activiti中有任务id,获取当前流程节点的信息
- activiti实战六(待办流程)
- activiti 配置节点 连线信息获取
- Java Activiti(4)--查询历史任务数据等信息
- 待办
- 待办
- 任务拦信息的获取
- 【入门篇】Activiti查询指定流程定义下待办task
- activiti根据当前节点获取下一步任务节点
- activiti任务监听可以获取启动流程时的参数
- activiti根据当前节点获取下一个节点信息
- Activiti定时任务示例
- Activiti定时任务示例
- Activiti 邮件任务
- Double.valueOf容易出现的问题!
- 无缘无故Spring MVC报错空指针异常
- move_base 配置文件注释
- Activiti获取任务候选人
- Linux命令杂记
- Activiti获取待办任务信息
- java Split用法
- 程序员面试金典——原串翻转
- C++继承之多重继承与虚基类
- java ThreadLocal本地线程总结
- Spring单例模式(singleton)和多例模式(prototype)
- 20个必会的JavaScript面试题
- Android工程方法数超过65535
- Activiti小知识总结