1、根据用户名获得待办任务ID,包括直接指定和通过角色、组指定的待办任务
TaskQuery twoQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId).active().orderByProcessInstanceId().desc();
2、将任务委托给其他人办理
Task task=taskService.createTaskQuery().singleResult(); //委托 taskService.delegateTask(task.getId(), "cc");
其中,cc为被委托人
或者根据命令模式进行委托处理:
如managementService.executeCommand(new DelegateTaskCmd(taskId, "2c908aa34877c0a0014877f3ab5700f8"))
3、被委托人处理任务
taskService.resolveTask(task.getId());
或者使用命令模式ResolveTaskCmd
如 managementService.executeCommand(new ResolveTaskCmd(taskId, variables));
被委托人执行完毕后,任务工具又回到委托人名下,即A委托B处理,B处理完后,任务又回到A名下。
4、业务流程信息
List<HistoricActivityInstance> actList = historyService.createHistoricActivityInstanceQuery()
.processInstanceId(processInstanceId).finished()
.taskAssignee(userId)
.orderByHistoricActivityInstanceStartTime().desc().list();
for(HistoricActivityInstance aaa : actList){
System.out.println("*******"+aaa.getAssignee());
System.out.println("*******"+aaa.getProcessInstanceId());
System.out.println("*******"+aaa.getTaskId());
}
根据流程实例id和用户id,获得该业务流程中已完成节点且是指定用户处理的节点的相关信息,即是act_hi_taskinst表中的信息。
5、activiti历史任务相关功能记录
activiti的历史任务是单独的表来储存,表之间没有任何外间关联,这些表包括:
ACT_HI_ACTINST 历史流程的运行状况记录
ACT_HI_ATTACHMENT
ACT_HI_COMMENT 流程评论
ACT_HI_DETAIL流程明细
ACT_HI_IDENTITYLINK 流程身份关系
ACT_HI_PROCINST 历史流程概况
ACT_HI_TASKINST 历史任务概况
ACT_HI_VARINST 历史流程中的参数
historyService服务是用于查询历史数据表,有:
historyService.createHistoricActivityInstanceQuery(); //查询ACT_HI_ACTINST表
historyService.createHistoricDetailQuery(); //查询ACT_HI_DETAIL表
historyService.createHistoricProcessInstanceQuery(); //查询ACT_HI_PROCINST表
historyService.createHistoricTaskInstanceQuery(); //查询ACT_HI_TASKINST表
historyService.createHistoricVariableInstanceQuery(); //查询ACT_HI_VARINST表
7、查询流程是否结束
String id=historyService.createHistoricProcessInstanceQuery()
.finished().singleResult().getId().toString();//finished()查出完成的流程,在数据库中,end_act_id出现值,说明该流程结束。
相关推荐
2. 常用方法的Demo: 在这个压缩包中,可能会有Java代码示例,演示了如何使用Activiti API进行基本操作,例如: - 创建流程定义:通过`RepositoryService.createProcessDefinitionQuery()`获取流程定义信息。 - ...
"Activiti常用类简介" Activiti是一款基于Apache许可的开源BPM平台,提供了一系列的常用类来帮助开发者快速构建业务流程管理系统。下面我们将对Activiti的常用类进行详细介绍。 流程引擎配置类 ...
当我们谈论"activiti的常用API"时,我们主要关注以下几个关键接口和类: 1. **ProcessEngine**: 这是与Activiti交互的入口点,用于创建RepositoryService、RuntimeService、TaskService等服务。 2. **...
该汉化包的使用方法非常简单,只需将其下载并解压,然后将解压后的文件放置到Tomcat服务器的相应目录下。Tomcat是一款广泛使用的Java应用服务器,它是许多Web应用程序的运行环境,包括Activiti-APP。在正确部署汉化...
本文将详细介绍标题和描述中提到的几个常用插件,包括activiti、mybatis以及json解析相关的插件。 1. **Activiti插件**:Activiti是一个开源的工作流引擎,用于构建业务流程管理系统(BPM)。`actibpm.jar`可能是一...
在本工具包中,我们专注于Activiti 5.22版本,该版本包含了常用的API和一个基础流程图编辑器,为开发者提供了一站式的流程开发体验。 1. **常用API引入**: Activiti 5.22 提供了丰富的API,使得开发者能够轻松地...
Activiti 是目前使用最为常用的工作流引擎,工作流业务在企业中应用非常广泛,目前企业中多使用Activiti6版本,Activiti7是目前的最新版本。Activiti7不但提高的工作流引擎的效率,提供了新封装的新API,还提供了和...
Apache Commons Lang是一个实用工具库,包含许多常用的字符串处理、数学运算等方法,为Activiti提供了额外的编程便利性。 这些库共同构建了一个强大的开发环境,使得开发者能够利用Eclipse Activiti进行高效、灵活...
在Activiti中,常用的Web流程设计器有Alfresco Share、Activiti Modeler或BPMN 2.0兼容的第三方工具,如Stunner(Kie Workbench的一部分)。这些工具允许用户通过拖放操作来创建活动、连接线和事件,然后保存为XML...
SSH Activiti是一个集成开发环境,其中SSH代表Spring、Struts和Hibernate,这三大框架是Java Web开发中的常用组件。Activiti则是一个业务流程管理(BPM)系统,它提供了工作流引擎,用于处理企业的业务流程自动化。...
#### 1.1 工作流常用词解释 - **工作流(Workflow)**:指组织内的任务按照一定的规则和顺序进行流转的过程,通过工作流管理系统实现自动化。 - **工作流引擎(Workflow Engine)**:是工作流管理系统的核心,负责...
SpringMVC、Activiti 和 MySQL 是企业级应用开发中常用的技术栈,它们分别在不同的领域发挥着关键作用。本文将详细介绍这些技术以及如何将它们整合到一个项目中。 首先,让我们了解一下这三个技术的基础: 1. **...
Eclipse是Java开发的常用工具,它提供了丰富的插件支持和便捷的代码管理功能,适合进行大型项目的开发与维护。导入项目后,运行`CreateTable.java`文件,这是初始化Activiti所需数据库表的关键步骤。通过执行此程序...
内置表单是Activiti中最常用且易于使用的表单类型之一。它允许用户在设计流程模型时直接定义表单字段,简化了表单开发过程。这种方式适用于那些相对固定且结构化程度较高的表单需求。 ##### 特点: - **直接集成**...
这通常涉及到调用`runtimeService.startProcessInstanceByKey()`方法,传入流程定义的关键字。 4. **任务处理**:Activiti会将任务分配给特定的角色或用户。你可以通过`taskService.createTaskQuery().list()`查询...
手册会详细解释这些服务及其常用方法,帮助你有效地编程操作工作流。 流程的设计和管理也是重点。Activiti提供了模型er,允许你通过拖拽的方式设计流程图,然后导出为XML文件。此外,你还可以学习如何监控和调试...
SpringBoot旨在简化Spring应用的初始搭建以及开发过程,它默认集成了许多常用的库,如数据访问、安全、缓存等。而Activiti则是一个基于BPMN 2.0规范的流程引擎,能够处理复杂的业务流程,提供图形化建模工具,支持...
activiti系列第二期课程课程重点讲解中国式的常用流程,比如activiti中modler设计器扩展属性、activiti中xml扩展自定义属性、activiti任意节点跳转、activiti多实例、activiti任务节点跳转、activiti多实例、...
SSM 指的是 Spring、Spring MVC 和 MyBatis 这三个流行开源框架的组合,它们是Java Web 开发中的常用技术栈。将 Activiti 集成到 SSM 框架中,可以实现流程定义、流程实例的启动、任务处理、流程监控等一系列功能。 ...