Activiti6.0下activiti-app、activiti-admin、activiti-rest的基本配置,详见上文:https://www.cnblogs.com/gdjlc/p/16703897.html
下面实现一个简单请假流程。
一、创建流程
1、登录http://localhost:8080/activiti-app/
2、点击Kickstart App -> Create Process -> Model name : 请假审批流程,Model key : holiday
点击“Create new model”按钮后,系统打开流程设计器。
这里流程简单设计为 开始->经理审批->总经理审批->结束
在左边Activities -> User task 拖动2次到主界面上,代表经理、总经理节点。
最后End Events -> End event拖到最后面,为结束节点。
点击节点会出现一些图标选项,点击箭头可以拖到下一个节点。其中经理审批节点,点击“Assignments”,弹出窗口中Identity store选项卡,点击“Assignment”,选择“assigned to single user”,表示指定的单个用户审批,在下面的“Search”中输入数据库中的用户,如Fozzie。同样总经理审批也选择用户Gonzo审批。
节点的设置如下图所示,最后点左上角保存按钮。
二、创建App
保存流程后,点击页面导航的“Apps”->“Create App”,输入App名称和key值。
提交后,点击“Edit included models”,在弹出窗口中点击上一步创建的流程,右上角会出现一个选择的加号,点击Close关闭窗口。最终如下:
点击左上角保存按钮,在弹出窗口中勾选“Publish?...”选项,点击保存。
回到系统activiti-app首页,出现“请假审批流程App”。
登录http://localhost:8080/activiti-admin,在deployments菜单下可以见到这条部署的流程。
三、发起、审批流程
1、发起流程
回到系统activiti-app首页,点击“请假审批流程”App -> Processes -> Processes -> Start a process -> Start process
点击启动流程后,如下图
2、审批流程
用当前审批人 fozzie 登录http://localhost:8080/activiti-app,点击“请假审批流程”,进入如下界面
点击“Complete”按钮提交。
点击“Show diagram”显示的流程图如下
退出fozzie账户,重新打开浏览器,用当前审批人 gonzo 登录http://localhost:8080/activiti-app进行审批
登录http://localhost:8080/activiti-admin,在Instances菜单下可以查询上面发起的流程实例。
点击流程实例名称,显示审批的过程。
四、使用Activiti REST API发起、审批流程
打开http://localhost:8080/activiti-rest/docs/打开Swagger UI,输入kermit kermit登录。
1、发起流程
点击“Process Instances”,点击第3个POST /runtime/process-instances(开始一个流程实例)
body中输入如下json,key值为上面创建的流程key:
{
"processDefinitionKey":"holiday"
}
点击“Try it out”按钮执行。
返回值如下,15001为流程实例Id:
{ "id": "15001", "url": "http://localhost:8080/activiti-rest/service/runtime/process-instances/15001", "businessKey": null, "suspended": false, "ended": false, "processDefinitionId": "holiday:1:12504", "processDefinitionUrl": "http://localhost:8080/activiti-rest/service/repository/process-definitions/holiday:1:12504", "processDefinitionKey": "holiday", "activityId": null, "variables": [], "tenantId": "", "name": null, "completed": false }
此时在http://localhost:8080/activiti-admin/#/process-instances可以查看到发起的流程实例。
2、审批流程
点击Swagger UI“Tasks”,点击 POST /runtime/tasks/{taskId}
{taskId}可以在http://localhost:8080/activiti-admin/#/process-instances查询到,如下,为15008:
也可以通过上面的流程实例Id:15001,请求接口GET /runtime/tasks查询任务:
POST /runtime/tasks/{taskId}接口的参数如下
点击右上角的感叹号,输入授权信息。
最后点击“Try it out”按钮执行。
此时查询http://localhost:8080/activiti-admin/#/process-instance/15001,结果如下,已经成功执行。