• Activiti6.0下activitiapp实现一个简单请假流程


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

  • 相关阅读:
    可重入与不可重入
    clash for windows的一些常用使用方法
    解决php7 表单提交不了太多元素
    CppSQLite3 的一些容易错误点
    Dckerfile CMD不同格式的区别
    async/await的理解
    CSS 学习三
    css学习一
    css学习二
    css学习四
  • 原文地址:https://www.cnblogs.com/gdjlc/p/16709603.html
Copyright © 2020-2023  润新知