flowable实战(三):关于流程图编辑

2023-11-06

发现很多人讲到flowable,就是大概讲一下整合里面一些名词之类,实操偏少,或者用一个小demo演示一下,就完了。但是一涉及到具体的业务,你会发现涉及到工作流要有多麻烦,考虑很多情况进去会涉及到条件设置,逻辑判断甚至官方提供的那么多方法你不可能直接拿来用,你要自己去设计。我这边以我手头的一个项目和自己练手的过程做个演示。

实际上我们的工作流使用过程大致分为以下几步:

部署流程文件----》流程发起------》中间环节的审批任务

流程文件实际上就是我们之前介绍各种事件名词,最后会在xml文件中体现出来的,但实际种我们不是编写出来的,而是画出来的,一方面比较直观易懂,操作起来也相对人性了不少。

部署流程文件实际上就是定义流程了,流程发起产生实例,中间的审批节点审批处理任务。(实际上要考虑到流程会修改,会删除,同样的一类会新增, 发起流程也是多姿多彩,参数设计。同样 审批有同意有驳回,有自动同意等等一大堆烧脑的问题)

一 画流程图:部署画流程图软件
流程图是流程定义部署的关键,毕竟手写流程xml文件,确实太难受了,就有点像以前spring的xml配置文件,最后跟个裹脚布一样。所以能用可视化工具尽量不要手工编辑。

部署的工具其实就是:
flowable流程包

打开这个压缩包,一共有两个war包(在war包路径下)

在这里插入图片描述

这里面一个是给人调试用的restful风格的一个工程。另外一个flowable-ui.war是用来绘画刘晨图的包,我们要部署的就是这个包,来作为画流程图的工具。

部署注意以下,实际这个war包你也可以理解是一个web项目,部署的方式都是你扔到你的tomcat里面的webapps下面,然后启动tomcat,tomcat会自动解压这个war包,你对应的输入就可以启动项目()。

http://localhost:8080/flowable-ui

但是有时候会404,首先你看一下你有没有设置tomca这些,第二方面注意版本,tomcat10可能因为一些原因JavaEE还是什么原因,要修改工程重现构建,这里我推荐用tomcat8或者9(我这边用的是9).

二 进入绘画软件并绘画流程图

http://localhost:8080/flowable-ui 用账户:admin/test 登录
在这里插入图片描述
我们进入流程图绘制的页面:
在这里插入图片描述

我这边已经有两个文件,绘画跟我们用别的流程图差不多,只不过我们这边涉及到流程文件事件更多,要根据具体场景画图
在这里插入图片描述
开始事件,结束事件不要再说了
这里要提的是活动,我们常用还是“用户活动”,用户活动有很多要注意的是,不是画个图上去,要去定义,比如说完成条件我们除了可以用变量意外可以自定义。
在这里插入图片描述
执行顺序也要定义流条件

在这里插入图片描述
在这里插入图片描述
还有就是网关,相当于是判断条件

在这里插入图片描述
这里说一下关于图怎么改变形状,因为默认的就是一条直直的线,如何让他变弯,类似我们下图圈起来的那条线
在这里插入图片描述
其实需要配合上边的添加弯曲点来完成,同样减少弯曲点也会让先变化更少。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flowable实战(三):关于流程图编辑 的相关文章

  • 有效地将三个字母的货币名称转换为符号名称(例如 20 美元到 20 美元)

    我有一个格式化的字符串 它等于USD 20 我想把它转换成 20 我怎样才能高效地做到这一点 我应该使用正则表达式来执行此操作 但由于区域设置发生变化 国家 地区 ISOCode 也会发生变化 你需要的是这个 import java uti
  • 仅运行相应源代码已更改的单元测试?

    我正在 Jenkins CI 服务器中运行单元测试和 Selenium 测试 众所周知 在大型项目中测试需要很长时间才能运行 Java 是否有一个工具 框架只能触发其源代码已更改的测试 这是因为并非每次对 SCM 的提交都会影响源代码的所有
  • 如何打印JTable中选定的行

    我尝试使用主 JTable 的选定行和相同的头和单元格渲染来创建临时 JTable 但是当我尝试打印它时 我只得到一个带有线边框的空矩形 我在如何打印 JTable 的特定行 列 https stackoverflow com questi
  • 合并 2 个 .jks 信任库文件

    我正在使用启用了 SSL 的 Tomcat 并使用信任库进行客户端身份验证 我有两个 jks trustore 文件 第一个 我将其用于 PROD 环境 另一个用于 TEST 环境客户端证书 我在 Tomcat 上部署了 Web 应用程序
  • 如何从球衣服务端点发送实体列表?

    我正在从球衣服务器发送实体列表 在客户端 我试图获取这些实体列表 但它给了元帅例外 为什么它在元素名末尾添加 s 即 emps 而不是 emp XmlRootElement public class Emp Server side code
  • 如何知道内存中是否已经存在类的实例?

    如何知道内存中是否已经存在类的实例 我的问题是 如果存在类实例 则不想读取方法 这是我的代码 private void jButton java awt event ActionEvent evt PNLSpcMaster pnlSpc n
  • 如何在 Java 中复制对象?

    考虑下面的代码 DummyBean dum new DummyBean dum setDummy foo System out println dum getDummy prints foo DummyBean dumtwo dum Sys
  • bean 的 CDI @TransactionAttribute

    我正在尝试CDI在测试应用程序上 我有一个DAO它注入一个托管的容器JTA像这样的持久化上下文 public class TestDAO implements Serializable PersistenceContext private
  • 带嵌入式 tomcat 的 spring-boot 不会将请求分派到控制器

    我有一个使用 spring boot 和嵌入式 Tomcat 容器的应用程序 据我所知 我的代码与 spring boot 相同示例项目 https github com spring projects spring boot tree m
  • Byte[] 和 java.lang.OutOfMemoryError 按位读/写文件

    我正在努力擦除 Android 中的一些可用空间 这是我的代码 private void creatingFileDelete int size int passMode File lastFile new File Environment
  • 竞争条件和 Clojure Atoms

    clojure atom 的文档指出 Changes to atoms are always free of race conditions 然而 竞争条件不仅是根据更改定义的 而且是在不同线程中并行逻辑操作的上下文中定义的 我想知道 保证
  • 字符串 a == 字符串 b 的规则 [重复]

    这个问题在这里已经有答案了 我试图了解字符串池的工作原理以及一个字符串等于另一个字符串的规则是什么 例如这个片段 public static void main String hi String s1 lol String s2 lol S
  • 相对重力

    我最近开始使用jMonkey引擎 这非常好 但我在尝试实现相对重力时陷入了困境 我想让行星彼此围绕轨道运行 不一定是完美的圆形轨道 取决于速度 所以每个对象都应该影响其他对象 我现在拥有的 关闭全球重力 bulletAppState get
  • 更改JavaFX TableView字体大小[重复]

    这个问题在这里已经有答案了 您好 我想在表视图列内的文本上设置字体 我如何用 Java 做到这一点 这是我的代码 感谢帮助 private final TableView
  • 为什么找不到 getservletcontext?

    我正在尝试使用getServletContext getRealPath 但我不断收到此错误 cannot find symbol symbol method getServletContext location interface jav
  • Java无损保存原始JPEG

    如下所示 我有第一张图像是原始 JPEG 图像 第二张图像用于缓冲图像 然后使用保存http www lac inpe br JIPCookbook 6040 howto compressimages jsp http www lac in
  • CreateProcess error=206,运行 gwtCompile 时文件名或扩展名太长

    我的应用程序是一个 springboot gradle 应用程序 我的应用程序的一部分涉及使用 gradle 进行遗留 gwt 编译 它工作正常 但今天当我运行下面的 gradle 任务时 它显示 CreateProcess error 2
  • 找出对象列表中是否包含具有指定字段值的内容?

    我有一个从数据库收到的 DTO 列表 它们有一个 ID 我想确保我的列表包含具有指定 ID 的对象 显然 在这种情况下创建具有预期字段的对象不会有帮助 因为 contains 调用 Object equals 并且它们不会相等 我想出了这样
  • 当框架被拖动时,如何设置 JWindow 的位置位于文本字段下方?

    我正在制作一个自动完成项目 就像谷歌一样 我的框架中有一个 jtextfield 每当我在该字段中输入内容时 该文本字段下方就会出现一个 JWindow 并且该窗口来自另一个类 现在的问题是 每当我拖动框架时 如何使窗口始终出现在文本字段下
  • Spring - 使用存储过程时使用 simplejdbccall 进行批量更新

    我正在使用 spring jdbc 模板 使用存储过程创建记录 public Long create City obj SimpleJdbcCall jdbcCall new SimpleJdbcCall getJdbcTemplate g

随机推荐

  • 【学习填坑之路】FBX-SDK环境搭建及测试

    工作原因记录一下环境搭建 下载并安装FBX SDK 首先下载并安装FBX SDK 点击AutoDesk官网下载 下载后安装运行程序即可 根据自己的Visual Studio版本选择Windows的FBX SDK版本下载安装文件 运行安装程序
  • FastDFS安装与配置

    FastDFS安装与配置 简介 FastDFS是一个开源的轻量级分布式文件系统 它对文件进行管理 功能包括 文件存储 文件同步 文件访问 文件上传 文件下载 等 解决了大容量存储和负载均衡的问题 特别适合以文件为载体的在线服务 如相册网站
  • pandas基本的增删改查用法梳理

    说明 以下为之前在pandas使用过程中的所用的到对数据的基本增删改查处理方法进行梳理 文章目录 1 数据读取 resd csv 2 数据保存 3 pandas常用数据格式处理函数 4 增 5 删 6 改 元素赋值 列赋值 行赋值 7 查
  • Flink(九)CEP

    Flink 八 CEP 1 概述 2 快速入门 3 模式API 3 1 个体模式 3 2 组合模式 3 3 匹配后跳过策略 4 模式的检测处理 4 1 模式应用到数据流 4 2 处理匹配事件 4 3 处理超时事件 1 概述 所谓 CEP 其
  • 1.软件测试-Linux搭建测试环境

    1 数据库 yum y install mysql mysql server mysql devel MySQL 客户端 MySQL server 服务端 mysql devel 库 启动MySQL service mysql start
  • 无界面浏览器访问网页,python

    from selenium import webdriver from selenium webdriver chrome options import Options chrome options Options chrome optio
  • 列存储与行存储的区别

    写入 行存储的写入是一次完成 数据的完整性因此可以确定 列存储需要把一行记录拆分成单列保存 写入次数明显比行存储多 行存储在写入上占有很大的优势 数据修改 行存储是在指定位置写入一次 列存储是将磁盘定位到多个列上分别写入 行存储在数据修改也
  • 从Java到Go:实现多语言翻译服务的高性能解决方案

    本文将深入探讨如何使用Go语言 Golang 开发多语言翻译服务 我们将重点介绍从Java到Go的过渡 并提供详细的代码示例以帮助您快速上手 目录 1 为什么选择Go 2 Go语言基础 2 1 语法结构 2 2 变量 常量和类型
  • java 类增强机制

    前言 对类的增强有多少种方式 我们首先想一下一个类的生命周期 从编码到程序运行结束 对类的增强 目的是为了在使用的时候能够在类原有的行为上进行增强 所以编码一直到使用中的几乎每个环节都可以对类进行增强 主要有以下几种方式 静态代理 编译期织
  • 遇到文件误删情况,使用EasyRecovery快速恢复

    当我们不小心将文件误删了 还有办法恢复吗 可能很多朋友认为这是不可能的 一个连在电脑中都无法找到痕迹的文件 我们要怎么找到它呢 其实也不是不可能 借助专业的数据恢复软件EasyRecovery就可以帮你恢复彻底删除的文件 下面就一起来学习具
  • 【Netty】NIO基础(三大组件、文件编程)

    文章目录 三大组件 Channel Buffer Selector ByteBuffer ByteBuffer 正确使用姿势 ByteBuffer 内部结构 ByteBuffer 常见方法 分配空间 向 buffer 写入数据 从 buff
  • k-近邻算法的Python实现

    k 近邻算法的Python实现 一 概述 k 近邻算法 k Nearest Neighbour algorithm 又称为KNN算法 是数据挖掘技术中原理最简单的算法 KNN的工作原理 给定一个已知标签类别的训练数据集 输入没有标签的新数据
  • Netty网络编程框架

    一 简介 Netty是由JBOSS提供的一个java开源框架 Netty提供异步的 事件驱动的网络应用程序框架和工具 用以快速开发高性能 高可靠性的网络服务器和客户端程序 也就是说 Netty 是一个基于NIO的客户 服务器端编程框架 使用
  • B3:多个if(c++)

    做纸箱最少需要多少面积的硬纸板 题目描述 请问做一个尺寸为a b c 单位 厘米 的开口的立方体纸箱 只有一个面是不需要封的 其余5个面都需要封起来 这样算开口的 最少需要多少平方厘米的纸 6 1 6 输入 三个整数 abc 输出 制作该纸
  • Javascript中的every()与some()的区别和应用

    every 定义和用法 every 方法用于检测数组所有元素是否都符合指定条件 通过函数提供 every 方法使用指定函数检测数组中的所有元素 如果数组中检测到有一个元素不满足 则整个表达式返回 false 且剩余的元素不会再进行检测 如果
  • 遗传的效应,美貌与智慧奇妙的遗传

    身高是母亲的遗传大 在营养状况下的前提下 父母的遗传是决定孩子身高的主要因素 其中妈妈的身高尤其关键 妈妈长得高 孩子也大多长得比较高 智力是母亲的遗传大 智力有一定的遗传性 同时受到环境 营养 教育等后天因素的影响 据科学家评估 遗传对智
  • 南大通用&河北工业大学人工智能与数据科学学院党支部共建暨研究生培养基地合作签约仪式顺利举办

    2022年2月18日下午 天津南大通用数据技术股份有限公司 河北工业大学人工智能与数据科学学院党支部共建签约仪式暨研究生培养基地签约仪式在普天创新产业园23层会议室举行 南大通用董事长丁明峰 高级副总裁赵伟 总工办主任杨伟伟 人力资源部总监
  • python中有哪些去除重复项的操作

    Python中去除重复项的操作 常用的有以下几种方式 1 使用set 将列表转化为集合 再转化为列表 即可去重 list a 1 2 3 2 1 4 5 4 6 7 7 new list a list set list a print ne
  • JMeter----安装与介绍以及简单页面录制和移动端录制

    1 什么是JMeter 2 JMeter的安装 3 JMeter基本使用 4 JMeter运行原理 5 JMeter录制脚本 1 什么是JMeter JMeter简介 JMeter是Apache公司使用Java平台开发的一套测试工具 JMe
  • flowable实战(三):关于流程图编辑

    发现很多人讲到flowable 就是大概讲一下整合里面一些名词之类 实操偏少 或者用一个小demo演示一下 就完了 但是一涉及到具体的业务 你会发现涉及到工作流要有多麻烦 考虑很多情况进去会涉及到条件设置 逻辑判断甚至官方提供的那么多方法你