工作流-activity-callactivity-调用子流程-入门

流程图
项目结构
子流程图
在这里插入图片描述
主流程图
在这里插入图片描述
代码环节

//加载配置文件获取核心工厂类
    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("执行完成");
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值