您的位置:首页 > 其它

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

2015-07-04 18:01 274 查看
/**
* 方法 :简单流程部署的测试方法
* @title: test
* @param
* @return void
* @date 2015-7-4 创建  zp
*/
public void test(){
// Deploy the process definition
repositoryService.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();
}



部署流程定义

/**
* 部署流程定义
*/
@Test
public 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表示从类路径下加载资源文件,一次只能加载一个文件


启动流程实例

/**
* 启动流程实例
*/
@Test
public 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 启动流程实例


查看我的个人任务

/**
* 查询当前人的个人认为
*/
@Test
public 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 完成任务的查询

完成我的个人任务
/**
* 完成我的任务
*/
@Test
public void completeMyPersonTask() {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
String taskId = "104";
processEngine.getTaskService().complete(taskId);

System.out.println("完成任务:" + taskId);
}
这里使用 TaskService 完成任务的办理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: