版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选文档 Activiti 学习一 搭建一个Activiti开发环境1. 在eclipse中点击“Add”在Name选项中填写一个名称Location: /designer/update/点击“ok“再点击“下一步”选择红色 点击“Finish”安装activiti完成。 创建Activiti 会签二 创建一个Activiti project 1. 点击“下一步”填写一个项目名称点击完成2. 选择刚建的项目选择“下一步”点击“Finish”打开diagrams下的MyProcess1.activiti 在里面画流程图切记要填写的值 Main config是节
2、点的用 #键 表示一个任务人假如是线节点 表推断的时候 带参数要$键 表示要传入的指 假如任务节点中没写“任务人” 则会报错,致使不会生成XML描述文件。 <userTask id="usertask3" name="会签" activiti:assignee="#huiqian"> <extensionElements> <activiti:taskListener event="create" class="com.listener.Mylistener">
3、;</activiti:taskListener> <activiti:taskListener event="complete" class="com.listener.Mylistener"></activiti:taskListener> </extensionElements> <multiInstanceLoopCharacteristics isSequential="false"> <loopDataInputRef>assigneeList<
4、/loopDataInputRef> <inputDataItem name="huiqian"></inputDataItem> <completionCondition>$result != 2 </completionCondition> </multiInstanceLoopCharacteristics> </userTask>Java 代码:package com.listener;import java.util.ArrayList;import java.util.List;imp
5、ort org.activiti.engine.delegate.DelegateTask;import org.activiti.engine.delegate.TaskListener;public class Mylistener implements TaskListener private static int a=0;public void notify(DelegateTask delegateTask) / 猎取大事名称String eventName = delegateTask.getEventName();/ 猎取任务idString taskId = delegateT
6、ask.getId();/ 猎取节点键String taskKey = delegateTask.getTaskDefinitionKey(); /userTask3/ 猎取流程定义编号String procDefId = delegateTask.getProcessDefinitionId();/ 猎取流程实例编号String procInstId = delegateTask.getProcessInstanceId();/ 猎取节点名称List<String> list = (ArrayList<String>)delegateTask.getVariable(
7、"assigneeList");if ("create".equals(eventName) /初始化会签人员信息/初始化业务规章 else if ("complete".equals(eventName) /执行业务规章if(delegateTask.getAssignee().toString().trim().equals("zhangsan")delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("
8、result", 2);if(delegateTask.getAssignee().toString().trim().equals("lisi")delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("result", 2);if(delegateTask.getAssignee().toString().trim().equals("libo")delegateTask.setVariable("result&q
9、uot;, 1);elsedelegateTask.setVariable("result", 2);if(delegateTask.getAssignee().toString().trim().equals("xiao")delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("result", 2);if(delegateTask.getAssignee().toString().trim().equals("haha&q
10、uot;)delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("result", 2);if(delegateTask.getAssignee().toString().trim().equals("yunsi")delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("result", 2);Java 测试:package com.li
11、stener;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.activiti.engine.RepositoryService;import org.activiti.engine.RuntimeService;import org.activ
12、iti.engine.TaskService;import org.activiti.engine.repository.Deployment;import org.activiti.engine.repository.ProcessDefinition;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;public class Test org.junit.Testpublic void bbTest() / 创建一个流程数据源的配置ProcessEngine pro
13、cessEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("diagrams/activiti.cfg.xml").buildProcessEngine();/ 猎取数据源连接的服务RepositoryService repositoryService = processEngine.getRepositoryService();/ 读取配置流程配置文件对象Deployment deployment = repositoryService.createDeploy
14、ment().addClasspathResource("diagrams/MyProcess.bpmn20.xml").deploy();/ 发布到数据库中ProcessDefinition pdf = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId().singleResult();/ 开启一个服务RuntimeService runtimeService = processEngine.getRuntimeService(); /* * 定义流程中的参数 */
15、 建立一个集合存放流程中的参数Map<String, Object> model = new HashMap<String, Object>();/ 开启流程的人model.put("user", "胖子");/ 行政审核人model.put("manager", "肖正伟");/ 审核结果model.put("backtrack", "yes");/ 会签 (将全部参与会签的人放入list集合中)List<String> list = n
16、ew ArrayList<String>();list.add("zhangsan");list.add("lisi");list.add("libo");list.add("xiao");list.add("haha");list.add("yunsi");/ 把list结合放入集合中model.put("assigneeList", list);/ 开启一个流程ProcessInstance pi = runtimeService.star
17、tProcessInstanceById(pdf.getId(), model);/ 节点服务TaskService service = processEngine.getTaskService();/ 猎取节点/* * 拟稿 */List<Task> tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee("胖子").list();for (Task task : tasks) plete(task.getId();System.out
18、.println(task.getName();/ 行政审核节点tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee("肖正伟").list();for (Task task : tasks) plete(task.getId();System.out.println("行政部经理审核");/* * * * */tasks = service.createTaskQuery().processInstanceId(pi.getP
19、rocessInstanceId().taskAssignee("zhangsan").list();for (Task task2 : tasks) plete(task2.getId();System.out.println(task2.getAssignee();/* * * */tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee("lisi").list();for (Task task : tasks) plete(task.getId();System.out.println(task.getAssignee();tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee("libo").list();for (Task task : task
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大连星海会展旅游集团有限公司人员招聘笔试参考试题及答案详解
- 2026年中国铁道建筑集团有限公司人员招聘笔试参考试题及答案详解
- 2026年宝鸡石油机械有限责任公司人员招聘参考题库及答案详解
- 2026年重庆机电控股集团公司人员招聘考试题库及答案详解
- 2026年天津津融投资服务集团有限公司人员招聘参考题库及答案详解
- 2026济南泉商调解中心公开招聘司法助理笔试备考题库及答案解析
- 2026年齐鲁股权交易中心有限公司人员招聘考试参考试题及答案详解
- 2026年重庆化医控股集团公司人员招聘考试备考试题及答案详解
- 2026年深圳市深粮控股股份有限公司人员招聘考试备考题库及答案详解
- 2026年昆明市粮油购销有限责任公司人员招聘考试题库及答案详解
- 服装设计师作品组绩效衡量表
- 河南省部分高中2026-2027学年高二上学期9月联考数学试卷(含答案)
- 2025“外研社国才杯”“理解当代中国”外语能力综合能力赛项(英语组)模拟样卷
- 2026年河北高考历史真题(试卷+解析)
- 人教版2026-2027学年高中物理必修第三册第9章-13章期中测试卷(含解析)
- 2026畜禽种业自主创新与核心种群建设战略研究报告
- 2026年企业合规师初级题库及答案
- 2026年陕西事业编考试综合管理模拟题及答案
- 2026年武汉市中考语文试卷(含答案)
- 陕西科技大学教师专业技术职务评审工作实施办法(试行)
- 高中历史课件-第6课-全球航路的开辟
评论
0/150
提交评论