本项目属于聚合项目,因为不想分开成好几个项目,所以都放到了1个项目里面(内心OS),里面用到的开源项目非常多,本项目不会去贴没有LICENSE的项目(会引发争议)
但本人可以确保,在Activiti&Flowable&Camunda工作流的方案下 且 不改动Activiti&Flowable&Camunda源码的情况下(特别是Camunda),
不可能有比本项目更好的实现方式(不管是开源项目还是收费项目),有你请找我,给我俩大耳光.
包含但不限于-> 会签实现逻辑,找人逻辑,条件表达式组装逻辑,自动通过逻辑..等这几块核心实现
**由于本项目前端略简陋** ,学习后台代码请着重看上述我说的几个地方实现,像什么查代办\已办,这玩意接口有啥好看的.......... 学就学主要有亮点的地方
下方是,用到的前端项目简介
项目名 | 做的改动 | 代码位置 |
---|---|---|
wflow | 在源作者基础上完善了部分前端&完整的后台实现 | Vue2文件夹 |
wflow-vue3 | 源作者没有写,另一个人写的,我仅仅引用 | 名字很长的文件夹 |
Workflow | 稍微改动, | Vue3 |
smart-flow-design | 稍微改动 | AntDeign |
Workflow | 稍微改动 | React下的03_stavnLi |
史上最全工作流文档 | http://123.249.74.161:1024/ |
---|---|
演示地址: | http://123.249.74.161/ |
Vue3 演示地址: | http://123.249.74.161:5200/ |
Vue3 get方式 | http://123.249.74.161:1024/blogs/jianhua/00_demo.html |
超高TPS-QPS性能工作流 | http://123.249.74.161:1024/blogs/enterprise_jituan/00_tps-qps.html |
单台普通PC服务器日支撑千万级业务流 | http://123.249.74.161:1024/blogs/enterprise_jituan/00_tps-qps.html |
- 1>由于本系统具有实际存在的业务价值 具体使用务必按照LINCENSE 文件以及LICENSE_补充协议 实行
- 2>不能拿来做竞争对手\竞业项目(流程平台)
- 3>不能二次fork出来再开源(如何fork也是可以的,但是协议必须是GPL 或AGPL)
- 4>公司使用提供公司名字
- 5>任何个人需要集成本项目并以此来售卖,请粘贴本项目LINCENSE_补充协议到各自项目中,或者gitee issue写公司名字既可
- 6>任何国家机关以及公益机构以及学校对本项目可以无限制使用,本人愿意无偿提供其集成以及探讨问题,算是为国家出一份自己微薄的力量
相关抄袭狗 | https://gitee.com/junyue/cxygzl?_from=gitee_search |
---|---|
具体抄袭详情请看 | http://123.249.74.161:1024/blogs/copy/00_demo.html |
- 7>本项目前端并不是本人开发,是码云上的开源项目 为方便本项目 本项目维护一份此项目的前端源码保留原有协议以及作者版权印记
开源地址为: https://gitee.com/willianfu/jw-workflow-engine
- 8>本项目后台不开放PR,也不开放新功能收集,光提issue就行了,
因为本人是专门做流程引擎系统(低代码平台)的
工作流可以说基本什么需求都做过,我觉得可以加的我自己就加了,不需要提PR,我自己一个人就能做
本项目前端的PR直接去上述前端地址去那里提就行,当然为了方便,本项目会带上一份前端源码在项目结构中,但会保留原作者版权信息
前端项目
- 1>https://gitee.com/willianfu/jw-workflow-engine 提供了前端源码 保留版权信息 Apache2.0协议(此是Vue2版本的)
- 2>https://gitee.com/crowncloud/smart-flow-design 提供了前端源码 保留版权信息 Apache2.0协议(此是AntDV2版本的)
- 3>https://github.com/StavinLi/Workflow-Vue3 提供了前端源码 保留版权信息 MIT协议(此是Vue3版本的)
- 4>https://github.com/cedrusweng/workflow-react 提供了前端源码 保留版权信息 无LICENSE文件,未对其进行二次开发,仅引用 保留版权信息 (此是React版本的)
- 5>https://github.com/wangzhenggui/dingding-approval-flow 提供了前端源码 保留版权信息 无LICENSE文件,未对其进行二次开发,仅引用 保留版权信息 (此是React版本的)
- 6>https://github.com/miantj/workflow_vue3.git 提供了前端源码 保留版权信息 无LICENSE文件,未对其进行二次开发,仅引用 保留版权信息 (此是Vue3版本的) 后台项目
- 1>https://gitee.com/willianfu/jw-workflow-engine-server 提供了几个用户,部门表结构 Apache2.0协议
个人- 1>感谢如下个人
李 銍 lzgabel [email protected] (已给) 于胜灵 [email protected] (已给) Flowable群小白菜 18877811997 (已给)
以上人员可以找我领取一套 本人珍藏的Flowable\Activiti\Camunda视频教程 感谢你们的付出!
- 0> 开源版和商业版不是一套东西 商业版用的也是仿钉钉流程设计器,功能更加强大,建议企业来采购,个人别来购买,用开源版就行,开源版也会持续更新滴!!!
- 1> 开源是因为发现很多个人开发者需要这样的系统,以及国内暂无可用的后台接Flowable的,开源版也是有其商业价值的!!!!
- 1> 一定一定不要认为Activiti 没有提供对应的表查询的API ,那么就无法完成了
我们可以 把他的这些表 Mapper 都写出来, 自己查就可以了 ,但是要注意的是, 需要先看好Activiti的索引是怎么建的,
防止自己写导致索引失效,导致查询效率慢 (自己不要写更新SQL, 可以通过CMD 更新, 因为 他有乐观锁版本列 ,自己写的Mapper仅仅用于查询 推荐)- 2> 一定一定要把他的执行SQL 打印出来, 这样才会知道该如何优化 ,因为工作流本身 比如很小的一个功能,
就至少会 操作 十几张表 比如start 工作流 ,所以一定要注意它的性能优化,对于SQL不强的人,可以在了解的Activiti的表结构之后 看一下他是如何进行多表联查的- 3> 一定不要觉得,从数据库 中查询出数据 就代表 工作流 进阶了 , 像类似这种, 从数据库查询到的对应的数据,
只是Activiti的 入门, 根本满足不了 产品的需求的, 比如一个Activiti 稍微难一点(中国式流程)的功能, 流程任意跳转,
功能, 比如需要完成这个功能, 是相当有难度的, 要完成这个功能 , 其实大部分的操作 都不是表, 而是 一些高级的类中,
只不过数据最后流转完了之后到了数据库中
开源不易,需要鼓励,如果觉得这个项目有帮助到了你请我喝杯咖啡吧😋
工作流表单管理,支持分组和单组表单拖拽排序
支持分栏布局、明细表格、以及多种基础组件,支持自定义开发组件
任意条件层级审批流程设计, 审批节点支持多种业务类型设置,支持流程校验
自定义审批条件
自定义复杂流转条件
可视化流程逻辑分支条件
支持多种类型业务节点,支持配置校验,灵活配置
支持无限层级嵌套
自动校验设置项,列出所有错误提示
条件节点优先级动态拖拽,实时刷新
特别说明:源码、JDK、MySQL、Redis等存放路径禁止包含中文、空格、特殊字符等
官方建议: JDK版本不低于
1.8.0_281
版本,可使用OpenJDK 8
、Alibaba Dragonwell 8
、BiShengJDK 8
项目 | 推荐版本 | 说明 |
---|---|---|
JDK | 1.8.0_281 | JAVA环境依赖(需配置环境变量) |
Maven | 3.6.3 | 项目构建(需配置环境变量) |
Redis | 3.2.100(Windows)/6.0.x(Linux,Mac) | |
MySQL | 5.7.x+ | 数据库任选一(默认) |
SQLServer | 2012+ | 数据库任选一 |
Oracle | 11g+ | 数据库任选一 |
PostgreSQL | 12+ | 数据库任选一 |
为防止无法正常下载Maven以来,请使用以下IDE版本
IDEA版本 | Maven版本 |
---|---|
IDEA2020及以上版本 | Maven 3.6.3及以上版本 |
Lombok
Alibaba Java Coding Guidelines
MybatisX
- 打开
dingding-mid\src\main\resources\application.yml
环境变量
- dev 开发环境
- test 测试环境
- preview 预发布环境
- pro 生产环境
#环境 dev|test|pro|preview
profiles:
active: dev
- 打开
application-x.yml
(x
表示环境变量),需配置以下- 服务端口(
port
) - 数据库连接
- Redis
- 服务端口(
dingding-mid\src\main\java\com\dingding\mid\DingDingAdminApplication.java
,右击运行即可。
- 在
IDEA
右侧Maven
-dingding-mid(root)
-Lifecycle
中双击clean
清理下项目 - 双击
package
打包项目 - 打开项目目录,依次打开
dingding-mid\target
,将dingding-mid-{version}-RELEASE.jar
上传至服务器
Vue2 版本对应视频 : https://www.bilibili.com/video/BV18D4y1C7qE/?spm_id_from=333.999.0.0
Vue3 版本对应视频 : https://www.bilibili.com/video/BV1aG4y1t7JQ/?spm_id_from=333.788&vd_source=fb655b691713324522e551b8acef3630
AntDesignVue 版本对应视频 : https://www.bilibili.com/video/BV1X84y1C7AD/?spm_id_from=333.788&vd_source=fb655b691713324522e551b8acef3630
React 版本对应视频 : https://www.bilibili.com/video/BV13Y411d7g6/?spm_id_from=333.788&vd_source=fb655b691713324522e551b8acef3630
RuoYI-Vue-Camunda 版本对应视频 : https://www.bilibili.com/video/BV1rv4y1L7wD/?spm_id_from=333.788&vd_source=fb655b691713324522e551b8acef3630