开源的工作流很少有让人满意的,即便是国内用的比较多的jbpm,用起来也会觉得很便扭。再加上PHP中没有什么好用的工作流,于是干脆自己设计一个,设计的原则如下:
1 根据80/20原则,只使用wfmc模型中最符合自身应用的20%功能
2 充分吸收国内使用jbpm开发BOSS中遇到的问题,工作流引擎只负责参数的收集和流程的流转,具体和业务的控制,交给每个流程定制的控制类去实现。
3 表单采用简单的html+控制标签的方法实现
4 权限和模板引擎,以及其它辅助函数直接使用办公系统自带的框架
5 充分利用PHP语言的特点,流程设计是基于数据库的,程序上使用OO设计,但采用重对象的方法
6 不把可视化设计流程的工作交给最终客户,而且由设计时完成,因此不考虑流程版本更新的问题
一、工作流数据表设计
<o:p> </o:p>
tbl_workflow_defination:工作流定义表
defination_id | 流程id | <o:p> </o:p> |
defination_name | 流程名称 | <o:p> </o:p> |
defination_handler | 流程处理辅助文件,每个工作流一个文件 | 自定义处理文件,及其对象。例如workflow-proporsal-handler.php,其中定义对象proposal |
<o:p> </o:p>
tbl_workflow_node:流程结点步骤表
node_id | 结点id | <o:p> </o:p> |
defination_id | 流程id | <o:p> </o:p> |
node_index | 结点序号 | 结点的step |
node_name | 结点名称 | <o:p> </o:p> |
node_type | 结点类型 | 1人为决策,2自动处理(直接执行execute_function),3等待外部响应(例如外部WS触发),4分支,5汇总 6结束结点(此结点执行时候自动终止进程) |
init_function | 流程初始函数 | <o:p> </o:p> |
run_function | 流程运行函数 | <o:p> </o:p> |
save_function | 流程保存函数 | <o:p> </o:p> |
transit_function | 流程流转函数 | <o:p> </o:p> |
prev_node_index | 前结点序号 | 例如1。开始结点没有 执行前,通过此来校验一下流程 |
next_node_index | 后结点序号 | 例如[同意]3,[不同意]4。尾结点或要结束的结点没有,若没有,直接调用end |
executor | 执行角色,组,人 | role[1,2] group[1,2] user[1,2],为空由运行时决定 |
execute_type | 执行类型 | 0需所有人执行 1只需一人执行 |
remind | 提醒 | 0不提醒 1邮件 2短信 3邮件和短信 |
field | 可编辑的字段 | name,content |
max_day | 最长时间(天) | <o:p> </o:p> |
<o:p> </o:p>
tbl_workflow_process :流程执行进程表
process_id | 进程id | <o:p> </o:p> |
defination_id | 流程id | <o:p> </o:p> |
process_desc | 进程描述 | 显示在我的工作台中 |
context | 上下文 | 存放上下文变量,例如业务表的id |
current_node_index | 当前结点序号 | <o:p> </o:p> |
start_time | 流程启动时间 | 如遇分支、汇合显示为: 1=》3,4=》3,5=》6 |
finish_time | 流程完成时间 | <o:p> </o:p> |
state | 状态 | 1运行 2结束 |
start_user | 发起人 | |
分享到:
相关推荐
一个真正符合中国国情的工作流设计参考(包括PHP实现).pdf
ccflow包含表单引擎+流程引擎+权限控制,方便集成,配置灵活,功能强大,适合中国国情的工作流引擎。master分支已升级为.NET Core 3.1。master分支:适配.Net Core 3.1环境。强烈建议采用此分支版本。.Net Core 3.0 ...
基于Python的地理国情监测辅助工具集设计与实现.pdf
java版驰骋BPM系统包含表单引擎+流程引擎+权限控制,方便集成,配置灵活,功能强大,适合中国国情的工作流引擎
基于Python的地理国情监测辅助工具集设计与实现 (1)
基于Python的地理国情监测辅助工具集设计与实现 (1).pdf
文中主要阐述了县域地理国情普查工作开展中内业数据采集与外业核查工作的主要工作内容,总体的技术方法、技术流程以及其中的关键技术的设计与实现。通过先进高效的工作流程设计,实现地理国情普查工作的顺利进行。
最新我国国情知识竞赛参考试题及答案.pdf
js实现符合国情的日期插件详解.docx
该工作流平台是根据多年对企事业单位工作流应用经验总结而成,是一款符合于国情的工作流平台,特别适合于国内无标准,复杂多变的工作审批流转。拥有全浏览器兼容的可视化流程设计器、表单设计器、基于角色的权限管理...
一个简单好用符合国情的redis缓存图形化键值管理工具
工作流引擎全套JAVA源码包含表单引擎+流程引擎+权限控制,方便集成,配置灵活,适合中国国情的工作流引擎
该工作流平台是根据多年对企事业单位工作流应用经验总结而成,是一款符合于国情的工作流平台,特别适合于国内无标准,复杂多变的工作审批流转。拥有全浏览器兼容的可视化流程设计器、表单设计器、基于角色的权限管理...
该工作流平台是根据多年对企事业单位工作流应用经验总结而成,是一款符合于国情的工作流平台,… 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、...
好看又符合国情的时间选择器,具体到 年 月 日 周几
基于Python的地理国情监测辅助工具集设计与实现
何光远:在中国,甲醇作为新能源符合国情.pdf
该资源是驰骋工作流引擎的开源版本,.NET平台,可用于二次开发,也可以直接下载部署使用。 基础功能: 1、流程引擎设计支持所见即所得的设计:节点设计、表单设计、单据设计、报表定义设计,方向条件设计.... 2、...
特色理论(当代中国的基本国情)9.24.ppt