Flowable-整合系统角色人员

news2024/9/21 4:32:54

一、整合角色人员

在设置审批人和候选人的时候,我们希望能够选取业务数据库中的用户,也是是集成系统中的用户和角色,来帮助我们快速选择审批人,不再需要通过flowable的用户。

1. 加载系统用户

在设置候选用户的时候,能够从数据库中查询用户信息,然后选择,效果如下:

实现:

首先定义查询用户的接口如下:

    /**
     * 候选用户从系统用户获取
     */
    @GetMapping("/getUserList")
    public JsonResult getUserList(@RequestParam(value = "filter", required = false) String filter) {
        List<UserRepresentation> userList = new ArrayList<>();
        // 这里模拟10个用户,实际从数据库中查询用户数据
        for (int i = 0; i < 10; i++) {
            UserRepresentation userRepresentation = new UserRepresentation();
            userRepresentation.setId(UUID.randomUUID().toString());
            userRepresentation.setFirstName("yi" + i);
            userRepresentation.setLastName("master");
            userList.add(userRepresentation);
        }
        return ResultUtil.success(userList);
    }

修改候选人请求接口,找到对应的js文件。

将上述的请求接口修改成自己定义的接口,重启项目之后,就能够加载自己提供的用户信息,选择成为候选用户,设置之后保存,下载流程定义xml可以看到,设置的候选用户实际上是用的我们接口返回的id。

因此,无需做过多的处理,上述就已经实现了,从自己的系统用户中选择候选人。

2. 加载系统角色

有时候我们设置审批人需要按照角色进行设置,将某一个角色上的所有人都设置成为审批人,这个时候就需要设置候选人组,但是默认的候选人组是不支持自己系统的角色信息的,因此我们对其进行改造。

改造方法和上述的流程差不多,一是创建自定义的查询系统角色的接口,而是修改flowable的访问接口地址。

  /**
     * 候选组
     */
    @GetMapping({"/getRoleGroupList"})
    public JsonResult getGroups(@RequestParam(value = "filter", required = false) String filter) {
        List<GroupRepresentation> representations = new ArrayList<>();
        // 这里模拟使用角色为一个候选组,实际可以是角色、岗位等,将其划分成一个候选组
        for (int i = 0; i < 10; i++) {
            GroupRepresentation representation = new GroupRepresentation();
            representation.setId(UUID.randomUUID().toString());
            representation.setName("系统管理员角色" + i);
            representation.setType("role");
            representations.add(representation);
        }
        return ResultUtil.success(representations);
    }

注意:以上只是简单介绍了,如何绘制流程图的时候选择系统中的人员和角色的方法,实际在使用的时候,可能需要加入处理用户到候选人中,以及处理角色下所有的用户到候选人组中,详细的关于候选人和候选人组的设置,可以参考前面的文档。

三、结语

上述的介绍可能比较简单,但大体思路如上,实际的使用还需要参考具体的系统和业务情况而定。

下一节:flowable-内嵌表单 Flowable-内嵌表单-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1947372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手把手教你本地运行Meta最新大模型:Llama3.1,可是它说自己是ChatGPT?

就在昨晚&#xff0c;Meta发布了可以与OpenAI掰手腕的最新开源大模型&#xff1a;Llama 3.1。 该模型共有三个版本&#xff1a; 8B70B405B 对于这次发布&#xff0c;Meta已经在超过150个涵盖广泛语言范围的基准数据集上评估了性能。此外&#xff0c;Meta还进行了广泛的人工评…

ADS 使用教程(十六)Using Sliders for Data Processing

上一篇&#xff1a;ADS 使用教程&#xff08;十五&#xff09;Multi-Dimensional Data Processing in ADS 在这一节&#xff0c;我们来谈论一下如何在进行多维数据处理时使用滑块&#xff08;Sliders&#xff09;来进行数据处理和分析。通过该方法&#xff0c;我们可以通过拖动…

SkyWalking入门搭建【apache-skywalking-apm-10.0.0】

Java学习文档 视频讲解 文章目录 一、准备二、服务启动2-1、Nacos启动2-2、SkyWalking服务端启动2-3、SkyWalking控制台启动2-4、自定义服务接入 SkyWalking 三、常用监控3-1、服务请求通过率3-2、服务请求拓扑图3-3、链路 四、日志配置五、性能剖析六、数据持久化6-1、MySQL持…

相机的内参与外参

目录 一、相机的内参二、相机的外参 一、相机的内参 如下图所示是相机的针孔模型示意图&#xff1a; 光心O所处平面是相机坐标系(O&#xff0c;P)&#xff0c;像素平面所在坐标系为像素坐标系(O’&#xff0c;P’)。 焦距f&#xff1a;O到O’的距离 相机的内参表示的是相机坐标…

运算符的运算顺序

【单目算术位关系&#xff0c;逻辑三目后赋值】 ![在这里插入图片描述] (https://i-blog.csdnimg.cn/direct/e4c8f4e22b5044a48154bf7378e3b3b3.png)

【React】useState:状态更新规则详解

文章目录 一、基本用法二、直接修改状态 vs 使用 setState 更新状态三、对象状态的更新四、深层次对象的更新五、函数式更新六、优化性能的建议 在 React 中&#xff0c;useState 是一个非常重要的 Hook&#xff0c;用于在函数组件中添加状态管理功能。正确理解和使用 useState…

同步库存扣减到数据库

跟接上文: 并发情况下的库存扣减 一 库存扣减 public DefaultTreeFactory.TreeActionEntity logic(String userId, Long strategyId, Integer awardId, String ruleValue, Date endDateTime) {log.info("规则过滤-库存扣减 userId:{} strategyId:{} awardId:{}", u…

结合el-upload上传组件,验证文件格式及大小

结合el-upload上传组件&#xff0c;验证文件格式及大小 效果如下&#xff1a; 代码如下&#xff1a; upgradeFirmwareInfo.vue页面 <template><div><el-dialog title"新增固件升级包" :visible.sync"dialogFormVisible"top"7vh&qu…

电商数据集成之电商商品信息采集系统架构设计||电商API接口

一、引言 本架构设计文档旨在阐述基于 Selenium 的电商商品信息采集系统的整体架构&#xff0c;包括系统视图、逻辑视图、物理视图、开发视图和进程视图&#xff0c;并提供一个简单的采集电商商品信息的 demo。该系统通过模拟浏览器行为&#xff0c;实现对电商商品信息的自…

力扣高频SQL 50题(基础版)第九题

文章目录 力扣高频SQL 50题&#xff08;基础版&#xff09;第九题197. 上升的温度题目说明思路分析实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题&#xff08;基础版&#xff09;第九题 197. 上升的温度 题目说明 Weather ---------------------- | Column Name…

从防范到防御异常场景处理机制终于闭环了

前言 为什么要做异常场景自动化监控&#xff1f; 怎么做&#xff1f; 做这件事情的意义! 前言 QA在异常场景的处理上&#xff0c;之前更多地侧重于防范&#xff0c;通过风险评估、异常测试等手段降低异常发生的概率。异常场景数据的自动化监控更多地侧重于防御&#xff0c…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十九章 平台总线总结回顾

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

matlab 小数取余 rem 和 mod有 bug

目录 前言Matlab取余函数1 mod 函数1.1 命令行输入1.2 命令行输出 2 rem 函数2.1 命令行输入2.2 命令行输出 分析原因注意 前言 在 Matlab 代码中mod(0.11, 0.1) < 0.01 判断为真&#xff0c;mod(1.11, 0.1) < 0.01判断为假&#xff0c;导致出现意料外的结果。 结果发现…

CCS(Code Composer Studio 10.4.0)编译软件中文乱码怎么解决

如果是所有文件都出现了中文乱码这时建议直接在窗口首选项中修改&#xff1a;选择"Window" -> "Preferences"&#xff0c;找到"General" -> "Workspace"&#xff0c;将"Text file encoding"选项设置为"Other&quo…

Android lmkd机制详解

目录 一、lmkd介绍 二、lmkd实现原理 2.1 工作原理图 2.2 初始化 2.3 oom_adj获取 2.4 监听psi事件及处理 2.5 进程选取与查杀 2.5.1 进程选取 2.5.2 进程查杀 三、关键系统属性 四、核心数据结构 五、代码时序 一、lmkd介绍 Android lmkd采用epoll方式监听linux内…

关于私域终局的几个观察 【后续加图】

01 私域流量的本质 每个人对「私域」的定义都不一样。 最初&#xff0c;大家认为私域其实就是把微商往高级了说&#xff0c;于是 2020 年我看到许多朋友一窝蜂到朋友圈卖货&#xff0c;冒出了一个段子叫「我们都活成了微商」。 最开始&#xff0c;我也以为「私域」只是微信…

微服务实现全链路灰度发布

一、实现步骤 再请求 Header 中打上标签&#xff0c;例如再 Header 中添加 "gray-tag: true" &#xff0c;其表示要进行灰度测试&#xff08;访问灰度服务&#xff09;&#xff0c;而其他则访问正式服务。在负载均衡器 Spring Cloud LoadBalancer 中&#xff0c;拿到…

普中51单片机:DS1302时钟芯片讲解与应用(十)

文章目录 引言基本特性什么是RAM&#xff1f;什么是涓流充电&#xff1f; 电路图和引脚说明通信协议以及工作流程寄存器控制寄存器日历/时钟寄存器 DS1302读写时序代码演示——数码管显示时分秒 引言 DS1302 是一款广泛使用的实时时钟 (RTC) 芯片&#xff0c;具有低功耗、内置…

Docker-Compose实现MySQL之主从复制

1. 主服务器(IP:192.168.186.77) 1.1 docker-compose.yml services:mysql-master:image: mysql:latest # 使用最新版本的 MySQL 镜像container_name: mysql-master # 容器的名称environment:MYSQL_ROOT_PASSWORD: 123456 # MySQL root 用户的密码MYSQL_DATABASE: masterd…

【科研】# Taylor Francis 论文 LaTeX template模版 及 Word模版

【科研写论文】系列 文章目录 【科研写论文】系列前言一、Word 模板&#xff08;附下载网址&#xff09;&#xff1a;二、LaTeX 版本方法1&#xff1a;直接网页端打开&#xff08;附网址&#xff09;方法2&#xff1a;直接下载到本地电脑上编辑下载地址说明及注意事项 前言 给…