简单流程测试(部署到审核)(2)

来源:互联网 发布:阿里云 域名 编辑:程序博客网 时间:2024/06/03 17:40


/** * 方法 :简单流程部署的测试方法 * @title: test  * @param  * @return void   * @date 2015-7-4 创建  zp */public void test(){  // Deploy the process definitionrepositoryService.createDeployment().addClasspathResource("/com/future/sem/resource/activiti/diagrams/testGW.bpmn").deploy();    // Start a process instance    String procId = runtimeService.startProcessInstanceByKey("financialReport").getId();       List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("accountancy").list();    for (Task task : tasks) {      System.out.println("Following task is available for accountancy group: " + task.getName());      // claim it      taskService.claim(task.getId(), "fozzie");    }    // Verify Fozzie can now retrieve the task    tasks = taskService.createTaskQuery().taskAssignee("fozzie").list();    for (Task task : tasks) {      System.out.println("Task for fozzie: " + task.getName());      // Complete the task      taskService.complete(task.getId());    }    System.out.println("Number of tasks for fozzie: "            + taskService.createTaskQuery().taskAssignee("fozzie").count());    // Retrieve and claim the second task    tasks = taskService.createTaskQuery().taskCandidateGroup("management").list();    for (Task task : tasks) {      System.out.println("Following task is available for accountancy group: " + task.getName());      taskService.claim(task.getId(), "kermit");    }    // Completing the second task ends the process    for (Task task : tasks) {      taskService.complete(task.getId());    }       HistoricProcessInstance historicProcessInstance =      historyService.createHistoricProcessInstanceQuery().processInstanceId(procId).singleResult();    System.out.println("Process instance end time: " + historicProcessInstance.getEndTime());        List listh2 = historyService.createHistoricDetailQuery()    .formProperties()    .processInstanceId(procId)    .orderByVariableName().asc()    .list();    }

部署流程定义

/** * 部署流程定义 */@Testpublic void deploymentProcessDefinition() {    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();    Deployment deployment = processEngine.getRepositoryService()// 与流程定义和部署对象相关的Service            .createDeployment() // 创建一个部署对象            .name("activiti").addClasspathResource("helloworld.bpmn")// 从classpath的资源中加载            .addClasspathResource("helloworld.png").deploy(); // 完成部署    System.out.println("ID: " + deployment.getId());    System.out.println("name: " + deployment.getName());}

这里使用 RepositoryService 部署流程定义 addClasspathResource表示从类路径下加载资源文件,一次只能加载一个文件

启动流程实例

/** * 启动流程实例 */@Testpublic void startProcessInstance() {    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();    String processDefinitionKey = "helloworld";    ProcessInstance pi = processEngine.getRuntimeService()            .startProcessInstanceByKey(processDefinitionKey);    System.out.println("流程实例ID:" + pi.getId());    System.out.println("流程定义ID:" + pi.getProcessDefinitionId());}

这里使用 RuntimeService 启动流程实例

查看我的个人任务

/** * 查询当前人的个人认为 */@Testpublic void findMyPersonTask() {    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();    String assignee = "张三";    List<Task> list = processEngine.getTaskService().createTaskQuery()            .taskAssignee(assignee).list();    for (Task task : list) {        System.out.println(task.getId());        System.out.println(task.getName());        System.out.println(task.getCreateTime());        System.out.println(task.getAssignee());    }}

这里使用 TaskService 完成任务的查询

完成我的个人任务

/** * 完成我的任务 */@Testpublic void completeMyPersonTask() {    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();    String taskId = "104";    processEngine.getTaskService().complete(taskId);    System.out.println("完成任务:" + taskId);}
这里使用 TaskService 完成任务的办理

0 0
原创粉丝点击