• Flowable多实例会签功能来袭


    文章的最下面有学习视频与源代码

    拒绝重复造轮子了,有这个流程平台就够了

    会签、或签

    会签 ABC三人都审批通过才能进入下一节点 (三人都可以看到任务)

    或签 其中一人通过 即可进入下一节点 (三人都可以看到任务)

    流程步骤

    • 部署流程
    • 启动流程
    • 查看代办
    • 审批流程
    • 流程结束

    流程图绘制说明

    表示:所有人全部审批成功才能进入下一节点
    ${nrOfCompletedInstances/nrOfInstances == 1}
    
    • 1

    bpmn

    请假会签.bpmn20.xml

    功能说明:

    优化

    • 流程图:Query return 3 results instead of max 1

    帮助文档:https://blog.csdn.net/qq_43586337/article/details/108019718

    • 会签得时候需要Map

    报错:Variable ‘assigneeList’:[songxy,admin,ypmm] is not a Collection

    流程走向说明

    发起申请节点-启动流程

    接口:

    http://localhost:8089/flow/start-flowable
    入参

    {
    	"map": {
    "startUserId":"songxy"
    },
    	"processDefinitionKey": "yqmm-qj-key"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    经理会签节点入参

    接口:http://localhost:8089/flow/accept-or-reject

    入参格式:

    {
    	"map": {
    "assigneeList":"songxy,admin,ypmm"
    },
    	"taskId": "2794800d-35cb-11ed-9e6a-dc41a90b0909",
    	"userId": "songxy"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    后台:

    一般企业级会签开发基本上都是在前台送用户过来(然而这个用户都是通过角色去查询得到得)拿到代码根据自己的实际优化此接口。SteveCode只是想做通用才这么做的

     // TODO 一般企业级会签开发基本上都是在前台送用户过来(然而这个用户都是通过角色去查询得到得)拿到代码根据自己的实际优化此接口。SteveCode只是想做通用才这么做的
            //会签时 入参String转List
             Map<String, Object> map = dto.getMap();
            if (Objects.nonNull(map)) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
            String value = (String)entry.getValue();
            String[] values = value.split(",");
            if (values.length > 1) {
            entry.setValue(Arrays.asList(values));
            }
            }
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    会签数据sql查询脚本
    SELECT * FROM ACT_RU_TASK WHERE NAME_ ='经理会签'
    
    • 1

    在这里插入图片描述

    三人同查自己代办

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    三人都去做审批

    举一个例子

    接口:

    http://localhost:8089/flow/accept-or-reject

    入参

    {
    	"taskId": "09335781-3626-11ed-a997-dc41a90b0909",
    	"userId": "ypmm"
    }
    
    • 1
    • 2
    • 3
    • 4

    最后查询流程图

    接口

    http://localhost:8089/flow/get-flow-chart?processId=a1d369bc-3625-11ed-a997-dc41a90b0909

    此时时查不到流程图的。因为流程已经走完了


    记录一下该 睡觉了

    让天下没有难开发的流程。

    学习视频

  • 相关阅读:
    市场研究:3D打印材料行业规模政策及发展趋势调研分析
    代码随想录第45天|70. 爬楼梯 (进阶)322. 零钱兑换
    iMovie for Mac v10.3.9(视频剪辑)
    项目实战——配置MySQL与Spring Security模块
    面试题:集群高并发环境下如何保证分布式唯一全局ID生成?
    Mysql索引、事务、存储引擎
    DevChat:VSCode中的AI黑马
    抖音小店“自然流量”和“达人带货”有什么区别?谁更适合新手?
    DBeaver Ultimate Edtion 22.1 Multilingual (macOS, Linux, Windows) - 通用数据库工具
    病毒消灭战-第13届蓝桥杯Scratch选拔赛真题精选
  • 原文地址:https://blog.csdn.net/weixin_48278764/article/details/126920927