activiti 设置变量(四)
来源:互联网 发布:stm单片机教程 编辑:程序博客网 时间:2024/06/06 09:02
package diagrams;import java.io.InputStream;import java.io.Serializable;import java.util.Date;import java.util.List;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.TaskService;import org.activiti.engine.history.HistoricVariableInstance;import org.activiti.engine.repository.Deployment;import org.activiti.engine.runtime.ProcessInstance;import org.junit.Test;/** * 设置变量 * * @author ZHEN.L * */public class ProcessVariablesTest {ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();/** * 部署流程定义<br> * select * from act_re_deployment ; * */@Testpublic void deploymentProcessInstance() {InputStream bpmn = this.getClass().getResourceAsStream("/diagrams/LeaveProcess.bpmn");InputStream png = this.getClass().getResourceAsStream("/diagrams/LeaveProcess.png");Deployment deployment = processEngine.getRepositoryService().createDeployment().addInputStream("LeaveProcess.bpmn", bpmn).addInputStream("LeaveProcess.png", png).name("汇信请假流程").deploy();System.out.println(deployment.getId());System.out.println(deployment.getName());}/** * 启动流程实例<br> * select * from act_ru_task; */@Testpublic void startProcessInstance() {List<ProcessInstance> list = processEngine.getRuntimeService().createProcessInstanceQuery().processDefinitionKey("myProcess").list();if (list != null && list.size() > 0) {for (ProcessInstance p : list) {System.out.println(p.getId() + " " + p.getProcessInstanceId());}}}/** * 设置参数 */@Testpublic void setVariables() {String taskId = "2002";TaskService taskService = processEngine.getTaskService();taskService.setVariableLocal(taskId, "请假天数", 3);taskService.setVariable(taskId, "请假原因", "世界这么大,想去看看。");taskService.setVariable(taskId, "请假日期", new Date());// 设置javabeanPerson p = new Person.decorate().name("东方不败").age(133).address("黑木崖").birthday(new Date()).build();taskService.setVariable(taskId, "人员信息", p);}/** * 获取参数 */@Testpublic void getVariables() {String taskId = "2002";TaskService taskService = processEngine.getTaskService();Integer day = (Integer) taskService.getVariable(taskId, "请假天数");Date date = (Date) taskService.getVariable(taskId, "请假日期");String reason = (String) taskService.getVariable(taskId, "请假原因");System.out.println(date + "" + reason + " " + day);// 获取javabeanPerson p = (Person)taskService.getVariable(taskId, "人员信息");System.out.println(p.getName()+"; "+p.getAge()+"; "+p.getAddress()+"; "+p.getBirthday());}/** * 完成任务 */@Testpublic void completeTask(){String taskId = "2002";processEngine.getTaskService().complete(taskId);}/** * 查询完成历史 */@Testpublic void findHistoricVariables(){List<HistoricVariableInstance> list = processEngine.getHistoryService().createHistoricVariableInstanceQuery().variableName("人员信息").list();if(list != null && list.size() > 0){for(HistoricVariableInstance h:list){System.out.println(h.getVariableName() +"; "+h.getVariableTypeName()+"; "+h.getValue());}}}}class Person implements Serializable {private static final long serialVersionUID = -8977772771107623992L;private String name;private int age;private String address;private Date birthday;private Person() {}public static class decorate {Person p = null;public decorate() {this.p = new Person();}public decorate name(String name) {this.p.setName(name);return this;}public decorate address(String address) {this.p.setAddress(address);return this;}public decorate age(int age) {this.p.setAge(age);return this;}public decorate birthday(Date birthday) {this.p.setBirthday(birthday);return this;}public Person build() {return this.p;}}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}}
0 0
- activiti 设置变量(四)
- Activiti(四)流程变量
- Activiti(四)流程变量
- Activiti进阶(四)——流程变量的设置和获取
- Activiti进阶(四)——流程变量的设置和获取
- Activiti(四)——流程变量的设置和获取
- Activiti进阶(四)——流程变量的设置和获取
- 【Activiti 基础篇四】流程变量设置与获取方式
- activiti 设置流程变量
- 工作流Activiti 变量设置问题
- Activiti流程变量的设置与获取(五)
- activiti表单设置节点的默认变量
- Activiti工作流学习(四)
- 工作流引擎Activiti学习第四天(七)--- 设置获取与流程变量
- Activiti入门教程四(自定义Activiti命令拦截器)
- 【入门篇】Activiti设置局部变量两种方法
- 【入门篇】Activiti设置全局变量的四种方法
- 工作流框架--activiti(三)--流程变量
- Java遗忘笔记(1)
- Android 6.0动态申请权限实践及遇到的坑
- DAO 设计的实现:
- The summary of Java
- pktgen 基本使用
- activiti 设置变量(四)
- Please ensure that adb is correctly located at 最新详细方案
- 宏定义中的"#"、"##"、"..."、"__VA_AGRS__"
- NYOJ 991 Registration system
- 准备写一个android的小说下载工具, 目前阅读分页,还有翻页特效难住了, 哎!!! 继续研究
- 百度语音用法小结
- 新建软件工程的讲解
- UCOSIII消息传递(消息队列)(待更)
- 49. Group Anagrams 【M】【47】