java实现简易流程
需求分析
去年开发了一个类似人力资源管理的系统。其中关于人员入职,该流程涉及到多个角色的审批,现客户提出要求,每个流程节点需要精确到具体的人去处理(而不是到角色),所以开发了这个简易的流程线。
数据库设计
其中关于流程线设计需要三张表,一张是流程节点表,一张是流程表,最后一张为流程实例表
1.流程表
该表定义流所有的流程类型(该系统中涉及到了入职流程和离职流程)
该表设计如下:
2.节点表
保存流程上每个节点信息,其中顺序来控制节点在流程中所属位置,所属流程来控制节点是属于哪个流程类型
该表设计如下
以上两表确定完成后实际上就已经生成流程线了,现在我们要把节点操作角色挂载到各个节点上,这就需要我们的实例表了
3.实例表
node_id为节点表中节点的id,goup_id是将挂载完用户的流程线进行分类,确保同一流程可以有多个实例,operator为流程节点操作用户,operator_user_id为用户编号(一般为系统中设定的编号),order_num为流程在流程线中所属位置(从节点表中带出),deal_flag为逻辑删除标识
该表设计如下
至此为止,已经可以生成如图所示的流程线了
下片文章将阐述如何前端设置流程线