特点
基于 Flowable(Activiti)生来具有的稳定工作流引擎
支持在线流程设计器,流程导入导出,符合 BPMN 规范,中国式工作流
支持流程办理、退回、自由流、会签、并行、串行、服务任务等
支持退回任务,退回到指定环节,退回到上一步,退回到发起人
支持转办任务,将任务交接给他人办理,办理完成后继续下一步骤
支持委托任务,将任务委托给他人,他人办理完成后再回到委托人
支持智能提交,相同处理人自动跳过,支持自由指定下一步处理人
支持作废流程,允许发起人快速终止流程,管理员维护终止流程
支持自由流程,根据环节选择,自由跳转到指定环节,特事特办
支持流程跟踪图,流程状态展现,流转信息,任务历史,任务分配信息
支持一个流程模型挂接多个业务单据,如某公司8种费用审批流程,表单不一样,但流程相同
支持一个表单挂接多个流程环节,以表单角度去管理流程,方便业务理解
流程事件脚本在线编写,包括:流程启动、完成、取消;任务分配、创建、结束等
流程脚本管理(Groovy、Beetl),在线编辑、自动完成、脚本测试、多语言脚本模板维护
我的待办任务处理,我的已办任务、我创建的任务查询、流程跟踪、审批记录查询
流程管控,在无关联表单情况下流程调试,如流程发起、挂起;流程定义、实例、任务等查询;任务办理等
支持流程组件标签定义(流程按钮、意见审批、下一步流程信息等)快速与自定义的业务表单建立关系。
版本化管理流程,新调整的流程业务不影响正在运行,未结束的流程继续流转。
计划:任务加签、催办任务、传阅任务、流程委托设置、流水号管理、常用语管理
模块安装
1、前置条件
BPM 模块要求 JeeSite 版本最低为 4.1.8,若你使用的版本低于 4.1.8,请先升级到最新版本,再继续操作。
升级方法:JeeSite 4.x 更新日志
2、引入依赖
打开 web 的 pom.xml,加入如下模块依赖代码
com.jeesite
jeesite-module-bpm
${project.parent.version}
注意此功能是专业版功能,只有专业版才能使用(联系技术支持获取私服地址)。
若你手中有 jeesite-web-bpm 包,该包相比 jeesite-web 多了一个 BPM 模块。
3、初始化数据库
第一种情况:你新启动的一个新项目,使用全新安装方式即可
运行 jeesite-web-bpm/bin/init-data.bat(sh) 初始化数据库即可。
第二种情况:若是 v4.1.8 之前版本升级上来的项目,后加入 bpm 模块
无需执行 bpm 模块的 init-data 初始化数据库脚本。
项目 pom.xml 里加入 bpm 模块依赖后,直接启动服务,系统会自动检测并初始化数据库。
第三种情况:最初就是 v4.1.8 版本的项目,使用社区版初始化的数据库
若你先初始化了核心功能模块数据库,并没有初始化 BPM 的相关表和数据。
这种情况可能会提示 js_bpm_*、act_* 的表不存在,这时你需要单独初始化这些表。
防止误操作,请先备份数据库。备份完成后,你可以直接运行 jeesite-web-bpm 项目 com.jeesite.test.InitData 类的 initStep03 单元测试,单独去初始化 BPM 模块的表及基础数据。执行前请设置 -Djeesite.initdata=true JVM 参数(该参数防止误操作需要手动添加,执行完成后删除该参数)
快速开始,我的第一个流程
下面让咱们以一个最简单的《请假单》为例,快速体验它的强大。
1、创建流程分类
首先咱们先创建一个流程分类,对咱们新建的流程进行归类。进入菜单:业务流程-> 流程管控 -> 流程分类管理,点击“新增”按钮,新建一个分类,数据如下:
分类名称:办公流程
分类编码:office
2、流程模型设计
请假流程环节业务描述:
申请人发起请假申请,由部门经理审核。
若申请人为部门经理,则自动跳过部门经理节点。
若请假天数大于3天,则需要总经理审核,否则跳过总经理审核。
审核完成后,有人力专员进行备案,并结束流程。
审批不通过任务退回到申请人。
了解业务后,咱们开始进行流程图设计。进入菜单:业务流程-> 流程管控 -> 流程模型设计,点击“创建流程”按钮,填写数据如下:
模型名称:请假流程学习
模型Key:leave_test
描述:我的第一个流程
点击“创建新模型”按钮,接着系统会弹出流程设计界面。
1)画流程图
注意:已实现中国式流程,无需画“退回”线路。
2)为每个环节设置ID
设“主键ID”作为环节的编号,如下:
填写申请单,主键ID:edit
部门经理审核,主键ID:dept
总经理审核,主键ID:ceo
人力专员备案,主键ID:har
3)为每个环节“分配用户”
填写申请单:流程发起人(可以不设置,启动流程后默认自动跳过第一个环节,第一个环节为填写申请单或修改申请单使用)
部门经理审核:身份存储 -> 候选组 -> 部门经理(若没有创建一个部门)
以此类推,继续配置如下环节:
总经理审核:身份存储 -> 分配给单个用户 -> 选择总经理用户
人力专员备案:身份存储 -> 分配给单个用户 -> 选择人力专员用户
4)配置流转条件
选择“小于等于3天”连接线,流转条件编写:${leaveDays <= 3}
选择“大于3天”连接线,流转条件编写:${leaveDays > 3}
其中:变量 leaveDays 为业务表单字段,后续会说明如何赋值。
5)配置流程变量
方便调试流程,此操作为可选配置(可以配置也可以不配置),主要是在“业务流程 -> 流程管控 -> 流程定