




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 证券从业资格证内容分析试题及答案
- 餐厅保洁托管方案范本
- 2025年会计实务应用试题及答案
- 医院净化工程施工方案
- 共享农田托管方案范本
- 项目管理工具对效率提升的影响考题及答案
- 2024年项目管理专业人士资格考试全新试题及答案
- 校园车牌订购方案范本
- 银行从业资格实践案例分享试题及答案
- 2024年项目管理效果评估试题及答案
- 汽轮机课件完整版本
- 《电子商务数据分析》教学大纲
- 医疗面试自我介绍
- 红色家书课件背景
- 拆地砖砸坏地暖的合同(2篇)
- 2024员工质量意识培训
- 《固体废物处理与处置》大学笔记
- 医疗机构安全管理制度与实施细则
- 针刺伤预防与处理-2024中华护理学会团体标准
- 制造业生产流程手册
- 2023年安徽公务员乡镇岗位面试真题及解析
评论
0/150
提交评论