您的位置:首页 > 编程语言

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

2016-02-26 08:58 941 查看
今天有空更新博客才发现快一年没有写博客了,不得不感叹时间过得真快。过去的一年确实也挺忙的,在此祝各位博友们新的一年工作顺利。权限模型在过去一年进行了不少的升级,主要集成了公文流转系统、多家手机短信接口的集成、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中实现动态自定义路由
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: