activiti工作流定制并生成bpmn文件

1、下载activiti工作流源码,下载完成后将,activiti-app.war部署到tomcat容器中

2、启动tomcat,启动成功后,访问http://localhost:8080/activiti-app/#/login;出现如下界面,输入用户名(admin)密码(test),登录

activiti工作流定制并生成bpmn文件_第1张图片

3、登录成功后,显示下面界面。

activiti工作流定制并生成bpmn文件_第2张图片

4、选择Kickstart App项,显示如下界面,由于我做过三个测试因此,这里有三个已经定制的工作,如果第一次进行,显示为空。

activiti工作流定制并生成bpmn文件_第3张图片

5、选择 Create Process 选项,创建工作流,显示如下界面

activiti工作流定制并生成bpmn文件_第4张图片

6、输入工作流名称,工作流标识等信息,选择Create new model选项,就进入了工作流定制界面。系统并已经在操作区为我们创建了一个圆圈,这个圆圈就是启动事件,如下图:

activiti工作流定制并生成bpmn文件_第5张图片

7、选中这个圆圈(启动事件),界面下面就会出现相关的配置信息,修改这个启动事件的相关属性,需要修改的主要有三个,分别是Id,Name和Initiator。分别记录启动事件的ID,名称和实例化用户的变量。Initiator这个属性配置的变量即当前步骤的操作用户,如果在后面的步骤中不需要用到这个变量可以不用配置,如果需要用到这个变量可以用${}格式进行调用。比如我这里设置的变量为userId,则在后面的调用就可以是${userId}。这个如下图:

activiti工作流定制并生成bpmn文件_第6张图片

8、选择启动事件,会出现许多其他的按钮,然后选择头像按钮就是创建一个用户任务。如下图表示:

activiti工作流定制并生成bpmn文件_第7张图片activiti工作流定制并生成bpmn文件_第8张图片

9、选中用户任务,在下方出现用户任务的相关属性配置,配置用户任务的ID及名称,如下图:

activiti工作流定制并生成bpmn文件_第9张图片

10、然后选择Assignments选项,会弹出Assignment对话框用于配置这个任务相关的操作用户信息,如下图:

activiti工作流定制并生成bpmn文件_第10张图片

11、选择Fixed values选项卡,出现如下界面:

activiti工作流定制并生成bpmn文件_第11张图片

12、这个界面中一个有三个配置,Assignee,Candidate Users,Candidate groups,分别配置当前一个操作用户,多个用户和多个用户组。如果我需要设置当前操作用户为第一步的创建人,可以在Assignee中输入${userId},则这一步的操作人不是第一步的创建人(因为我在第一步创建了一个userId变量记录第一步的操作人,因此在这里可以使用这个变量)。当前也可以指定一个用户,直接输入用户ID即可。如下图的配置:

activiti工作流定制并生成bpmn文件_第12张图片activiti工作流定制并生成bpmn文件_第13张图片

13、然后再选中审核任务这个任务,在右边出现的按钮中选择有叉号的按钮,这个是用于控制流程分支,即根据判断的结果进行分支。如下图:

activiti工作流定制并生成bpmn文件_第14张图片activiti工作流定制并生成bpmn文件_第15张图片

14、选中分支结点,然后创建两个任务,一个用户任务,一个结束任务(两个圆圈的即结束任务),修改用户为重新修改,并退回到审核任务,设置用户为第一步的操作人,如下图:

activiti工作流定制并生成bpmn文件_第16张图片

activiti工作流定制并生成bpmn文件_第17张图片

activiti工作流定制并生成bpmn文件_第18张图片

15、选择分支节点和重新修改任务之间的那条连接线,修改连接线的属性配置,在连接线的flow Condition选项中需要输入审核的状态,我这里配置了pass变量,因此在做工作流流转功能时,需要针对这个工作流设置一个pass变量用于控制工作流的流转状态如下图:

activiti工作流定制并生成bpmn文件_第19张图片

activiti工作流定制并生成bpmn文件_第20张图片

activiti工作流定制并生成bpmn文件_第21张图片

16、设置分支任务和结束任务之间的连接线,如下图:

activiti工作流定制并生成bpmn文件_第22张图片

activiti工作流定制并生成bpmn文件_第23张图片

activiti工作流定制并生成bpmn文件_第24张图片

17、到这里,这个流程就设置完了。这个流程是:当一个用户填写完申请表单后,发送给当前这个用户审核,如果这个用户审核不通过,再返回当前用户重新修改表单,再次提交给自己审核,如果审核通过则结束流程。

在整个流程中设置了两个变量,一个为userId变量,一个为pass变量。由于userId变量为第一步时工作流指定的,因此我们在进行编码时不需要考虑,但是pass变量是需要我们在做审核操作时,需要设置的变量。

另外由于我们主用了一个用户不涉及用户组的问题,但是我们在实际的工作流中需要和我们自己的用户组进行定制,因此需要涉及我们自己的用户及用户组同activiti相关接口的对接问题。我在后续补充自定义用户及用户组相关的说明。

附 生成的文件内容:



  
    test
    
    
      
        
      
    
    
    
    
    
      
        
      
    
    
    
    
      
    
    
      
    
  
  
    
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
        
      
      
        
        
        
      
      
        
        
      
      
        
        
      
      
        
        
      
    
  

 

你可能感兴趣的:(JAVA,activiti,JAVA,ACTIVITI)