编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

warm-flow工作流(flowable工作流入门使用)

wxchong 2024-07-11 01:12:30 开源技术 18 ℃ 0 评论

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

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

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

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

4. 支持多租户

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

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

7. 可退回任意节点

8. 支持条件表达式,可扩展

9. 同时支持spring和solon

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

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

git地址https://gitee.com/warm_4/warm-flow.git

demo项目

springboot:hh-vue 演示地址

solon:warm-sun 演示地址

快速开始

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

熟悉 Java 环境配置及其开发

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

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

熟悉 Java 构建工具,比如 Maven

导入sql

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

表结构

https://gitee.com/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

0 oracle

0 sqlserver

0 ......

支持orm框架类型

mybatis及其增强组件

ojpa

0 easy-query

0 wood

0 sqltoy

0 beetlsql

0 ......

有想扩展其他orm框架和数据库的可加qq群联系群主

代码示例

以下测试代码请详见hh-vue项目中的hh-vue/hh-

admin/src/test/java/com/hh/test/service/impl/FlowTest.java

部署流程

public void deployFlow() throws Exception {

String path = "/Users/minliuhua/Desktop/mdata/file/IdeaProjects/min/hh-vue/hh-

admin/src/main/resources/leaveFlow-serial.xml";

System.out.println("已部署流程的id: " + defService.importXml(new

FileInputStream(path)).getId());

}

发布流程

public void publish() throws Exception {

defService.publish(1212437969554771968L);

}

开启流程

public void startFlow() {

System.out.println("已开启的流程实例id: " + insService.start("1",

getUser()).getId());

}

流程流转

public void skipFlow() throws Exception {

// // 通过当前代办任务流转

// insService.skip()

// 通过实例id流转

Instance instance = insService.skipByInsId(1212438548456804352L,

getUser().skipType(SkipType.PASS.getKey())

.permissionFlag(Arrays.asList("role:1", "role:2")));

System.out.println("流转后流程实例: " + instance.toString());

}

流程设计器

演示图



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表