# BPS表结构

BPS默认采用数据库方式对业务流程的定义以及运行期的流程实例、活动、工作项等进行持久化存储。主要包括BPS流程流转相关的定义、实例、工作项、参与者相关的数据表以及和实际业务流程控制相关的如代理、定时器、日志等数据表。以下是对BPS中主要使用的数据库表结构进行说明。

# BPS系统信息表、审计日志表和定时器表

# BPS系统信息表(WFSystemInfo)

名称 代码 描述
配置的键 configKey
配置的值 configValue
配置的描述 configDesc
配置类型 configType

# 审计日志表(WFAuditRecord)

名称 代码 描述
名称 代码 描述
审计记录ID auditRecordID 主键
请求编号 uniqueID 请求的唯一编号
记录时机 logOccasion 开始(B)、结束(E)、异常(EX)
操作名称 actionName 调用的方法名
操作类型 actionType
发生时间 occurTime
操作员名称 userName
创建时间 createTime
IP地址 ipAddress
操作级别 optionLevel PROCESSDEFINE、PROCESSINST、ACTIVITYINST、WORKITEM
流程定义ID processDefineID
流程实例ID processInstID
流程实例ID activityInstID
活动定义ID workItemID
日志正文 message
父流程实例ID parentProcInstID

# 定时器表(WFTimer)

名称 代码 描述
定时器ID timerID 主键
定时器名称 timerName
定时器类型 timerType 0(ONCE)、1(CYCLE)
定时器业务类型 timerKind 流程(PROCESS)、工作项(WORKITEM)
对象ID objectID
参数 parameter
当前状态 currentState 1(激活)、2(挂起)、3(终止)
注册时间 registeTime
第一次触发时间 firstTriggeTime
触发总次数 cycleTimes
下次触发时间 nextTriggeTime
剩余触发次数 leftCycleTimes
周期时间 cycleInterval
注册时间描述 regTimeDesc
触发时间描述 trigTimeDesc

# 流程定义表、流程实例表和流程实例属性表

# 流程定义表(WFProcessDefine)

名称 代码 备注
流程定义ID processDefID 主键
流程定义名称 processDefName
业务流程显示名称 processChName
业务流程描述 description
当前发布状态 currentState 已发布(3)、未发布(1),一个流程定义名称对应的流程定义只有一个已发布版本。
流程定义版本号 versionSign 流程版本号,如1.1.1
流程定义版本说明 versionDesc
是否最新版本 currentFlag 最新版本为1,非最新为0。一个流程定义名称对应的流程定义只有一个最新版本。
流程定义内容 processDefContent
创建时间 createTime
更新时间 updateTime
操作员 operator
流程所有者 processDefOwner
流程构件包ID packageID
流程构件包名称 packageName
是否有活动实例 hasActiveInstance
业务目录编号 catalogUUID

# 流程实例表(WFProcessInst)

名称 代码 备注
名称 代码 备注
流程实例ID processInstID 主键
流程实例名称 processInstName
流程实例描述 processInstDesc
创建者 creator
所有者 owner
当前状态 currentState 未启动(1)、运行(2)、挂起(3)、完成(7)、终止(8)
优先级 Priority 极低(30)、低(40)、中低(50)、普通(60)、中高(70)、高(80);目前未使用,无功能含义。
相关数据大字段 relateData 相关数据Size大时存放这里。
相关数据字符串 relateDataVChr 相关数据Size小时存放这里,存取效率高。
限制时间数 limitNum
限制时间描述 limitNumDesc
创建时间 createTime
启动时间 startTime
结束时间 endTime
超时时间 finalTime
提醒时间 remindTime
父流程实例ID parentProcID
父活动实例ID parentActID
流程定义ID processDefID
是否超时 isTimeOut 是(Y)、否(N)
超时数字 timeOutNum
超时时间描述 timeOutNumDesc
更新版本号 updateVersion 流程实例的操作都会更新流程实例版本号。
流程定义名称 processDefName
业务目录编号 catalogUUID
业务目录名称 catalogName

# 流程实例属性表(WFProcessInstAttr)

名称 代码 描述
流程实例ID processInstID 主键
属性 attribute 存放流程实例相关的一些属性。如:自由流后继活动、多子流程ID等。

# 代理关系表、代理项明细表和代理人范围表

# 代理关系表(WFAgent)

名称 代码 描述
代理关系ID agentID 主键
委托人 agentFrom
代理人 agentTo
代理人类型 AgentToType 参与者类型(与自定义组织机构相关)
代理类型 AgentType 完全代理(ALL)、部分代理(PART)
代理原因 agentReason
开始时间 startTime StartTime后代理关系生效
终止时间 endTime endTime后代理关系失效

# 代理项明细表(WFAgentItem)

代理关系表的从表,WFAgent 1 : n WFAgentItem 。一条代理关系可以对应一到多条代理项。

名称 代码 描述
代理项ID agentItemID 主键
代理项类型 itemType 流程(PROC)、活动(ACT)
代理项编号 itemID
是否有效 valid 参与者类型(与自定义组织机构相关)
访问类型 accessType 完全代理(ALL)、部分代理(PART)
代理关系编号 agentID

# 代理人范围表(WFAgentScope)

名称 代码 描述
代理范围编号ID agentScopeID 主键
参与者ID agenterID 代理范围中的某参与者ID
参与者名称 agenterName 代理范围中的某参与者名称
参与者 agenterType 代理范围中的某参与者类型
参与者ID personID 要指定代理人范围的参与者ID

# 活动实例表、工作项表和参与者表

# 活动实例表(WFActivityInst)

名称 代码 描述
活动实例ID activityInstID 主键
活动实例名称 activityInstName
活动实例描述 activityInstDesc
活动类型 activityType 人工(manual)、路由(route)、自动(toolapp)、完成(subflow)、开始(start)、结束(finish)
当前状态 currentState 未启动(1)、运行(2)、挂起(3)、完成(7)、终止(8)、待激活(10)
优先级 priority 极低(30)、低(40)、中低(50)、普通(60)、中高(70)、高(80);目前未使用,无功能含义。
创建时间 createTime
启动时间 startTime
结束时间 endTime
最后期限 finalTime
子流程实例ID subProcessID
是否超时 isTimeOut 是(Y)、否(N)
活动定义ID activityDefID
流程实例ID processInstID
超时时间数 timeOutNum
超时时间描述 timeOutNumDesc
回退标志 rollbackFlag 正常(0)、回退(1)
业务目录编号 catalogUUID
业务目录名称 catalogName

# 工作项表(WFWorkItem)

名称 代码 描述
名称 代码 描述
工作项ID workItemID 主键
工作项名称 workItemName
工作项描述 workItemDesc
工作项类型 workItemType 人工活动(M);目前只有这一种类型
当前状态 currentState 待领取(4)、运行(10)、完成(12)、终止(13)、挂起(8)
参与者 participant 用来显示所有工作项参与者
优先级 priority 极低(30)、低(40)、中低(50)、普通(60)、中高(70)、高(80);目前未使用,无功能含义。
是否超时 isTimeOut 是(Y)、否(N)
限制时间数 limitNum
限制时间描述 limitNumDesc
创建时间 createTime
启动时间 startTime
完成时间 endTime
超时时间 finalTime
提醒时间 remindTime
自定义url actionURL
历史状态 statesList 目前未使用此字段
超时数 timeOutNum
超时时间描述 timeOutNumDesc
流程实例ID processInstID
流程实例名称 processInstName
活动实例ID activityInstID
活动实例名称 activityInstName
业务流程ID processDefID
业务流程名称 processDefName
业务流程中文名称 processChName
活动定义ID activityDefID
操作码 actionMask 做是否允许操作的控制,每位代表不同操作。
工作项完成者 assistant
业务状态 bizState
允许代理 allowAgent 是(Y)、否(N)
自定义url类型 urlType
根流程实例ID rootProcInstID 根流程即顶层的父流程。
业务目录编号 catalogUUID
业务目录名称 catalogName

# 参与者表(WFWIParticipant)

名称 代码 描述
参与者项ID WIParticID 主键
工作项ID workItemID
参与者类型 participantType 与自定义组织机构相关(typeCode)
参与者值ID participantID
参与者值NAME participantName
工作项状态 workitemState 同WFWorkItem标的工作项状态
参与类型 partiInType 领取(GET)、执行(EXE)、曾经领取(OGET)、曾经执行(OEXE)、执行完成(PEXE)
代办类型 delegateType 代办(D)、协办(H)
参与顺序 participantIndex
参与者唯一编号 globalID 与自定义组织机构相关;如P{tiger} P代表组织机构中Person 类型的简写,tiger为参与者的ID。
其余字段均是WFWIParticipant表的冗余字段。
业务目录编号 catalogUUID
业务目录名称 catalogName

# 迁移线表和迁移控制表

# 迁移线表(WFTransition)

名称 代码 描述
连线ID transitionID 主键
迁移类型 transitionType 生效的(Y)、不生效的(N)
源活动实例ID causeActInstID
源活动实例名称 causeActInstName
目标活动实例ID resultActInstID
目标活动实例名称 resultActInstName
源活动定义ID srcActDefID
目标活动定义ID destActDefID
源活动定义名称 srcActDefName
目标活动定义名称 destActDefName
流转时间 transTime
流程实例ID processInstID

# 迁移控制表(WFTransCtrl)

名称 代码 描述
迁移控制ID transCtrlID 主键
源活动定义ID srcActDefID
目标活动定义ID destActDefID
源活动定义名称 srcActDefName
目标活动定义名称 destActDefName
最后流转时间 lastTransTime
迁移权重 transWeight 权重为1代表连线已结束,后继活动未启动
流程实例ID processInstID

# 表间关系

  • 一个流程定义可以对应多个流程实例:WFProcessDefine 1 : n WFProcessInst
  • 一个流程实例对应多个活动实例:WFProcessInst 1:n WFActivityInst
  • 一个人工活动实例可以对应多个工作项:WFActivityInst 1:n WFWorkItem
  • 一个工作项可以对应多个参与者:WFWrokItem 1:n WFWIParticipant
  • 一条代理关系可以对应多条代理项:WFAgent 1:n WFAgentItem
  • 一条流程实例都会对应一条流程实例属性:WFProcessInst 1:1 WFProcessInstAttr

# 后续版本中保持兼容的表字段

声明

BPS的数据库表可能会由于功能改进或者是需求扩展而进行相应的改变,所以不允许用户使用非BPS的对外接口修改BPS表结构和内容,也不建议用户使用非BPS对外接口对BPS的表进行查询,如果有BPS对外接口无法实现的功能,我们欢迎您向我们提出宝贵的改进意见。 但在某特定的紧急情况下,用户为了实现特殊的功能,可能会不使用BPS引擎提供的接口而自己实现查询BPS的表信息,在这里我们列举出BPS数据库中主要表的今后会保持结构、含义兼容的可以供用户自主查询的字段列表。以避免用户因为使用不当,导致今后版本无法升级,给用户应用造成损失。

# 流程定义表

字段名称 中文名称
processDefID 业务流程ID
processDefName 业务流程名称
processChName 业务流程显示名称
description 业务流程描述
currentState 业务流程当前状态
versionSign 业务流程版本标记
versionDesc 业务流程版本描述
currentFlag 业务流程是否为当前版本的标志
createTime 业务流程创建时间
updateTime 业务流程更新时间
operator 流程定义部署者
processDefOwner 业务流程作者
packageID 所属业务流程包ID
packageName 所属业务流程包名称

# 流程实例表

字段名称 中文名称
processInstID 流程实例ID
processInstName 流程实例名称
processInstDesc 流程实例的描述
creator 流程实例创建者
owner 所属业务流程作者
currentState 流程实例的当前状态
priority 优先级
limitNum 时间限制数
limitNumDesc 时间限制描述
createTime 流程实例创建时间
startTime 流程实例开始时间
endTime 流程实例结束时间
finalTime 流程实例终止时间
remindTime 流程实例提醒时间
parentProcID 所属父流程ID
parentActID 所属父活动ID
processDefID 所属业务流程ID
isTimeOut 是否超时
processDefName 所属业务流程名称

# 活动实例表

字段名称 中文名称
activityInstID 活动实例ID
activityInstName 活动实例名称
activityInstDesc 活动实例描述
activityType 所属活动定义类型
currentState 活动实例当前状态
priority 优先级
createTime 活动实例创建时间
startTime 活动实例开始时间
endTime 活动实例结束时间
subProcessID 子业务流程ID
activityDefID 所属活动定义ID
processInstID 所属的流程实例ID
rollbackFlag 回退标志

# 工作项表

字段名称 中文名称
字段名称 中文名称
workItemID 工作项ID
workItemName 工作项名称
workItemType 工作项类型
workItemDesc 工作项描述
currentState 工作项当前状态
participant 参与者
priority 优先级
isTimeOut 工作项对应的活动实例是否超时
limitNum 工作项对应的活动实例的时间限制数
limitNumDesc 工作项对应的活动实例的时间限制描述
createTime 工作项创建时间
startTime 工作项开始时间
endTime 工作项结束时间
finalTime 工作项终止时间
remindTime 工作项提醒时间
actionURL 自定义URL
processInstID 所属流程实例ID
activityInstID 所属活动实例ID
processInstName 所属流程实例的名称
activityInstName 所属活动实例的名称
processDefID 所属业务流程ID
processDefName 所属业务流程名称
processChName 所属流程显示名称
activityDefID 所属活动定义ID
allowAgent 是否允许代理
bizState 业务状态
assistant 工作项当前执行者
urlType URL类型
上次更新: 2023/3/20下午3:44:43