java入职学习十二之工作流引擎:activiti
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java入职学习十二之工作流引擎:activiti,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2213字,纯文字阅读大概需要4分钟。
内容图文
一、概述
Activiti是由Alfresco软件发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务。
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。
二、具体应用
- 关键业务流程:订单、报价处理、合同审核、客户电话处理、供应链管理等
- 行政管理类:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单。
- 人事管理类:员工培训安排、绩效考评、职位变动处理、员工档案信息管理等。
- 财务相关类:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等。
- 客户服务类:客户信息管理、客户投诉、请求处理、售后服务管理等。
- 特殊服务类:ISO系列对应流程、质量管理对应流程、产品数据信息管理、贸易公司报关处理、物流公司货物跟踪处理等各种通过表单逐步手工流转完成的任务均可应用工作流软件自动规范地实施。
三、依赖引入
<!-- activiti依赖包 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.21.0</version>
</dependency>
<!-- 整合Spring使用的Jar包 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>5.21.0</version>
</dependency>
四、activiti的流程
1、部署流程
repositoryService.createDeployment() //创建部署
.name(deployFile.getOriginalFilename()) //需要部署流程名称
.addZipInputStream(new ZipInputStream(deployFile.getInputStream()))//添加ZIP输入流
.deploy();//开始部署
2、启动流程
Map<String,Object> variables=new HashMap<String,Object>();
variables.put("leaveId", leaveId);
// 启动流程
ProcessInstance pi= runtimeService.startProcessInstanceByKey("hello",variables);
// 根据流程实例Id查询任务
Task task=taskService.createTaskQuery().processInstanceId(pi.getProcessInstanceId()).singleResult();
// 完成 学生填写请假单任务
taskService.complete(task.getId());
Leave leave=leaveService.findById(leaveId);
//修改状态
leave.setState("审核中");
leave.setProcessInstanceId(pi.getProcessInstanceId());
// 修改请假单状态
leaveService.updateLeave(leave);
内容总结
以上是互联网集市为您收集整理的java入职学习十二之工作流引擎:activiti全部内容,希望文章能够帮你解决java入职学习十二之工作流引擎:activiti所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。