流程图
子流程图
主流程图
代码环节
//加载配置文件获取核心工厂类
ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
/**
* 部署流程
*/
@Test
public void getProceesDefintion() {
//利用流的形式获取 bpmn png
InputStream intInputStreamBpmn=this.getClass().getResourceAsStream("Callactivity_01.bpmn");
InputStream intInputStreamPng=this.getClass().getResourceAsStream("Callactivity_01.png");
InputStream intInputStreamBpmnCallBpmn=this.getClass().getResourceAsStream("Callactivity.bpmn");
InputStream intInputStreamPngCallPng=this.getClass().getResourceAsStream("Callactivity.png");
Deployment deployment= processEngine.getRepositoryService()//获取流程部署对象相关的service
.createDeployment()//创建一个部署对象
.name("请假申请")//完成部署名称
.addInputStream("Callactivity_01.bpmn", intInputStreamBpmn)
.addInputStream("Callactivity_01.png", intInputStreamPng)
.addInputStream("Callactivity.bpmn", intInputStreamBpmnCallBpmn)
.addInputStream("Callactivity.png",intInputStreamPngCallPng)
.deploy();//完成部署
System.err.println("部署名称:"+deployment.getName());
System.err.println("部署id:"+deployment.getId());
}
/**
* 启动流程实例
*/
@Test
public void startProcessInstance() {
String processDefinitionKey="Callactivity";
//使用key 会安装最新的版本
Map<String, Object> map=new HashMap<String,Object>();
map.put("inputUser","cc");
String businessKey="EtEmergencyinfo:1";
ProcessInstance poInstance= processEngine.getRuntimeService()
.startProcessInstanceByKey(processDefinitionKey,businessKey,map);
System.err.println("流程定义id:"+poInstance.getId());
System.err.println("流程定义名称:"+poInstance.getName());
System.err.println("流程实列Id:"+poInstance.getProcessDefinitionId());
}
/**
* 查看个人任务
*
*/
@Test
public void getTask() {
Task task=processEngine.getTaskService().createTaskQuery().taskAssignee("cc").singleResult();
System.err.println(task.getId());
System.err.println(task.getName());
}
/**
* 完成个人任务
*/
@Test
public void comeleteMypersonalTask() {
//任务id
String taskId="7508";
Map<String ,Object> varibles=new HashMap<String,Object>();
varibles.put("message", "主管审批");
//完成任务的同时同时设置流程变量
System.err.println("任务id已完成"+taskId);
processEngine.getTaskService().complete(taskId);
System.err.println("执行完成");
}
}