一飞开源
阅读1645

[开源]一款简单实用、使用方便的工作流,支持多租户、可二开商用

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

warm-flow工作流

此项目是极其简单的工作流,没有太多设计,代码量少,并且只有6张表,个把小时就可以看完整个设计。使用起来方便。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

流程设计器

演示图

图片 图片

图片

图片
图片 图片
图片 图片
图片 图片
图片 图片
图片 图片
图片 图片

新增定义

流程编码和流程版本:确定唯一

审批表单路径:记录代办任务需要显示的代办信息页面,保存下代办详情页的路径,点击代办时候获取这个路径,动态加载这个页面

图片

流程绘制

前端通过logic-flow画图,得到的json转成流程组件所需的xml格式

后台解析xml保存流程表flow_definition、flow_node、flow_skip 

图片图片

流程页面演示

开启流程实例

demo项目已经准备了五套流程,以及开启流程代码,开启流程会直接执行到开始节点后一个节点

图片

图片

提交流程

提交流程后,流程流转到代表任务,由流程设计中的对应权限人去办理

图片

图片

办理流程

如果是互斥网关则会判断是否满足条件

图片 图片

图片

驳回流程

图片

流程图

流程图根据前端返回的节点坐标,通过后端Graphics2D进行绘制,最终返回图片给前端展示

图片

图片

条件表达式

目前内置了大于、大于等、等于、不等于、小于、小于等于、包含、不包含,并且支持扩展

扩展需要实现ExpressionStrategy.java或者继承ExpressionStrategyAbstract.java

并且通过这个方法进行注册ExpressionUtil.setExpression

图片

图片

四、功能概述

  • 支持简单的流程流转,比如跳转、回退、审批

  • 支持角色、部门和用户等权限配置

  • 官方提供简单流程封装demo项目,很实用

  • 支持多租户

  • 支持代办任务和已办任务,通过权限标识过滤数据

  • 支持互斥网关,并行网关(会签、或签)

  • 可退回任意节点

  • 支持条件表达式,可扩展

  • 同时支持spring和solon

  • 兼容java8和java17,理论11也可以

  • 支持不同orm框架和数据库扩展

五、技术选型

快速开始

在开始之前,我们假定您已经:

  • 熟悉 Java 环境配置及其开发

  • 熟悉 关系型 数据库,比如 MySQL

  • 熟悉 Spring Boot或者Solon 及相关框架

  • 熟悉 Java 构建工具,比如 Maven

导入sql

导入组件目录下文件warm_4/warm-flow/blob/master/sql/warm-flow.sql

表结构

warm_4/warm-flow/wikis/%E8%A1%A8%E7%BB%93%E6%9E%84?sort_id=9330548

maven依赖

springboot项目

<dependency>
      <groupId>io.github.minliuhua</groupId>
      <artifactId>warm-flow-mybatis-sb-starter</artifactId>
      <version>最新版本</version>
</dependency>

solon项目

<dependency>
      <groupId>io.github.minliuhua</groupId>
      <artifactId>warm-flow-mybatis-solon-plugin</artifactId>
      <version>最新版本</version>
</dependency>

支持数据库类型

  • mysql

  • oracle

  • sqlserver

  • ......

支持orm框架类型

  • mybatis及其增强组件

  • jpa

  • easy-query

  • wood

  • sqltoy

  • beetlsql

  • ......

有想扩展其他orm框架和数据库的可联系作者

代码示例

以下测试代码请详见hh-vue项目中的
hh-vue/hh-admin/src/test/java/com/hh/test/service/impl/FlowTest.java
更多内容请查看 README.md 文档

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章