- 浏览: 595879 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
根据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转换成Task for (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(""); else taskBo.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即eventid taskBo.setBusinessEventId(historicProcessInstance.getBusinessKey()); //发起人姓名 if (historicProcessInstance.getStartUserId() != null) taskBo.setStartUserName(getUserName(historicProcessInstance .getStartUserId())); else taskBo.setStartUserName(""); taskBo.setWorkflowSubject(getWorkflowVariable(historicProcessInstance .getId(), WorkflowConstants.WORKFLOWSUBJECT)); return taskBo; }
发表评论
文章已被作者锁定,不允许评论。
-
Activiti 学习总结内容
2016-11-04 14:50 1560Activiti总结内容 常用方法汇总 sequenceFl ... -
Activiti自我总结
2014-12-26 20:55 1302Spring代码 <?xml version=&qu ... -
Activiti根据Flowname进行转向
2014-06-29 18:13 719转向问题需要注意的是每次转向到其他节点时要把其他Transit ... -
Activiti小知识总结
2014-06-29 11:00 6101.ACT_HI_ACTINS表中Assignee字段没有值的 ... -
Activiti获取任务候选人
2014-06-27 09:33 2195IdentityLink是任务候选人的对象。来自于taskSe ... -
Activiti获得下一个节点
2014-06-26 14:37 1481用PvmTransition表示箭头的类。而这些类是从 Lis ... -
Activiti获取流程中的审批意见
2014-06-26 14:18 2435执行流程的过程中所有的变量信息都保存在ACT_HI_VARIN ... -
Activiti获取某个流程实例已经审批的节点记录
2014-06-25 16:15 2627已知businessid即eventid获得对应的审批记录 ... -
Activiti获取某个流程实例的FormKey
2014-06-25 15:21 2466通过任务id获得formkey ProcessDef ... -
Activiti中流程对象之间的关系
2014-06-25 10:36 730在开始之前先看看下图,对整个对象结构有个了解,再结合下面的详细 ... -
Activiti学习-2
2014-06-08 17:12 8795.12乱码问题解决: <!-- Activiti ... -
activiti学习之task与execution的关系
2014-06-08 16:54 1434一.含义 task 即待办任务 execution 即流程 ... -
Activiti学习总结
2014-06-03 11:50 19181.获得流程图乱码问题 ... -
Activiti环境安装及项目下载基础学习
2014-06-01 23:10 595Activiti资料 官网:http://www.activ ...
相关推荐
"Activiti待办事项查询VIEW"是一个关于使用Activiti工作流引擎进行待办任务查询的专题,主要关注如何在实际应用中实现用户界面的展示。Activiti是一个开源的业务流程管理(BPM)和工作流引擎,广泛应用于企业级应用...
- **任务处理**:理解如何通过 Activiti API 获取待办任务,完成任务并传递到下一个步骤。 - **流程变量**:如何设置和获取流程变量,它们是流程中传递信息的关键。 - **监听器与事件**:利用监听器可以对流程中的...
通过调用Activiti的API,我们可以获取当前用户(或角色)的待办任务。每个待办任务包含任务ID、任务名称、执行人等信息。用户可以选择任务并进行处理,比如填写表单、审批等。完成任务后,Activiti会自动更新流程...
3. **任务操作**:Activiti的任务管理API允许开发者获取待办任务列表、领取任务、完成任务、分配任务给特定用户或组,以及设置和获取任务变量。 4. **变量处理**:在流程执行过程中,可能会涉及到各种变量的设置和...
Activiti提供了获取待办任务(Todo)的功能,这些待办任务代表了当前需要用户处理的工作流步骤。待办任务可以通过查询服务根据用户或特定条件来获取。 5. **代办人传值**: 在流转过程中,可能需要传递信息给不同...
此外,如果涉及到用户界面交互,那么前端部分可能会使用到Spring MVC或其它Web框架,通过AJAX请求与后端进行通信,显示和处理待办任务。 总结来说,"ActivitiDemo"是一个演示如何将Activiti工作流引擎集成到Spring...
4. **任务的处理**:查询当前用户待办任务,完成任务,或者模拟用户行为以推进流程。 5. **流程变量的管理**:设置、获取和更新流程中的变量,这些变量可以用来传递信息和控制流程行为。 6. **监听器和事件**:...
查看这些任务通常涉及使用Activiti的工作流查询服务,获取待办事项列表,并可能包括任务的分配、认领、完成等操作。 在进行这些操作时,了解BPMN 2.0标准是至关重要的,因为这是Activiti支持的流程建模语言。BPMN...
在流程实例运行过程中,用户可以通过任务查询服务(TaskQueryService)获取待办任务(Todo List),然后进行审批或驳回。这通常涉及到调用 `claim(Task task)` 来领取任务,`complete(Task task, Map, Object> ...
- **任务列表**: 展示待办任务。 - **领取任务**: 用户领取任务。 - **完成任务**: 用户完成任务。 - **结束流程**: 结束流程实例。 - **代码总结**: 代码示例分析。 - **更多思考**: 进一步探讨BPMN的应用。 #### ...
6. **Service层处理**:在Service层,通过Activiti的API操作流程实例,如完成任务、跳转流程节点、获取当前任务信息等。 7. **视图展示**:使用JFinal的模板引擎(如Freemarker或Velocity),设计前端页面,展示...
- **任务分配**:Jeecg-Boot可以根据Activiti的任务分配规则,将待办任务推送给相应人员。 - **流程监控**:通过Activiti的API,可以获取到流程运行状态,进行实时监控和分析。 - **历史数据查询**:记录流程的...
7. **处理任务**:通过`TaskService`获取当前用户待办的任务,用户可以通过接口完成任务,同时更新流程变量。 8. **监控和调试**:Activiti提供了丰富的监控工具,如流程图、历史数据查询等,方便我们了解流程的...
例如,获取当前用户的待办任务并完成它: ```java @Autowired private TaskService taskService; List<Task> tasks = taskService.createTaskQuery().taskAssignee("张三").list(); for (Task task : tasks) { ...
你可以通过`TaskService`获取当前用户的待办任务,并使用`CompleteTask`方法来完成它们。这通常涉及到业务逻辑的执行。 6. **监听器和回调**:你可以注册监听器以在流程的不同事件上执行操作,例如启动、完成任务或...
- **任务(Task)管理**:如何获取当前用户的待办任务,如何完成任务,以及任务委托和分配。 - **监听器(Listener)**:可以监听并响应流程中的特定事件,如任务创建、完成、流程启动等,实现自定义行为。 - **...
这个系统不仅提供了创建、删除流程模型的功能,还支持查看待办、已办事项,以及进行流程跟踪、任务完成和撤回操作。特别的是,它还集成了网页设计器,让用户能够直观地设计和修改工作流,实现真正的"开箱即用"体验。...
在SpringMVC中,通常会创建视图层来显示待办任务列表,并允许用户完成任务或传递给其他用户。 6. **监听和事件处理**:Activiti提供了丰富的事件机制,可以在流程执行的不同阶段触发自定义逻辑。通过实现`org....
你可以通过`taskService.createTaskQuery()`查询当前用户待办的任务,然后使用`claim`、`complete`或`assignee`方法来处理这些任务。 6. **监听器和事件** Activiti支持事件监听器,可以监听流程中的特定事件,如...