java activiti 审核,Java技术学习之Activiti和Spring整合实现查询与审批

前面的文章介绍了Activiti的流程部署。本章我们会将Activiti和Spring进行整合,并完成简单的审批和查询。

1、要实现Spring和整合,还需要引入activiti-spring包,pom的依赖如下:

c9630211f31275b92c10e0bbd6a5de35.jpg

695ef1467dd923d485d2279441492e12.png

b9b02247f81b86ad9227050bc01f4ccc.png

d2aca636bbe15e10f8b7987ab0dbd07b.png

e417fd86c5771d5d16e002c9d9722669.png

2、Activiti的配置文件:

649f36c2f8f9f4aebf4f86b54c261196.png

4fbef53bdc1beb7ec00f37f94585c089.png

ff87420401a50e97b27d10ee5936f5d7.png

注意:在Activiti的配置文件中配置了几种主要的服务对象

38522b78ac4e22e6693743ab71ff9cea.png

Service服务说明

RepositoryService仓库服务

仓库服务是存储相关的服务,一般用来部署流程文件,获取流程文件,查询流程定义信息等操作,是引擎中的一个重要的服务。

创建方法:

RepositoryService repositoryService = engine.getRepositoryService();

运行时服务

流程运行时的流程实例,流程定义,流程版本,流程节点等信息,使用运行时服务操作,是引擎中的一个重要的服务

创建方法:

RuntimeService runtimeService = engine.getRuntimeService();

任务服务

流程运行时的会产生任务,接收、办理、完成等操作使用任务服务完成,是引擎中的一个重要的服务

创建方法:

TaskService taskService = engine.getTaskService();

3、Spring的配置文件:

ae8f7f6edcf3704bf53dd2e019b13908.png

9e4113602678872b41826ad58d0f9eb0.png

5bc39f94ca85fed1366c225c04bdfe2b.png

4、启动个人任务

给流程添加审批人

9021c1f54d9beb72d778adff5d60000f.png

单元测试:

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration("classpath:spring.xml")

public class ProcessTest {

@Autowired

private TaskService taskService;

@Autowired

private RuntimeService runtimeService;

@Autowired

private HistoryService historyService;

@Autowired

private RepositoryService repositoryService;

//部署流程

@Test

public void deployAddSigninProcess() {

repositoryService.createDeployment()

.key("addsignin_process")

.addClasspathResource("bpmn/proc_addsignin.bpmn")

.addClasspathResource("bpmn/proc_addsignin.png")

.name("补签流程")

.deploy();

}

//启动流程

@Test

public void startProcess(){

runtimeService.startProcessInstanceByKey("addsignin_process");

}

//查询个人任务

@Test

public void queryTask(){

TaskQuery taskQuery = taskService.createTaskQuery();

//按照审批人和流程id查询

taskQuery.taskAssignee("张三");

taskQuery.processDefinitionKey("addsignin_process");

List list = taskQuery.list();

for (Task task : list) {

System.out.println(task.getId());

System.out.println(task.getAssignee());

System.out.println(task.getName());

System.out.println(task.getOwner());

System.out.println(task.getCategory());

System.out.println(task.getCreateTime());

System.out.println(task.getExecutionId());

System.out.println(task.getTaskDefinitionKey());

System.out.println(task.getProcessDefinitionId());

}

}

//完成任务

@Test

public void completeTask(){

//通过TaskID完成任务

taskService .complete("2501");

System.out.println("完成任务");

}

}

以上我们通过Spring整合了Activiti,并且实现了基本的Activiti流程的启动、查询和完成。

千锋Java培训作为中国IT研发人才一体化服务的开拓者,为学生制定合理有序的学习计划,0学费入学,2周免费试听不满意不收费,与学员签订就业协议,坚持良心面授,从千锋Java培训班出去的学员均已高薪就业。千锋推出的免费java视频教程,让学员能够方面的巩固基础技术能力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值