突发奇想,市面上如此多的工作流引擎,但大多只能根据引擎内的方法进行工作流数据流转,难以二次开发,so,就想尝试下自己写个工作流试试看。
后台使用spring boot + mysql 存储工作流数据。前提通过angular js 进行工作流表单设计和页面交互。
工作流分为两部分,流程设计和流程运行,首先完成流程设计。对于流程设计,我打算使用单线流程,配置上人员。然后可以和任何表单配置使用,由运行时表单数据决定当前表单走哪条流程。
一:流程设计中由三个元素 节点 ,节点执行人,节点流向(哪个节点流向哪个节点)。
节点执行人可以配置多个(会签节点)。
二:表单设计
使用拖拉的方式自定义表单,表单控件到进行到表单编辑器时候再细说。
三:表单流程配置
记录当前表单配置了哪些流程,通过设置表单某个控件的值到达某个值时触发某条流程,当没有满足任何条件时触发默认流程。可允许用户暂时自定义一条临时流程。
四:流程选择条件记录
记录哪个表单的哪个控件于某个值处于某种情况时选择某条流程