YbSoftwareFactory 代碼生成插件【二十三】:集成強大的公文流轉系統

  今天有空更新博客才發現快一年沒有寫博客了,不得不感嘆時間過得真快。過去的一年確實也挺忙的,在此祝各位博友們新的一年工做順利。權限模型在過去一年進行了很多的升級,主要集成了公文流轉系統、多家手機短信接口的集成、CMS動態路由的實現、以及Hangfire消息隊列與任務調度組件的集成等,本章主要對公文流轉系統進行整體的介紹,感興趣的可進一步交流或訪問http://pjdemo.yellbuy.com數據庫

  公文流轉系統是國內企事業單位的廣泛需求,具備很強的中國特點。一般其核心需求以下:框架

  • 具有公文流程審批,流程支持多人並批(有時須要考慮審批人的權重)、打回當前審批人以前任意人(包括起草人)
  • 有權限的審批人能在審批過程當中能前插、後插審批人進行審批,審批人可提早瀏覽本人將審批的公文。
  • 每一個公文流程可設置傳閱人,傳閱人只能看流程的公文信息,不參與審批
  • 公司(子公司)可分別建立不一樣的審批流程,根據公司(子公司)、公文類別來肯定流程
  • 公文起草和審批時能上傳多個附件
  • 菜單中有起草公文、已發公文、送閱公文、待辦公文、已批公文、公文一覽等。

  權限模型以組織機構爲中心,更加符合國內實際狀況,也很是適合公文流轉系統的開發。在權限模型框架的基礎之上,能對模塊、按鈕、數據權限進行全方位的控制,可對各個組織不一樣類型的權限進行受權和管理。使用權限模型,就須要根據權限模型的開發規範對數據庫進行建模,其中須要進行數據權限控制的業務功能模塊須要具備(:DeleteStatus,CreatedFID和CreatedFName三個默認的字段)。以下爲公文流轉系統的數據庫設計表結構:數據庫設計

WorkflowTemplate - 公文流程模板編碼

表名spa

WorkflowTemplate設計

描述日誌

公文流程模板orm

序號blog

列名接口

字段類型

長度

可空

主鍵

外鍵

描述

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中實現動態自定義路由

相關文章
相關標籤/搜索