使用activiti开源框架,并进行部分扩展
表设计:
1、流程与业务关联:
扩展业务编码定义表(ACT_BUS_TYPE),业务开发人员通过业务编码来调用对应流程
2、流程审核权限:
扩展流程节点关联操作角色表(ACT_PROC_ROLE),表内定义了流程xml中的每个节点应对的审核角色和节点办理时的调用方法
3、流程实例管理和业务审核状态控制:
扩展流程状态表(ACT_PROC_STATE),当流程启动时,此表记录了流程在流转时所有状态、参数、待办名称与处理角色等。业务开发时通过“业务编码”和“数据唯一表示”关联此表,进行审核状态显示等
4、待办跳转:
扩展待办跳转表(ACT_BACKLOG_CONFIG),表内定义每个业务在办理时需要展示的页面,流程办理时先通过跳转链接获取显示页面,然后将办理页面嵌入
5、流程变更:
扩展变更记录表(ACT_CHANGE_LOG),记录一条数据每次变更、撤销与取消撤销时操作与流程实例标识。通过这些记录显示操作历史
6、activiti工作原理:
开发人员通过流程设计器画出流程xml定义(包括并发、分支等定义),点击部署时生成流程定义的唯一标识。流程通过这个唯一标识启动流程,启动时生成流程实例、执行实例(ACT_RU_EXECUTION)和当前节点任务(ACT_RU_TASK),实例根据流程xml定义进行流转,审核当前任务生并生成下一任务、记录任务历史等。直至进入end节点,整个流程结束。结束时流程实例删除