Activiti6工作流引擎:Form表单

news2025/1/16 14:08:23

表单约等于流程变量。StartEvent 有一个Form属性,用于关联流程中涉及到的业务数据。

一:内置表单

在这里插入图片描述
每个节点都可以有不同的表单属性。
在这里插入图片描述

1.1 获取开始节点对应的表单

@Autowired
private FormService formService;


@Test
void delopyProcess() {
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    Deployment deploy = processEngine.getRepositoryService()
            .createDeployment()
            .addClasspathResource("processes/LeaveProcess.bpmn")
            .name("表单请假流程")
            .deploy();
}

@Test
void getStartFormData() {
    String processDefinitionId = "LeaveProcess:1:7504";
    StartFormData startFormData = formService.getStartFormData(processDefinitionId);
    List<FormProperty> formProperties = startFormData.getFormProperties();
    for (FormProperty formProperty : formProperties) {
        System.out.println(formProperty.getId() + ":" + formProperty.getType() + " "
                + formProperty.getName() + ":" + formProperty.getValue());
    }
}

在这里插入图片描述

1.2 启动流程实例

@Test
void startProcess() {
	// 传统方式
    Map<String, Object> variables = new HashMap<>();
    variables.put("startTime", "2023-11-11 09:00:00");
    variables.put("endTime", "2024-11-11 09:00:00");
    variables.put("reason", "世界那么大,我想去看看");
    runtimeService.startProcessInstanceByKey("LeaveProcess", variables);
}

@Test
void startProcess2() {
	// 表单方式,都是保存到ACT_RU_VARIABLE,不同的是对于对变量的数据类型的处理。
	// form表单对应的变量都是String类型,并且日期会作为long类型存储。
    Map<String, String> variables = new HashMap<>();
    variables.put("startTime", "2022-11-11 09:00:00");
    variables.put("endTime", "2023-11-10 09:00:00");
    variables.put("reason", "活着不是为了工作,工作是为了活得更有意义");
    formService.submitStartFormData("LeaveProcess:1:7504", variables);
}

在这里插入图片描述

在这里插入图片描述

二:外部表单

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

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

相关文章

stm32超声波测距不准的解决方法(STM32 delay_us()产生1us)

首先要说明一下原理&#xff1a;使用stm32无法准确产生1us的时间&#xff0c;但是超声波测距一定要依赖时间&#xff0c;时间不准&#xff0c;距离一定不准&#xff0c;这是要肯定的&#xff0c;但是在不准确的情况下&#xff0c;要测量一个比较准确的时间&#xff0c;那么只能…

RK3568平台 查看内存的基本命令

一.free命令 free命令显示系统使用和空闲的内存情况&#xff0c;包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略。 Mem 行(第二行)是内存的使用情况。 Swap 行(第三行)是交换空间的使用情况。 total 列显示系统总的可用物理内存和交换空间大小。 used 列显…

学习c#的第四天

目录 C# 变量 C# 中的变量定义与初始化 接受来自用户的值 C# 中的 Lvalues 和 Rvalues 不同类型变量进行运算 静态变量 局部变量 C# 常量 整数常量 浮点常量 字符常量 字符串常量 定义常量 扩展知识 Convert.ToDouble 与 Double.Parse 的区别 静态常量和动态常…

SpringBoot_01

Spring https://spring.io/ SpringBoot可以帮助我们非常快速的构建应用程序、简化开发、提高效率。 SpringBootWeb入门 需求&#xff1a;使用SpringBoot开发一个web应用&#xff0c;浏览器发起请求/hello后&#xff0c;给浏览器返回字符串"Hello World~~~"。 步骤…

数据结构:树的基本概念(二叉树,定义性质,存储结构)

目录 1.树1.基本概念1.空树2.非空树 2.基本术语1.结点之间的关系描述2.结点、树的属性描述3.有序树、无序树4.森林 3.树的常考性质 2.二叉树1.基本概念2.特殊二叉树1.满二叉树2.完全二叉树3.二叉排序树4.平衡二叉树 3.常考性质4.二叉树的存储结构1.顺序存储2.链式存储 1.树 1.…

MYSQL5.7和MYSQL8配置主从

1、创建专门主从的账号 #登录 mysql -u root -p #创建用户 我这里用户名为test5&#xff0c;注意这里的ip是从库服务器的ip CREATE USER test5192.168.1.20 IDENTIFIED WITH mysql_native_password BY xxxxx; #给主从复制账号授权 grant replication slave on *.* to test5192…

Java程序设计2023-第八次上机练习

8-1简单文本编辑器 编写简单文本编辑器&#xff0c;该程序可以新建、打开、编辑和保存文本文件。当用户点击New时&#xff0c;新建一个文件&#xff0c;用户可以编辑文件内容&#xff0c;然后点击Save保存文件。用户点击Open时&#xff0c;选择一个已有文件&#xff0c;然后可…

SDWAN(Software Defined Wide Area Network)概述与优势分析

文章目录 SDWAN简介SDWAN技术优势简化网络部署和维护安全传输灵活网络拓扑极致体验 SD-WAN关联技术STUNIPsec智能选路SaaS路径优化 典型组网多总部分支组网云管理组网 推荐阅读 SDWAN简介 SDWAN&#xff08;Software Defined Wide Area Network&#xff0c;软件定义广域网&…

Revit 平面的圆弧,空间的椭圆弧

大家对Revit的空间曲线那么理解,如何用代码创建空间的椭圆弧,,上看是圆弧,正面看是椭圆? 直接放代码: Document doc = commandData.Application.ActiveUIDocument.Document; Autodesk.Revit.DB.XYZ center = new Autodesk.Revit.DB.XYZ(0, 0, 0); …

Vue3 源码解读系列(三)——组件渲染

组件渲染 vnode 本质是用来描述 DOM 的 JavaScript 对象&#xff0c;它在 Vue 中可以描述不同类型的节点&#xff0c;比如&#xff1a;普通元素节点、组件节点等。 vnode 的优点&#xff1a; 抽象&#xff1a;引入 vnode&#xff0c;可以把渲染过程抽象化&#xff0c;从而使得组…

漏刻有时百度地图API实战开发(4)显示指定区域在移动端异常的解决方案

漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案漏刻有时百度地图API实战开发(2)文本标签显示和隐藏的切换开关漏刻有时百度地图API实战开发(3)自动获取地图多边形中心点坐标漏刻有时百度地图API实战开发(4)显示指定区域在移动端异常的解…

Linux文件系统——重定向

文章目录 1. 文件描述符分配规则2. 重定向接口dup2自定义shell重定向(补充) 3. 标准输出和标准错误4. 如何理解一切接文件 本章代码gitee地址&#xff1a;文件重定向 1. 文件描述符分配规则 文件描述符的分配规则是从0下标开始&#xff0c;寻址最小的没有使用的数组位置&#…

飞机社交软件开发:重新定义社交媒体的空中交互体验

【导语】 随着互联网技术的快速发展&#xff0c;社交媒体平台的界限也逐渐模糊。飞机社交软件应运而生&#xff0c;打破传统的地面社交模式&#xff0c;为空中旅行的旅客提供全新的交流平台。本文将从市场需求、技术实现、用户体验和未来发展等方面&#xff0c;深入探讨飞机社交…

探索内存函数的奥秘【memcpy、memmove、memset、memcmp】

目录 一&#xff0c;memcpy函数 1&#xff0c;memcpy函数简介 2&#xff0c;memcpy函数的原理 3&#xff0c;memcpy函数的用法 4&#xff0c;注意事项 5&#xff0c;memcpy函数模拟实现 二&#xff0c;memmove函数 1&#xff0c;memmove函数简介 2&#xff0c;memmove函…

文件夹批量改名技巧:简单步骤,实现文件夹随机重命名

在日常生活和工作中&#xff0c;经常需要处理大量的文件夹&#xff0c;需要对其进行有效的管理。在这些情况下&#xff0c;文件夹的命名就变得非常重要。一个好的命名策略可以快速找到所需的文件夹&#xff0c;也可以帮助更好地组织文件。然而&#xff0c;手动为每个文件夹重命…

Ocelot:.NET开源API网关提供路由管理、服务发现、鉴权限流等功能

随着微服务的兴起&#xff0c;API网关越来越常见。API网关是连接应用程序和用户之间的桥梁&#xff0c;就像一个交通指挥员&#xff0c;负责处理所有进出应用的数据和请求&#xff0c;确保安全、高效、有序地流通。 今天给大家推荐一个.NET开源API网关。 01 项目简介 Ocelot…

通过easyexcel导出数据到表格

这篇文章简单介绍一下怎么通过easyexcel做数据的导出&#xff0c;使用之前easyui构建的歌曲列表crud应用&#xff0c;添加一个导出按钮&#xff0c;点击的时候直接连接后端接口地址&#xff0c;在后端的接口完成数据的导出功能。 前端页面完整代码 let editingId; let request…

智链引擎CEO李智:游戏化增长中台,让裂变营销快十倍、便宜十倍、好十倍丨数据猿专访...

大数据产业创新服务媒体 ——聚焦数据 改变商业 双十一电商大战一触即发&#xff0c;各个垂类的App也都希望能够借力双十一营销季&#xff0c;实现用户和营收双增长。MarTech在这个风口上&#xff0c;又成为2B赛道关注的焦点。 业内人士指出&#xff0c;MarTech的引入催生营销…

毅速丨金属3D打印零件品质受哪些因素影响

金属3D打印的零件品质受到多个因素的影响&#xff0c;包括设备、材料、工艺、后处理等。不同厂商的品质差别大致由以下几个方面造成。 一、设备性能差异&#xff1a; 不同厂商的金属3D打印设备可能存在性能上的差异&#xff0c;包括激光功率、扫描速度、打印精度、稳定性等。这…

【教3妹学编程-算法题】765. 情侣牵手

3妹&#xff1a;2哥2哥&#xff0c;你看到新闻了吗&#xff1f;襄阳健桥医院院长 公然“贩卖出生证明”&#xff0c; 真是太胆大包天了吧。 2哥 : 我也看到新闻了&#xff0c;7人被采取刑事强制措施。 就应该好好查查他们&#xff0c; 一查到底&#xff01; 3妹&#xff1a;真的…