版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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描述文件。 assigneeList $result != 2 Java 代码:package com.listener;import java.util.ArrayList;import java.util.List;import org.activiti.engine.delegate.DelegateTask;import org.activiti.engine.delegate.TaskListener;public class Mylistener
3、implements TaskListener private static int a=0;public void notify(DelegateTask delegateTask) / 获取事件名称String eventName = delegateTask.getEventName();/ 获取任务idString taskId = delegateTask.getId();/ 获取节点键String taskKey = delegateTask.getTaskDefinitionKey(); /userTask3/ 获取流程定义编号String procDefId = delegat
4、eTask.getProcessDefinitionId();/ 获取流程实例编号String procInstId = delegateTask.getProcessInstanceId();/ 获取节点名称List list = (ArrayList)delegateTask.getVariable(assigneeList);if (create.equals(eventName) /初始化会签人员信息/初始化业务规则 else if (complete.equals(eventName) /执行业务规则if(delegateTask.getAssignee().toString().t
5、rim().equals(zhangsan)delegateTask.setVariable(result, 1);elsedelegateTask.setVariable(result, 2);if(delegateTask.getAssignee().toString().trim().equals(lisi)delegateTask.setVariable(result, 1);elsedelegateTask.setVariable(result, 2);if(delegateTask.getAssignee().toString().trim().equals(libo)delega
6、teTask.setVariable(result, 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)delegateTask.setVariable(result, 1
7、);elsedelegateTask.setVariable(result, 2);if(delegateTask.getAssignee().toString().trim().equals(yunsi)delegateTask.setVariable(result, 1);elsedelegateTask.setVariable(result, 2);Java 测试:package com.listener;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.M
8、ap;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.activiti.engine.RepositoryService;import org.activiti.engine.RuntimeService;import org.activiti.engine.TaskService;import org.activiti.engine.repository.Deployment;import org.activiti.engine.
9、repository.ProcessDefinition;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;public class Test org.junit.Testpublic void bbTest() / 创建一个流程数据源的配置ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(diagrams/activ
10、iti.cfg.xml).buildProcessEngine();/ 获取数据源连接的服务RepositoryService repositoryService = processEngine.getRepositoryService();/ 读取配置流程配置文件对象Deployment deployment = repositoryService.createDeployment().addClasspathResource(diagrams/MyProcess.bpmn20.xml).deploy();/ 发布到数据库中ProcessDefinition pdf = repository
11、Service.createProcessDefinitionQuery().deploymentId(deployment.getId().singleResult();/ 开启一个服务RuntimeService runtimeService = processEngine.getRuntimeService(); /* * 定义流程中的参数 */ 建立一个集合存放流程中的参数Map model = new HashMap();/ 开启流程的人model.put(user, 胖子);/ 行政审核人model.put(manager, 肖正伟);/ 审核结果model.put(backtra
12、ck, yes);/ 会签 (将所有参与会签的人放入list集合中)List list = new ArrayList();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.startProcessInstanceById(pdf.getId(), model);/ 节点服务Task
13、Service service = processEngine.getTaskService();/ 获取节点/* * 拟稿 */List tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(胖子).list();for (Task task : tasks) plete(task.getId();System.out.println(task.getName();/ 行政审核节点tasks = service.createTaskQuery(
14、).processInstanceId(pi.getProcessInstanceId().taskAssignee(肖正伟).list();for (Task task : tasks) plete(task.getId();System.out.println(行政部经理审核);/* * * * */tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(zhangsan).list();for (Task task2 : tasks) ser
15、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.createTaskQu
16、ery().processInstanceId(pi.getProcessInstanceId().taskAssignee(libo).list();for (Task task : tasks) plete(task.getId();System.out.println(task.getAssignee();tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(xiao).list();for (Task task : tasks) plete(task.getId();System.out.println(task.getAssignee();tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(haha).list();for (Task task : tasks) ser
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学大二(海洋科学)海洋化学基础理论测试题及答案
- 2025年高职工业机器人技术(PLC编程应用)试题及答案
- 2025年大学药膳与食疗(药膳食疗基础)试题及答案
- 2025年中职车辆维修(电气系统保养框架工具)试题及答案
- 企业《生态环境保护培训计划》
- 神仙居介绍教学课件
- 内蒙古赤峰市宁城县八里罕中学2025-2026学年高二上学期期末考试历史试卷(含答案)
- 2022-2023学年广东深圳罗湖区九年级上学期11月考历史试题含答案
- 2026年宿州学院高层次人才公开招聘预备考题库及1套参考答案详解
- 2025云南昭通新华书店有限公司招聘工作人员3人备考题库及一套完整答案详解
- 孕妇贫血教学课件
- 超市冷库应急预案(3篇)
- 5年(2021-2025)山东高考生物真题分类汇编:专题17 基因工程(解析版)
- 2025年10月自考00610高级日语(二)试题及答案
- 新华资产招聘笔试题库2025
- 2025年中国潜孔钻机行业细分市场研究及重点企业深度调查分析报告
- 食品经营场所及设施设备清洗消毒和维修保养制度
- 2026年辽宁轨道交通职业学院单招职业技能测试题库必考题
- 老年人远离非法集资讲座
- 沙子石子采购合同范本
- 名词单数变复数教案
评论
0/150
提交评论