jbpm4.4 启动,查询任务,做任务,参数

来源:互联网 发布:李阳家暴 知乎 编辑:程序博客网 时间:2024/09/21 09:06
@Testpublic void getResourceNameByDeployment() {Set<String> resourceNames = processEngine.getRepositoryService().getResourceNames("100001");// 获取资源名称for (String s : resourceNames) {System.out.println(s);}}@Testpublic void getResourceByDeployment() {// 获取资源并下载到本地InputStream is = processEngine.getRepositoryService().getResourceAsStream("70001", "test.jpdl.xml");InputStreamReader isr = null;OutputStreamWriter osw = null;try {isr = new InputStreamReader(is);osw = new OutputStreamWriter(new FileOutputStream("c:/test.jpdl.xml"), "utf-8");char[] b = new char[1024];while (isr.read(b) != -1) {osw.write(b);osw.flush();}} catch (Exception e) {e.printStackTrace();} finally {try {osw.close();isr.close();} catch (IOException e) {e.printStackTrace();}}}@Testpublic void start() {org.jbpm.api.ProcessInstance pi = processEngine.getExecutionService()//.startProcessInstanceByKey("cccs");// 通过key启动流程System.out.println("   state=" + pi.getState() + "   active=" + pi.findActiveActivityNames());}@Testpublic void startByParam() {// 带参数启动Map<String, Object> params = new HashMap<String, Object>();params.put("name", "张三");org.jbpm.api.ProcessInstance pi = processEngine.getExecutionService()//.startProcessInstanceByKey("cccs", params);// 通过key启动流程System.out.println("   state=" + pi.getState() + "   active=" + pi.findActiveActivityNames());}@Testpublic void takeTask() {// 拾取任务列表processEngine.getTaskService()//.takeTask("580003", "a"); // taskId userId}@Testpublic void myTask() {// zs的任务列表List<Task> tasks = processEngine.getTaskService()//.findPersonalTasks("zs");for (Task task : tasks) {System.out.println("  active=" + task.getActivityName() + "  id=" + task.getId() + "  executionId=" + task.getExecutionId());}}@Testpublic void myGroupTask() {// 组任务列表List<Task> tasks = processEngine.getTaskService()//.findGroupTasks("b");for (Task task : tasks) {System.out.println("  active=" + task.getActivityName() + "  id=" + task.getId() + "  executionId=" + task.getExecutionId());}}@Testpublic void doTask01() {// 完成任务processEngine.getTaskService()//.completeTask("550003");// taskId}@Testpublic void doTask02() {// 走多个任务中选择一个路线processEngine.getTaskService()//.completeTask("480003", "to 经理审批");// taskId outcome}@Testpublic void doTaskByParam() {// 完成任务,带参数Map<String, Object> params = new HashMap<String, Object>();params.put("day", "2");processEngine.getTaskService()//.completeTask("480003", params);// taskId}@Testpublic void setParams() {// 设置参数Map<String, Object> params = new HashMap<String, Object>();params.put("a", "aaa");params.put("b", "bbb");params.put("c", "ccc");String executionId = "leave.130001";processEngine.getExecutionService().setVariables(executionId, params);// 设置多个参数// processEngine.getExecutionService().setVariable(executionId, "111", "aaa");// 设置一个参数String taskId = "140001";processEngine.getTaskService().setVariables(taskId, params);User user = new User();user.setId(1l);user.setName("张三");params.put("user", user);processEngine.getTaskService().setVariables(taskId, params);}@Testpublic void getParams() {// 设置参数String executionId = "leave.130001";Object variable = processEngine.getExecutionService().getVariable(executionId, "c");System.out.println(variable);String taskId = "140001";Object variable2 = processEngine.getTaskService().getVariable(taskId, "user");// 会有懒加载异常System.out.println(variable2);Set<String> variableNames = processEngine.getTaskService().getVariableNames(taskId);System.out.println(variableNames);}

详细相关项目实例,可到我的资料列表去下载

http://download.csdn.net/detail/albert_lz/6744245

0 0