gdjlc

培养良好的习惯,每天一点一滴的进步,终将会有收获。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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,结果如下,已经成功执行。

 

posted on 2022-09-19 23:42  gdjlc  阅读(824)  评论(0编辑  收藏  举报