浮沉与木

知识点----常用审核流程逻辑的梳理与设计

发表于:2019/9/6 10:31

ID:@浮沉与木

应用场景:在日常办公环境中,做一些事情免不了需要上级领导的审批才能做成。这里就简单梳理一下这些逻辑与设计思路。

基础对象:用户(员工)、角色、行政单位(组织架构)。

基础逻辑:这里只展示基础两级审核逻辑。

数据库设计:

                数据表:用户(员工)表-->users,角色表-->roles,行政单位(组织架构)表-->deptTree,用户角色关联表-->user_roles,角色单位表-->role_dept,流程环节表-->flowTache,流程记录表-->flowRecord,流程处理表-->flowWork

                这里就不讲用户角色单位的表设计,细说一下流程相关的表结构如何设计。

                表设计:flowtache

flowrecord

flowwork

首先是流程环节flowtache表的设计思路:

    1.流程类型,这里没有单独给出一个流程类型表,是为了简化逻辑,在实际的环境中,流程类型是必不可少的。

    2.环节名称,这里的流程环节依靠流程类型进行相应的审核环节名称命名。

    3.上一环节ID,流程环节的连贯,驳回上一环节可作为判断依据

    4.下一环节ID,流程环节的连贯,查看下一环节审核信息

    5.第一环节ID,驳回操作可作为判断的依据

    6.审核类型,根据流程环节的不同需求设置类型,比如:1置为固定审核人员,无论哪个员工发起的审核都会由此固定人员进行审核;2设置为行政,可根据需求查询相关行政单位领导进行审核;3自选人员,进行此环节时由处理人自行选择下一步审核人员。

flowwork 设计思路: 流程的唯一性,同一对象同时只能存在一个进行中的同一流程类型的流程信息。

    1.流程类型,同上。

    2.流程环节,记录当前流程执行到哪一步

    3.对象ID,可查看审核对象的基础信息

    4.审核状态,一般的几种状态: 待审,同意,不同意(驳回),驳回上一级,废止。

    5.当前审核人

    6.流程状态,显示为结束或进行中。

    7.流程处理时间

    8.流程创建时间

flowrecord 设计思路:记录每一步环节操作的信息。

    1.流程类型,同上。

    2.流程环节,记录当前流程执行到哪一步

    3.对象ID,可查看审核对象的基础信息

    4.审核状态,一般的几种状态: 待审,同意,不同意(驳回),驳回上一级,废止。

    5.当前审核人

    6.流程处理时间

    7.流程创建时间

    8.审核意见,每次审核时的处理意见



结束语:我这里的流程设计讲解很精简,实际的应用场景会更加复杂,但是万变不离其中,再复杂的业务逻辑也是通过最基础的模型演化而来,要学会举一反三的灵活应用。这次就到这里,代码的实现就等下次吧。


关于TNBLOG
TNBLOG,技术分享
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢