springboot整合activity6_ HelloWorld实现(无废话版)--------------------------------------------(二)

1.源码地址:https://github.com/heidaodageshiwo/springbootactivity

1.我这里没有用单元测试(@Test)junit  我用的是controller请求的方式来访问

2.流程图我是使用的eclipse画的(感觉idea画的有点丑,就没用)

 

 

流程图就画完事了。

 // * 部署流程定义
  @RequestMapping("/deployWithClassPath")
  public String deployWithClassPath() {
    Deployment deployment= repositoryService.createDeployment()
        .addClasspathResource("helloworld/Helloworld.bpmn")
        .addClasspathResource("helloworld/Helloworld.png")
        .name("HelloWorld流程")
        .deploy();
    System.out.println("流程部署ID:"+deployment.getId());
    System.out.println("流程部署Name:"+deployment.getName());
    return "deployWithClassPath";
  }

界面请求

控制台打印

运行deployWithClassPath方法,部署流程定义,这时候我们的流程定义表会发生一些变化;

首先act_re_deployment 流程定义部署表,插入了一条数据;

 

然后act_re_prodef 流程定义表也会有插入一条数据;这里有流程定义id name key version等重要信息;

 

还有一个act_ge_bytearray表 用来存资源信息;

以上是部署流程定义 数据库表里发生的事情;

我们要启动流程实例,这样一个流程才开始;

然后我们继续 ,下面来启动流程实例;

运行start方法;

  // *  启动流程实例
  @RequestMapping("/start")
  public String start() {
    ProcessInstance processInstance= runtimeService.startProcessInstanceByKey("myFirstProcess");
    System.out.println("流程实例ID:"+processInstance.getId());
    System.out.println("流程定义ID:"+processInstance.getProcessDefinitionId());
    return "start";
  }

启动流程,数据库流程运行表也会发生相应的变化;

首先是运行时流程任务表:act_ru_task;插入了一条任务数据;

 

 

 

 

ID_是任务id 数据2505    ; PROC_INST_ID_是流程实例ID 2501 以及Name 创建时间等;

接下来是act_ru_execution 运行时流程执行表;

这里的话 存的流程执行相关信息;

 

接下来是act_ru_identitylink 是于执行主体相关信息表;这里是用具体的用户去执行的

流程实例启动完,接下来就到了helloWorld任务节点;

我们这时候可以来查看下 "张强" 的任务;

  // *  查看任务
  @RequestMapping("/findTask")
  public String findTask() {
    List <Task> taskList= taskService.createTaskQuery().taskAssignee("张强").list();
    for(Task task:taskList){
      System.out.println("任务id:"+task.getId());
      System.out.println("任务名称:"+task.getName());
      System.out.println("任务创建时间:"+task.getCreateTime());
      System.out.println("任务委派人:"+task.getAssignee());
      System.out.println("流程定义ID:"+task.getProcessDefinitionId());
      System.out.println("流程实例ID:"+task.getProcessInstanceId());
    }

    return "findTask";
  }

运行findTask方法,控制台输出;

 

说明这个用户有任务可以执行;

 

我们继续走流程 执行completeTask方法;

 

执行完后,流程其实就已经走完了。

这时候我们再运行findTask,啥都没有输入,已经没有任务了;

 

 

act_hi_taskinst 历史流程实例任务表加了一条任务数据;

act_hi_procinst 历史流程实例实例表加了一条流程实例相关信息的数据(包括开始时间,结束时间等等信息);

act_hi_identitylink 历史流程实例参数者的表加了一条数据;

act_hi_actinst 历史活动节点表加了三条流程活动节点信息的数据(每个流程实例具体的执行活动节点的信息);

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值