• YbSoftwareFactory 代码生成插件【二十三】:集成强大的公文流转系统


      今天有空更新博客才发现快一年没有写博客了,不得不感叹时间过得真快。过去的一年确实也挺忙的,在此祝各位博友们新的一年工作顺利。权限模型在过去一年进行了不少的升级,主要集成了公文流转系统、多家手机短信接口的集成、CMS动态路由的实现、以及Hangfire消息队列与任务调度组件的集成等,本章主要对公文流转系统进行总体的介绍,感兴趣的可进一步交流或访问http://pjdemo.yellbuy.com

      公文流转系统是国内企事业单位的普遍需求,具有很强的中国特色。通常其核心需求如下:

    • 具备公文流程审批,流程支持多人并批(有时需要考虑审批人的权重)、打回当前审批人之前任意人(包括起草人)
    • 有权限的审批人能在审批过程中能前插、后插审批人进行审批,审批人可提前浏览本人将审批的公文。
    • 每个公文流程可设置传阅人,传阅人只能看流程的公文信息,不参与审批
    • 公司(子公司)可分别创建不同的审批流程,根据公司(子公司)、公文类别来确定流程
    • 公文起草和审批时能上传多个附件
    • 菜单中有起草公文、已发公文、送阅公文、待办公文、已批公文、公文一览等。

      权限模型以组织机构为中心,更加符合国内实际情况,也非常适合公文流转系统的开发。在权限模型框架的基础之上,能对模块、按钮、数据权限进行全方位的控制,可对各个组织不同类型的权限进行授权和管理。使用权限模型,就需要根据权限模型的开发规范对数据库进行建模,其中需要进行数据权限控制的业务功能模块需要具有(:DeleteStatus,CreatedFID和CreatedFName三个默认的字段)。如下为公文流转系统的数据库设计表结构:

    WorkflowTemplate - 公文流程模板

    表名

    WorkflowTemplate

    描述

    公文流程模板

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

    标识

    2

    Code

    nvarchar

    255

     

     

    编码

    3

    Name

    nvarchar

    255

     

     

    名称

    4

    WorkflowType

    nvarchar

    255

     

     

    类型

    5

    Value

    nvarchar

    -1

     

     

    6

    FormTemplate

    nvarchar

    -1

     

     

    表单模板

    7

    LargeImage

    nvarchar

    -1

     

     

    保留

    8

    SmallImage

    nvarchar

    -1

     

     

    保留

    9

    Description

    nvarchar

    -1

     

     

    描述

    10

    Comment

    nvarchar

    -1

     

     

    备注

    11

    QuanPin

    nvarchar

    -1

     

     

    保留

    12

    JianPin

    nvarchar

    255

     

     

    保留

    13

    ExtensionDataType

    nvarchar

    255

     

     

    扩展数据类型的名称

    14

    ExtensionData

    nvarchar

    -1

     

     

    扩展数据类型存储值

    15

    Status

    int

     

     

     

    状态(无效,有效,预定义)

    16

    DisplayOrder

    decimal

     

     

     

    显示顺序

    17

    CreatedFID

    nvarchar

    2048

     

     

    创建者完整标识路径

    18

    CreatedFName

    nvarchar

    2048

     

     

    创建者完整名称路径

    19

    CreatedDate

    datetime

     

     

     

    创建时间

    20

    LastUpdatedFID

    nvarchar

    2048

     

     

    最后修改人完整标识路径

    21

    LastUpdatedFName

    nvarchar

    2048

     

     

    最后修改人完整名称路径

    22

    LastUpdatedDate

    datetime

     

     

     

    最后修改时间

    23

    DeleteStatus

    int

     

     

     

    删除状态

    24

    Owner

    nvarchar

    255

     

     

    Owner

    25

    ApplicationName

    nvarchar

    255

     

     

    ApplicationName

                     

    WorkflowCreator - 流程所允许发起的组织

    表名

    WorkflowCreator

    描述

    流程所允许发起的组织

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

    标识

    2

    WorkflowId

    nvarchar

    36

     

    流程模板标识

    3

    OrgFID

    nvarchar

    2048

     

     

    可发起人组织标识全路径

    4

    OrgFName

    nvarchar

    2048

     

     

    可发起人组织名称全路径

    5

    CreatedFID

    nvarchar

    2048

     

     

    创建人组织标识全路径

    6

    CreatedFName

    nvarchar

    2048

     

     

    创建人组织名称全路径

    7

    Version

    int

     

     

     

    版本号

    8

    ApplicationName

    nvarchar

    64

     

     

    应用程序标识

                     

    ActivityTemplate - 活动模板

    表名

    ActivityTemplate

    描述

    活动模板

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

    ID

    2

    WorkflowId

    nvarchar

    36

     

    所属公文流程模板标识

    3

    Code

    nvarchar

    255

     

     

    活动编码

    4

    Name

    nvarchar

    255

     

     

    活动名称

    5

    Value

    nvarchar

    -1

     

     

    6

    ActivityKind

    int

     

     

     

    活动类型

    7

    TopValue

    int

     

     

     

    Y坐标

    8

    LeftValue

    int

     

     

     

    X坐标

    9

    WidthValue

    int

     

     

     

    宽度

    10

    HeightValue

    int

     

     

     

    高度

    11

    IsStartActivity

    bit

     

     

     

    是否开始活动

    12

    IsFinishActivity

    bit

     

     

     

    是否结束活动

    13

    ExpirationTime

    int

     

     

     

    默认过期时间

    14

    Description

    nvarchar

    -1

     

     

    描述

    15

    Comment

    nvarchar

    -1

     

     

    备注

    16

    QuanPin

    nvarchar

    -1

     

     

    保留

    17

    JianPin

    nvarchar

    255

     

     

    保留

    18

    DisplayOrder

    decimal

     

     

     

    显示顺序

    19

    LargeImage

    nvarchar

    -1

     

     

    保留

    20

    SmallImage

    nvarchar

    -1

     

     

    保留

    21

    ExtensionDataType

    nvarchar

    255

     

     

    扩展数据类型名

    22

    ExtensionData

    nvarchar

    -1

     

     

    扩展数据值

    23

    EntryExecuteTypeName

    nvarchar

    255

     

     

    入口点执行外部方法类的信息

    24

    EntryExecuteMethodName

    nvarchar

    255

     

     

    入口点执行外部方法的方法名

    25

    ExitExecuteTypeName

    nvarchar

    255

     

     

    出口点执行外部方法类的信息

    26

    ExitExecuteMethodName

    nvarchar

    255

     

     

    出口点执行外部方法的方法名

    27

    DeleteStatus

    int

     

     

     

    删除状态

    28

    CreatedFID

    nvarchar

    2048

     

     

    CreatedFID

    29

    CreatedFName

    nvarchar

    2048

     

     

    CreatedFName

    30

    CreatedDate

    datetime

     

     

     

    CreatedDate

    31

    LastUpdatedFID

    nvarchar

    2048

     

     

    LastUpdatedFID

    32

    LastUpdatedFName

    nvarchar

    2048

     

     

    LastUpdatedFName

    33

    LastUpdatedDate

    datetime

     

     

     

    LastUpdatedDate

    34

    Owner

    nvarchar

    255

     

     

    Owner

    35

    ApplicationName

    nvarchar

    255

     

     

    ApplicationName

                     

    ActivityAuditor -活动步骤模板所允许审批的组织

    表名

    ActivityAuditor

    描述

    活动步骤模板所允许审批的组织

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

     

    标识

    2

    ActivityId

    nvarchar

    36

     

    活动模板标识

    3

    AuditingFID

    nvarchar

    2048

     

     

    审批人完整标识路径

    4

    AuditingFName

    nvarchar

    2048

     

     

    审批人完整名称路径

    5

    Weight

    decimal

     

     

     

    默认审批权重

    6

    ExperitionTime

    int

     

     

     

    默认过期时间,小时

    7

    Comment

    ntext

    1073741823

     

     

    备注

                     

    WorkflowInstance - 公文实例

    表名

    WorkflowInstance

    描述

    公文实例(每个流程发起的实例)

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

    标识

    2

    WorkflowId

    nvarchar

    36

     

    所属公文流程模板标识

    3

    WorkflowName

    ntext

    1073741823

     

     

    所属公文流程模板名称

    4

    No

    nvarchar

    255

     

     

    文号

    5

    Subject

    nvarchar

    255

     

     

    标题

    6

    Kind

    nvarchar

    255

     

     

    类型

    7

    Abstract

    nvarchar

    1024

     

     

    摘要

    8

    Body

    ntext

    1073741823

     

     

    内容

    9

    SafeLevel

    int

     

     

     

    密级

    10

    UrgencyDegree

    int

     

     

     

    紧急程度

    10

    DeleteStatus

    bit

     

     

     

    逻辑删除状态

    11

    DocStatus

    int

     

     

     

    当前状态,0开始 1运行 2结束

    12

    AuditedStatus

    int

     

     

     

    当前审核状态 0:未通过 1:已通过

    13

    SourceActivityId

    nvarchar

    36

     

     

    当前已执行活动标识

    14

    SourceActivityName

    nvarchar

    50

     

     

    当前已执行活动名称

    15

    TargetActivityId

    nvarchar

    36

     

     

    当前待执行活动标识

    16

    TargetActivityName

    nvarchar

    50

     

     

    当前待执行活动名称

    17

    Version

    int

     

     

     

    版本号

    18

    ExtensionDataType

    nvarchar

    255

     

     

    扩展数据类型

    19

    ExtensionData

    ntext

    1073741823

     

     

    扩展数据

    20

    CreatedFID

    nvarchar

    2048

     

     

    起草人完整标识路径

    21

    CreatedFName

    nvarchar

    2048

     

     

    起草人完整名称路径

    22

    CreatedDate

    datetime

     

     

     

    起草时间

    23

    LastUpdatedFID

    nvarchar

    2048

     

     

    最后修改人完整路径标识

    24

    LastUpdatedFName

    nvarchar

    2048

     

     

    最后修改人完整名称描述

    25

    LastUpdatedDate

    datetime

     

     

     

    最后修改时间

                     

    Attachment - 公文附件

    表名

    Attachment

    描述

    公文附件

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

    标识

    2

    No

    nvarchar

    50

     

     

    文号

    3

    Title

    nvarchar

    256

     

     

    标题

    4

    FileName

    nvarchar

    256

     

     

    文件名

    5

    FilePath

    nvarchar

    256

     

     

    文件路径

    6

    ExtensionName

    nvarchar

    10

     

     

    文件扩展名

    7

    Kind

    int

     

     

     

    附件类别

    8

    Type

    nvarchar

    256

     

     

    类型

    9

    Abstract

    nvarchar

    1024

     

     

    摘要

    10

    Body

    ntext

    1073741823

     

     

    正文

    11

    Keyword

    nvarchar

    256

     

     

    关键字

    12

    Tag

    nvarchar

    256

     

     

    标记

    13

    Comment

    ntext

    1073741823

     

     

    备注

    14

    FileContent

    varbinary

    -1

     

     

    附件内容

    15

    PublishDate

    datetime

     

     

     

    发布日期

    16

    DeleteStatus

    int

     

     

     

    删除状态

    17

    CreatedFID

    nvarchar

    2048

     

     

    创建人标识路径

    18

    CreatedFName

    nvarchar

    2048

     

     

    创建人名称路径

    19

    CreatedDate

    datetime

     

     

     

    创建时间

    20

    LastUpdatedFID

    nvarchar

    2048

     

     

    最后修改人标识路径

    21

    LastUpdatedFName

    nvarchar

    2048

     

     

    最后修改人名称路径

    22

    LastUpdatedDate

    datetime

     

     

     

    最后修改时间

    23

    DisplayOrder

    decimal

     

     

     

    显示顺序

    24

    Version

    int

     

     

     

    版本号

    25

    ObjectId

    nvarchar

    255

     

     

    所属记录标识

                     

    ActivityInstance - 活动步骤实例

    表名

    ActivityInstance

    描述

    活动步骤实例

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

    标识

    2

    WorkflowId

    nvarchar

    36

     

     

    所属公文流程模板标识

    3

    WorkflowName

    nvarchar

    255

     

     

    所属公文流程模板标识

    4

    WorkflowInstanceId

    nvarchar

    36

     

    WorkflowInstanceId

    5

    WorkflowInstanceSubject

    nvarchar

    255

     

     

    WorkflowInstanceSubject

    6

    Code

    nvarchar

    255

     

     

    编码

    7

    Name

    nvarchar

    255

     

     

    名称

    8

    Value

    nvarchar

    -1

     

     

    9

    Status

    int

     

     

     

    活动状态,未执行,未通过,已通过

    10

    ActivityKind

    int

     

     

     

    活动类型,保留

    11

    TopValue

    int

     

     

     

    Y坐标

    12

    LeftValue

    int

     

     

     

    X坐标

    13

    WidthValue

    int

     

     

     

    宽度值

    14

    HeightValue

    int

     

     

     

    高度值

    15

    IsStartActivity

    bit

     

     

     

    是否开始活动

    16

    IsFinishActivity

    bit

     

     

     

    是否结束活动

    17

    ExpirationTime

    int

     

     

     

    过期时间

    18

    Description

    nvarchar

    -1

     

     

    描述

    19

    Comment

    nvarchar

    -1

     

     

    备注

    20

    QuanPin

    nvarchar

    -1

     

     

    保留

    21

    JianPin

    nvarchar

    255

     

     

    保留

    22

    DisplayOrder

    decimal

     

     

     

    显示顺序

    23

    LargeImage

    nvarchar

    -1

     

     

    保留

    24

    SmallImage

    nvarchar

    -1

     

     

    保留

    25

    ExtensionDataType

    nvarchar

    255

     

     

    扩展数据类型名

    26

    ExtensionData

    nvarchar

    -1

     

     

    扩展数据值

    27

    EntryExecuteTypeName

    nvarchar

    255

     

     

    入口点执行外部方法类的信息

    28

    EntryExecuteMethodName

    nvarchar

    255

     

     

    入口点执行外部方法的方法名

    29

    ExitExecuteTypeName

    nvarchar

    255

     

     

    出口点执行外部方法类的信息

    30

    ExitExecuteMethodName

    nvarchar

    255

     

     

    出口点执行外部方法的方法名

    31

    DeleteStatus

    int

     

     

     

    删除状态

    32

    CreatedFID

    nvarchar

    2048

     

     

    CreatedFID

    33

    CreatedFName

    nvarchar

    2048

     

     

    CreatedFName

    34

    CreatedDate

    datetime

     

     

     

    CreatedDate

    35

    LastUpdatedFID

    nvarchar

    2048

     

     

    LastUpdatedFID

    36

    LastUpdatedFName

    nvarchar

    2048

     

     

    LastUpdatedFName

    37

    LastUpdatedDate

    datetime

     

     

     

    LastUpdatedDate

    38

    Owner

    nvarchar

    255

     

     

    Owner

    39

    ApplicationName

    nvarchar

    255

     

     

    ApplicationName

                     

    ActivityInstanceAuditor - 活动步骤实例对应的审批人

    表名

    ActivityInstanceAuditor

    描述

    活动步骤实例对应的审批人(多个审批人则为并行模式,通过权重判断是否审批通过)

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

     

    标识

    2

    ActivityInstanceId

    nvarchar

    36

     

    所属活动步骤实例标识

    3

    ActivityInstanceName

    nvarchar

    255

     

     

    所属活动步骤实例名称

    4

    AuditingFID

    nvarchar

    2048

     

     

    活动审批人完整标识

    5

    AuditingFName

    nvarchar

    2048

     

     

    审核人完整名称路径

    6

    ExperiationTime

    int

     

     

     

    过期时间(小时)

    7

    ExperiationResult

    int

     

     

     

    超时时自动执行的结果(是否通过)

    8

    Weight

    decimal

     

     

     

    权重

    9

    AuditedResult

    int

     

     

     

    审核结果(未审核,审核未通过,审核通过)

    10

    AuditedOpinion

    ntext

    1073741823

     

     

    审核意见

    11

    AuditedFID

    nvarchar

    2048

     

     

    审核人完整标识

    12

    AuditedFName

    nvarchar

    2048

     

     

    AuditedFName

    13

    AuditedDate

    datetime

     

     

     

    AuditedDate

    14

    AuditedKind

    int

     

     

     

    人工审批,超时自动审批

    15

    Comment

    ntext

    1073741823

     

     

    备注

                     

    ActivityLogs - 活动日志

    表名

    ActivityLogs

    描述

    活动审批日志信息

    序号

    列名

    字段类型

    长度

    可空

    主键

    外键

    描述

    1

    ID

    nvarchar

    36

     

    ID

    2

    WorkflowInstanceId

    nvarchar

    36

     

    所属公文流程实例标识

    3

    WorkflowInstanceSubject

    nvarchar

    255

     

     

    所属公文流程实例主题

    4

    WorkflowId

    nvarchar

    36

     

     

    所属公文流程模板标识

    5

    WorkflowName

    nvarchar

    255

     

     

    所属公文流程模板名称

    6

    SourceActivityInstanceId

    nvarchar

    36

     

     

    执行的活动实例标识

    7

    SourceActivityInstanceName

    nvarchar

    255

     

     

    执行的活动实例名称

    8

    SourceActivityInstanceKind

    int

     

     

     

    执行的活动实例类型

    9

    TargetActivityInstanceId

    nvarchar

    36

     

     

    待执行的活动实例标识

    10

    TargetActivityInstanceName

    nvarchar

    255

     

     

    待执行的活动实例名称

    11

    TargetActivityInstanceKind

    int

     

     

     

    待执行的活动实例类型

    12

    AuditedWeight

    decimal

     

     

     

    审核的权重结果

    13

    AuditedOpinion

    nvarchar

    -1

     

     

    审核的意见

    14

    AuditedFID

    nvarchar

    -1

     

     

    审核人完整标识路径

    15

    AuditedFName

    nvarchar

    -1

     

     

    审核人完整名称路径

    16

    AuditedDate

    datetime

     

     

     

    审核日期

    17

    AuditedResult

    int

     

     

     

    审核的结果(未通过,正在并行审批,已通过)

    18

    AuditedKind

    int

     

     

     

    审核类别(人工审核,超时自动审核等)

    19

    Comment

    nvarchar

    -1

     

     

    备注

    20

    CreatedFID

    nvarchar

    2048

     

     

    起草人完整标识路径

    21

    CreatedFName

    nvarchar

    2048

     

     

    起草人完整名称路径

    22

    CreatedDate

    datetime

     

     

     

    起草日期

                     

     最终实现的界面效果如下:

     

    下一章:MVC中实现动态自定义路由

  • 相关阅读:
    几种任务调度的 Java 实现方法与比较
    nginx配置
    生产消费_lock和阻塞队列
    阻塞队列
    countdownlatch+cyclicbarrier+semphore
    01背包
    skiplist
    lru
    按序打印_lock和condition
    按序打印_volatile 无法保证顺序
  • 原文地址:https://www.cnblogs.com/gyche/p/5216051.html
Copyright © 2020-2023  润新知