跳转至

数据结构描述

本文档描述 OBPM 平台数据库表的分类、命名规范与生成机制。

平台支持多种数据库:MySQL、Oracle、PostgreSQL、SQL Server、KingBase、OceanBase、DM、DB2、HSQLDB/H2、Oscar。连接池使用 Druid(com.alibaba.druid)。

系统表

系统库以 JPA 或 Hibernate 作为 ORM,启动时通过 ddl-auto=update 自动创建/增量更新表结构(仅新增,不删除)。

基础配置见 obpm-common/src/main/resources/application-base.properties

spring.jpa.database=mysql
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

两类映射方式并存:

  • Hibernate *.hbm.xml 映射(旧体系):usercenter 模块的 PO,如 UserVO.hbm.xmlDepartmentVO.hbm.xmlDomainVO.hbm.xmlForm.hbm.xml
  • JPA @Entity 注解(新模块):KMS、AI、Message、Logger 等

按模块分组如下:

obpm-usercenter

  • 表前缀:T_
  • 实体位置:obpm-usercenter/.../dao/
  • 代表表:
  • 用户体系:T_USERT_DEPARTMENTT_DOMAINT_ACCOUNTT_USERGROUPT_USER_GROUP_SETT_USER_DEPARTMENT_ROLE_SETT_USER_DEFINED
  • 工作日历:T_CALENDART_STANDARDDAYT_SPECIALDAY
  • 其他:T_SYNCLOGT_MEDIAT_FIELD_EXTENDS

T_USER

用户主表。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 姓名
NAME_LETTER VARCHAR 姓名首字母
CALENDAR VARCHAR 日历类型
LEVELS INT 级别
REMARKS VARCHAR 备注
SUPERIOR VARCHAR 上级 ID
PROXYUSER VARCHAR 代理人 ID
EQUIPMENTID VARCHAR 设备 ID
DEFAULTDEPARTMENT VARCHAR 默认部门
DEFAULTAPPLICATION VARCHAR 默认应用
STATUS INT 状态
DOMAINID VARCHAR 域 ID
DEPARTMENTUSER BOOLEAN 是否部门用户
STARTPROXYTIME DATE 代理开始时间
ENDPROXYTIME DATE 代理结束时间
USEIM BOOLEAN 是否使用 IM
ORDERBYNO INT 排序号(默认 10000)
LASTMODIFYTIME DATE 最后修改时间
PASSWORDARRAY VARCHAR(1000) 密码数组
LOCKFLAG INT 锁定标记(默认 1)
PUBLICKEY VARCHAR(1000) 公钥
AVATAR TEXT 头像
FAVORITE_CONTACTS TEXT 常用联系人
PERMISSION_TYPE VARCHAR 权限类型
LIAISON_OFFICER BOOLEAN 是否联络员
DDUSERID VARCHAR 钉钉用户 ID
FSUSERID VARCHAR 飞书用户 ID
TELEPHONEPUBLIC BOOLEAN 电话是否公开
TELEPHONEPUBLIC2 BOOLEAN 电话2是否公开
EMAILPUBLIC BOOLEAN 邮箱是否公开
USERINFOPUBLIC BOOLEAN 用户信息是否公开
SIGNS TEXT 个性签名
CONFIGURE TEXT 配置
COMMON_OPINION TEXT 常用意见
FIELD1 ~ FIELD25 VARCHAR/TEXT 扩展字段(FIELD18-20 为 TEXT)
showEmail BOOLEAN 是否显示邮箱
MANAGE_DEPARTMENTS VARCHAR 管理部门
INTERFACE_DEPARTMENTS VARCHAR 接口部门
VIEWSETTINGS TEXT 视图设置
SECRET VARCHAR 密级
ACCOUNTID VARCHAR 账户 ID(外键 T_ACCOUNT)

T_ACCOUNT

账户/登录信息表。

列名 类型 说明
ID VARCHAR 主键
ISFIRSTLOGIN BOOLEAN 是否首次登录
LOGINNO VARCHAR 登录账号
LOGINPWD VARCHAR 登录密码
EMAIL VARCHAR 邮箱
TELEPHONE VARCHAR 电话
TELEPHONE2 VARCHAR 电话2

T_DEPARTMENT

部门表。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 部门名称
SUPERIOR VARCHAR 上级部门 ID
DOMAIN_ID VARCHAR 域 ID(外键 T_DOMAIN)
LEVELS INT 级别
INDEXCODE VARCHAR(1000) 索引码
CODE VARCHAR 部门编码
SORTID VARCHAR 排序号
VALID INT 是否有效(默认 1)
ORDERBYNO INT 排序号(默认 10000)
WEIXIN_DEPT_ID VARCHAR 微信部门 ID
LANXIN_DEPT_ID VARCHAR 蓝信部门 ID
DINGDING_DEPT_ID VARCHAR 钉钉部门 ID
FS_DEPT_ID VARCHAR 飞书部门 ID
LASTMODIFYTIME DATE 最后修改时间
FIELD1 ~ FIELD20 VARCHAR/TEXT 扩展字段(FIELD17-20 为 TEXT)

T_DOMAIN

域/租户表(多租户隔离的核心,含微信/钉钉/飞书/邮件等集成配置)。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 域名称
SORTID VARCHAR 排序号
SKINTYPE VARCHAR 皮肤类型
DESCRIPTION TEXT 描述
STATUS INT 状态
yun_api_key VARCHAR 云 API Key
IS_LOG BOOLEAN 是否启用日志
SYSTEM_NAME VARCHAR 系统名称
LOGO_URL VARCHAR Logo 地址
WEIXIN_CORP_ID VARCHAR 微信企业 ID
WEIXIN_CORP_SECRET VARCHAR 微信密钥
WEIXIN_AGENT_ID VARCHAR 微信应用 ID
WEIXIN_PROXY_TYPE VARCHAR 微信代理类型
SERVER_HOST VARCHAR 服务器地址
WEIXIN_TOKEN VARCHAR 微信 Token
WEIXIN_QRCODE_AGENTID VARCHAR 微信扫码应用 ID
WEIXIN_QRCODE_SECRET VARCHAR 微信扫码密钥
WEIXIN_QRCODE_CALLBACKURL VARCHAR 微信扫码回调地址
DINGDING_QRCODE_APPID VARCHAR 钉钉扫码 AppId
DINGDING_QRCODE_APPSECRET VARCHAR 钉钉扫码密钥
DINGDING_QRCODE_CALLBACKURL VARCHAR 钉钉扫码回调
WEIXIN_ENCODING_AESKEY VARCHAR 微信加密 AESKey
DINGDING_PROXY_TYPE VARCHAR 钉钉代理类型
DINGDING_CORP_ID VARCHAR 钉钉企业 ID
DINGDING_APP_SECRET VARCHAR 钉钉密钥
DINGDING_APP_KEY VARCHAR 钉钉 Key
DINGDING_AGENT_ID VARCHAR 钉钉应用 ID
DINGDING_SERVER_HOST VARCHAR 钉钉服务器
DINGDING_TOKEN VARCHAR 钉钉 Token
DINGDING_CONFIG TEXT 钉钉配置 JSON
FS_PROXY_TYPE VARCHAR 飞书代理类型
FS_CORP_ID VARCHAR 飞书企业 ID
FS_APP_SECRET VARCHAR 飞书密钥
FS_APP_KEY VARCHAR 飞书 Key
FS_SERVER_HOST VARCHAR 飞书服务器
FS_TOKEN VARCHAR 飞书 Token
FS_CONFIG TEXT 飞书配置 JSON
SYSTEM_MODULE_CONFIG TEXT 系统模块配置
BIND_APPLICATIONS TEXT 绑定应用
WEIXIN_CONFIG TEXT 微信配置 JSON
SEND_HOST VARCHAR 邮件服务器
SEND_ADDRESS VARCHAR 发件地址
SEND_ACCOUNT VARCHAR 发件账号
SEND_PASSWORD VARCHAR 发件密码
CC_ADDRESS VARCHAR 抄送地址
ISUSE_CLIENT VARCHAR 是否使用客户端
FUNCTION_DOMAIN VARCHAR 功能域
TRASH VARCHAR 废件箱
SENDER VARCHAR 发件人
DRAFT VARCHAR 草稿箱
REMOVED VARCHAR 已删除
FETCH_SERVER VARCHAR 收件服务器
FETCH_SERVER_PORT VARCHAR 收件端口
FETCH_PROTOCOL VARCHAR 收件协议
FETCH_SSL VARCHAR 收件 SSL
SMTP_SERVER VARCHAR SMTP 服务器
SMTP_SERVER_PORT VARCHAR SMTP 端口
SMTP_AUTH_ENTICATED VARCHAR SMTP 认证
SMTP_SSL VARCHAR SMTP SSL
PARENTS VARCHAR 父级
FIELD1 ~ FIELD20 VARCHAR/TEXT 扩展字段(FIELD8-10、18-20 为 TEXT)
SECRET VARCHAR 密级
ABBREVIATION VARCHAR 简称

T_USER_DEFINED

用户自定义配置表(首页/模板)。

列名 类型 说明
ID VARCHAR 主键(UUID)
APPLICATIONID VARCHAR 应用 ID
USERID VARCHAR 用户 ID
TEMPLATESTYLE TEXT 模板样式
TEMPLATEELEMENT TEXT 模板元素
NAME VARCHAR 名称
TYPE VARCHAR 类型
DISPLAYTO VARCHAR 显示对象
ROLEIDS TEXT 角色 ID 列表
ROLENAMES TEXT 角色姓名
CREATOR VARCHAR 创建者
DEFINEMODE INT 定义模式
TEMPLATECONTEXT TEXT 模板内容
PUBLISHED BOOLEAN 是否发布
USEDDEFINED INT 是否用户自定义
USUALSTARTMENUS TEXT 常用菜单

T_USER_DEPARTMENT_ROLE_SET

用户-部门-角色关联表。

列名 类型 说明
ID VARCHAR 主键(UUID)
DEPARTMENTID VARCHAR 部门 ID
USERID VARCHAR 用户 ID
ROLEID VARCHAR 角色 ID

T_USERGROUP

用户组表。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 用户组名
OWNERID VARCHAR 拥有者 ID
DOMAINID VARCHAR 域 ID

T_USER_GROUP_SET

用户组成员关联表。

列名 类型 说明
ID VARCHAR 主键
USERID VARCHAR 用户 ID
USERGROUPID VARCHAR 用户组 ID

T_SYNCLOG

数据同步日志表。

列名 类型 说明
ID VARCHAR 主键
ACTION VARCHAR 动作
ACTIONTIME DATE 动作时间
TABLENAME VARCHAR 表名
STATUS INT 状态
DATAOPERATION TEXT 数据操作内容
MSG TEXT 消息

T_CALENDAR

工作日历表。

列名 类型 说明
ID VARCHAR 主键
CALENDARTYPE VARCHAR 日历类型
CALENDARNAME VARCHAR 日历名称
LASTMODIFYDATE DATE 最后修改时间
SORTID VARCHAR 排序号
DOMAINID VARCHAR 域 ID
REMARK VARCHAR 备注
WORKINGTIME INT 工作时长
FROMCALENDARID VARCHAR 来源日历 ID

T_STANDARDDAY

标准工作日表(含 5 段上下班时间)。

列名 类型 说明
ID VARCHAR 主键
CALENDAR VARCHAR 所属日历 ID
STATUS VARCHAR 工作日状态
STARTTIME1 ~ STARTTIME5 VARCHAR 5 段上班时间
ENDTIME1 ~ ENDTIME5 VARCHAR 5 段下班时间
WEEKDAYS INT 星期几
LASTMODIFYDATE DATE 最后修改时间
SORTID VARCHAR 排序号
DOMAINID VARCHAR 域 ID
APPLICATIONID VARCHAR 应用 ID
REMARK VARCHAR 备注

T_SPECIALDAY

特殊日表(节假日/调休,含 5 段上下班时间)。

列名 类型 说明
ID VARCHAR 主键
CALENDAR VARCHAR 所属日历 ID
STATUS VARCHAR 工作日状态
STARTDATE DATE 开始日期
ENDDATE DATE 结束日期
STARTTIME1 ~ STARTTIME5 VARCHAR 5 段上班时间
ENDTIME1 ~ ENDTIME5 VARCHAR 5 段下班时间
WORKDAYS INT 工作日
DOMAINID VARCHAR 域 ID
LASTMODIFYDATE DATE 最后修改时间
SORTID VARCHAR 排序号
APPLICATIONID VARCHAR 应用 ID
REMARK VARCHAR 备注

T_FIELD_EXTENDS

字段扩展配置表。

列名 类型 说明
ID VARCHAR 主键(UUID)
FOR_TABLE VARCHAR 所属表
NAME VARCHAR 字段名
LABEL VARCHAR 显示名
TYPE VARCHAR 类型
IS_NOT_NULL BOOLEAN 是否非空
ENABEL BOOLEAN 是否启用
SORT_NUMBER INT 排序号
OPTIONS VARCHAR 选项
IS_READ_ONLY BOOLEAN 是否只读
IS_SUPPORT_SEARCH BOOLEAN 是否支持搜索
IS_SUPPORT_IMPORT BOOLEAN 是否支持导入
DOMAINID VARCHAR 域 ID

T_MEDIA

媒体资源表。

列名 类型 说明
ID VARCHAR 主键
TYPE VARCHAR 类型
SIZE BIGINT 大小
NAME VARCHAR 名称
MEDIAID VARCHAR 媒体 ID
DOMAINID VARCHAR 域 ID
CREATEDATE DATE 创建时间

obpm-signon

  • 表前缀:T_
  • 实体位置:obpm-signon/.../auth/model/
  • 代表表:T_USERT_DOMAINT_ACCOUNT
  • 说明:用 @Entity + @Table(name="T_USER") 覆盖同名表,与 usercenter 的 hbm.xml 映射指向同一物理表(字段定义以 usercenter 的 hbm.xml 为准)

obpm-core

  • 表前缀:T_
  • 实体位置:obpm-core/.../
  • 代表表:
  • 表单定义:T_DYNAFORM_FORMT_PAGET_COMPONENT
  • 其他:T_LINK

T_DYNAFORM_FORM

表单定义主表。

列名 类型 说明
ID VARCHAR 主键
APPLICATIONID VARCHAR 应用 ID
SORTID VARCHAR 排序号
ACTIVITYXML TEXT(16M) 活动 XML
RELATIONTEXT TEXT 关联文本
MAPPINGSTR TEXT 映射字符串
ISOPENABLESCRIPT TEXT 打开脚本
ISEDITABLESCRIPT TEXT 编辑脚本
VERSIONS INT 版本
NAME VARCHAR 表单名
RELATIONNAME VARCHAR 关联名
TYPE INT 类型
TEMPLATECONTEXT TEXT(16M) 模板内容
DISCRIPTION TEXT(1000) 描述
LASTMODIFIER VARCHAR 最后修改人
LASTMODIFYTIME DATE 最后修改时间
STYLE VARCHAR 样式
SHOWLOG BOOLEAN 是否显示日志
SHOWWATERMARK BOOLEAN 是否显示水印
WATERMARK_SCRIPT TEXT 水印脚本
ONSAVESTARTFLOW BOOLEAN 保存时启动流程
DOC_SUMMARY_XML TEXT 文档摘要 XML
CHECKOUT BOOLEAN 是否检出(默认 0)
CHECKOUTHANDLER VARCHAR 检出人
ORDERNO INT 排序号(默认 10000)
PERMISSION_TYPE VARCHAR 权限类型
LAYOUT_TYPE VARCHAR 布局类型

注:T_PAGET_COMPONENTT_DYNAFORM_FORM 的 joined-subclass,当前映射代码已注释,仅在历史版本中存在。

链接表。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 链接名
DESCRIPTION VARCHAR 描述
TYPE VARCHAR 类型
APPLICATIONID VARCHAR 应用 ID
MODULEID VARCHAR 模块 ID
ACTIONCONTENT VARCHAR(2000) 动作内容
QUERYSTRING TEXT 查询字符串
DIRECTORY VARCHAR 目录
SORTID VARCHAR 排序号

obpm-kms

  • 表前缀:KMS_
  • 实体位置:obpm-kms/.../model/
  • 代表表:KMS_FILEOBJECTKMS_DISKKMS_CATEGORYKMS_FILE_WIKI 等 20+ 张
  • 详细字段结构见 KMS 模块数据表

obpm-ai

  • 表前缀:ai_
  • 实体位置:obpm-ai/.../entity/
  • 代表表:ai_system_promptai_chat_memory

ai_system_prompt

系统提示词表。

列名 类型 主键 说明
id BIGINT PK(自增) 主键
user_id VARCHAR(255) 用户 ID
prompt_name VARCHAR(255) 提示词名称
prompt_content LONGTEXT 提示词内容
is_default BOOLEAN 是否默认
created_at DATETIME 创建时间
updated_at DATETIME 更新时间

ai_chat_memory

聊天记忆表。

列名 类型 主键 说明
id BIGINT PK(自增) 主键
memory_id VARCHAR(255) 记忆 ID
message_index INT 消息序号
message_type VARCHAR(50) 消息类型
message_content LONGTEXT 消息内容
created_at DATETIME 创建时间

obpm-message

  • 表前缀:mc_
  • 实体位置:obpm-message/.../
  • 代表表:mc_messagemc_notificationmc_noticemc_comment

mc_message

消息表(站内消息,继承 AuthtimeValueObject)。

列名 类型 说明
id VARCHAR 主键
TITLE VARCHAR 标题
CONTENT VARCHAR 内容
ATTACHMENT VARCHAR(4000) 附件(JSON)
CREATE_TIME DATE 发表时间
SENDER VARCHAR 发送者
SENDER_ID VARCHAR 发送者 ID
SENDER_DEPT VARCHAR 发送者部门
SENDER_DEPT_ID VARCHAR 发送者部门 ID
SCOPE INT 可见范围(0 全公司/1 仅自己/2 自定义)
RECEIVER_INFO VARCHAR 接收者信息(JSON)
RECEIVER_ID VARCHAR 接收者 ID
RECEIVER_DEPT_ID VARCHAR 接收者部门 ID
COMMENT_COUNT INT 评论数
TYPE INT 消息类型(0 常规/1 公告/2 提醒)
IS_STICKY BOOLEAN 是否置顶
IS_COMMENT BOOLEAN 是否可评论
MODULE VARCHAR 来源模块
DOMAIN_ID VARCHAR 域 ID

mc_notification

消息推送表。

列名 类型 说明
id VARCHAR 主键
MESSAGE_ID VARCHAR 被推送消息 ID
SENDER VARCHAR 发送者
SENDER_ID VARCHAR 发送者 ID
RECEIVER_ID VARCHAR 接收者 ID
MODULE VARCHAR 模块
MESSAGE_TYPE INT 类型(0 消息/1 通知/2 评论/3 提醒)
SUMMARY VARCHAR 摘要
LINK_PARAMS VARCHAR 链接参数(JSON)
CREATE_TIME DATE 创建时间
DOMAIN_ID VARCHAR 域 ID

mc_notice

工作事项通知/提醒表。

列名 类型 说明
id VARCHAR 主键
SUMMARY LONGTEXT 通知摘要
CONTENT VARCHAR 通知内容(JSON)
TO_USER_ID VARCHAR 接收用户 ID
CREATE_TIME DATE 创建时间
IS_READ BOOLEAN 是否已读
MODULE VARCHAR 来源模块
LINK_PARAMS VARCHAR 链接参数(JSON)
SUBJECT_TYPE INT 类型
DOMAIN_ID VARCHAR 域 ID
message_ID VARCHAR 站内消息 ID

mc_comment

消息评论表。

列名 类型 说明
id VARCHAR 主键
CONTENT VARCHAR 内容
ATTACHMENT VARCHAR 附件(JSON)
CREATE_TIME DATE 发表时间
SENDER VARCHAR 评论者姓名
SENDER_ID VARCHAR 评论者 ID
MESSAGE_ID VARCHAR 被评论消息 ID
COMMENT_ID VARCHAR 被回复评论 ID
TO_USER VARCHAR 被回复评论作者
TO_USER_ID VARCHAR 被回复评论作者 ID
avatar VARCHAR 头像(无 @Column,列名为 AVATAR)
TO_CONTENT VARCHAR 被回复内容
MODULE VARCHAR 所属模块
IS_READ BOOLEAN 是否已读
DOMAIN_ID VARCHAR 域 ID

obpm-logger

  • 表前缀:T_
  • 实体位置:obpm-logger/.../model/
  • 代表表:T_LOG

T_LOG

日志表。

列名 类型 说明
ID VARCHAR 主键
USER_ID VARCHAR 用户 ID
OPERATOR VARCHAR 操作人
DESCRIPTION LONGTEXT 描述
TYPE VARCHAR 类型
IP VARCHAR IP 地址
APPLICATIONID VARCHAR 应用 ID
DOMAINID VARCHAR 域 ID
LOGDATE DATE 日志时间
SORTID VARCHAR 排序号
LOGRES VARCHAR 结果

静态表

前缀 T_XXXX 表,指运行时核心业务表。其 schema 在 AbstractApplicationInitDAO 中以代码定义,启动时自动创建。与系统表的区别:这些表承载工作流、文档、待办等运行时数据,结构由平台代码(非 ORM 映射文件)维护。

定义位置:obpm-core/src/main/java/cn/myapps/core/common/dao/application/AbstractApplicationInitDAO.java

T_DOCUMENT

文档/业务数据主表(文档头),通过 MAPPINGID 关联 TLK_ 动态表。是 OBPM 文档体系的中枢。

列名 类型 说明
ID VARCHAR 主键
LASTMODIFIED TIMESTAMP 最后修改时间
FORMNAME VARCHAR 表单名称
AUDITDATE TIMESTAMP 审批时间
AUTHOR VARCHAR 创建人
AUTHORDEPTID VARCHAR 创建人部门 ID
AUTHOR_DEPT_INDEX VARCHAR(2000) 创建人部门索引
AUTHOR_USER_INDEX VARCHAR(2000) 创建人索引
CREATED TIMESTAMP 创建时间
FORMID VARCHAR 表单 ID
SUBFORMIDS LONGTEXT 子表单 ID 列表
ISTMP BIT 是否临时文档
VERSIONS INT 版本号
SORTID VARCHAR 排序号
APPLICATIONID VARCHAR 应用 ID
STATELABEL VARCHAR 状态标签
INITIATOR VARCHAR 发起人
AUDITUSER VARCHAR 审批人
AUDITORNAMES LONGTEXT 审批人姓名列表
LASTFLOWOPERATION VARCHAR 最近流程操作
PARENT VARCHAR 父文档 ID
STATE VARCHAR 流程状态
STATEINT INT 状态码
LASTMODIFIER VARCHAR 最后修改人
DOMAINID VARCHAR 域 ID
AUDITORLIST LONGTEXT 审批人 ID 列表
COAUDITORLIST LONGTEXT 协办人列表
STATELABELINFO LONGTEXT 状态标签信息
PREVAUDITNODE LONGTEXT 上一审批节点
PREVAUDITUSER LONGTEXT 上一审批人
OPTIONITEM LONGTEXT 选项项
SIGN LONGTEXT 签名
SECRET VARCHAR 密级
MAPPINGID VARCHAR 映射 ID(关联 TLK_ 表主键)

T_FLOWSTATERT

流程实例运行时状态表。

列名 类型 说明
ID VARCHAR 主键
DOCID VARCHAR 文档 ID
FLOWID VARCHAR 流程定义 ID
STATE INT 状态码
PARENT VARCHAR 父流程实例
FLOWNAME VARCHAR 流程名称
FLOWXML LONGTEXT 流程实例 XML
LASTMODIFIERID VARCHAR 最后修改人 ID
LASTMODIFIED TIMESTAMP 最后修改时间
APPLICATIONID VARCHAR 应用 ID
SUBFLOWNODEID VARCHAR 子流程节点 ID
COMPLETE BIT 是否完成
CALLBACK BIT 是否回退
TOKEN VARCHAR(400) 令牌
STATELABEL VARCHAR 状态标签
INITIATOR VARCHAR 发起人
AUDITUSER VARCHAR 审批人
AUDITORNAMES LONGTEXT 审批人姓名
AUDITORLIST LONGTEXT 审批人 ID
COAUDITORLIST LONGTEXT 协办人列表
LASTFLOWOPERATION VARCHAR 最近操作
AUDITDATE TIMESTAMP 审批时间
SUB_POSITION INT 子流程位置
ISARCHIVED BIT 是否归档
ISTERMINATED BIT 是否终止
PREV_AUDIT_NODE VARCHAR 上一审批节点
PREV_AUDIT_USER VARCHAR 上一审批人
WORKFLOW_TYPE INT 工作流类型
ACTIONTIME TIMESTAMP 操作时间
SUMMARY LONGTEXT 摘要
INITIATORID VARCHAR 发起人 ID
FIRSTPROCESSTIME TIMESTAMP 首次处理时间
DOMAINID VARCHAR 域 ID

T_ACTORRT

流程当前待办人运行时表。

列名 类型 说明
ID VARCHAR 主键
ACTORID VARCHAR 待办人 ID
NAME VARCHAR 待办人姓名
ISPROCESSED BIT 是否已处理
TYPE INT 类型
NODERT_ID VARCHAR 节点运行时 ID
FLOWSTATERT_ID VARCHAR 流程实例 ID
DOC_ID VARCHAR 文档 ID
DEADLINE TIMESTAMP 截止时间
PENDING BIT 是否挂起
ISREAD BIT 是否已读
DOMAINID VARCHAR 域 ID
APPLICATIONID VARCHAR 应用 ID
APPROVAL_POSITION INT 审批位置
REMINDER_TIMES INT 催办次数
BAK LONGTEXT 备份字段

T_NODERT

流程当前节点运行时表。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 节点名称
NODEID VARCHAR 节点定义 ID
FLOWID VARCHAR 流程 ID
DOCID VARCHAR 文档 ID
FLOWSTATERT_ID VARCHAR 流程实例 ID
NOTIFIABLE BIT 是否通知
DOMAINID VARCHAR 域 ID
APPLICATIONID VARCHAR 应用 ID
STATELABEL VARCHAR 状态标签
FLOWOPTION VARCHAR 流程选项
SPLITTOKEN VARCHAR 分支令牌
PASSCONDITION INT 通过条件
PARENTNODERTID VARCHAR 父节点 ID
DEADLINE TIMESTAMP 截止时间
ORDERLY BIT 是否顺序审批
APPROVAL_POSITION INT 审批位置
STATE INT 状态
LASTPROCESSTIME TIMESTAMP 最后处理时间
REMINDER_TIMES INT 催办次数
ACTIONTIME TIMESTAMP 操作时间

T_RELATIONHIS

流程审批历史关系表。

列名 类型 说明
ID VARCHAR 主键
ACTIONTIME TIMESTAMP 操作时间
PROCESSTIME TIMESTAMP 处理时间
STARTNODENAME VARCHAR 起始节点名
FLOWID VARCHAR 流程 ID
FLOWNAME VARCHAR 流程名称
DOCID VARCHAR 文档 ID
ENDNODEID VARCHAR 结束节点 ID
ENDNODENAME VARCHAR 结束节点名
STARTNODEID VARCHAR 起始节点 ID
ISPASSED BIT 是否通过
ATTITUDE VARCHAR(2000) 审批意见
AUDITOR VARCHAR 审批人
FLOWOPERATION VARCHAR 流程操作
REMINDERCOUNT INT 催办次数
FLOWSTATERT_ID VARCHAR 流程实例 ID
APPLICATIONID VARCHAR 应用 ID

T_ACTORHIS

流程审批人历史表。

列名 类型 说明
ID VARCHAR 主键
ACTORID VARCHAR 审批人 ID
NAME VARCHAR 审批人姓名
AGENTID VARCHAR 代理人 ID
AGENTNAME VARCHAR 代理人姓名
TYPE INT 类型
PROCESSTIME TIMESTAMP 处理时间
ATTITUDE VARCHAR(2000) 审批意见
NODEHIS_ID VARCHAR 节点历史 ID
FLOWSTATERT_ID VARCHAR 流程实例 ID
DOC_ID VARCHAR 文档 ID
SIGNATURE CLOB 签名
RECEIVERINFO LONGTEXT 接收人信息
ACTIONTIME TIMESTAMP 操作时间

T_FLOWHISTORY

流程审批历史明细表(完整审批轨迹)。

列名 类型 说明
ID VARCHAR 主键
FLOWSTATERT_ID VARCHAR 流程实例 ID
FLOWID VARCHAR 流程 ID
NODEHIS_ID VARCHAR 节点历史 ID
STARTNODENAME VARCHAR 起始节点名
ENDNODENAME VARCHAR 结束节点名
NAME VARCHAR 名称
DOC_ID VARCHAR 文档 ID
ATTITUDE VARCHAR(2000) 审批意见
PROCESSTIME TIMESTAMP 处理时间
FLOWOPERATION VARCHAR 流程操作
STARTNODEID VARCHAR 起始节点 ID
ENDNODEID VARCHAR 结束节点 ID
AGENTNAME VARCHAR 代理人姓名
AGENTID VARCHAR 代理人 ID
SIGNATURE CLOB 签名
ACTORID VARCHAR 审批人 ID
RECEIVERINFO LONGTEXT 接收人信息
ACTIONTIME TIMESTAMP 操作时间
FLOWNAME VARCHAR 流程名称
INITIATOR VARCHAR 发起人
INITIATORID VARCHAR 发起人 ID
SUMMARY LONGTEXT 摘要
FIRSTPROCESSTIME TIMESTAMP 首次处理时间
STATELABEL LONGTEXT 状态标签
DOMAINID VARCHAR 域 ID
APPLICATIONID VARCHAR 应用 ID

T_COUNTER

计数器表(编号生成)。

列名 类型 说明
ID VARCHAR 主键
COUNTER INT 计数值
NAME VARCHAR 计数器名
APPLICATIONID VARCHAR 应用 ID
DOMAINID VARCHAR 域 ID

T_UPLOAD

文件附件存储表。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 文件名
IMGBINARY BLOB 文件二进制
FIELDID VARCHAR 字段 ID
TYPE VARCHAR 文件类型
FILESIZE INT 文件大小
USERID VARCHAR 上传人 ID
MODIFYDATE TIMESTAMP 修改时间
PATH LONGTEXT 存储路径
FOLDERPATH LONGTEXT 文件夹路径
SOURCEFILEID VARCHAR 源文件 ID
VERSIONNO VARCHAR 版本号
DOCID VARCHAR 文档 ID
RELATEMSG VARCHAR 关联信息

T_FLOW_PROXY

流程代理设置表。

列名 类型 说明
ID VARCHAR 主键
FLOWNAME VARCHAR 流程名称
FLOWID VARCHAR 流程 ID
DESCRIPTION VARCHAR 描述
STATE VARCHAR 状态
AGENTS LONGTEXT 代理人 ID 列表
AGENTSNAME LONGTEXT 代理人姓名
OWNER VARCHAR 委托人
APPLICATIONID VARCHAR 应用 ID
DOMAINID VARCHAR 域 ID
VERSION INT 版本
PROXYMODE INT 代理模式
STARTPROXYTIME TIMESTAMP 代理开始时间
ENDPROXYTIME TIMESTAMP 代理结束时间

T_CIRCULATOR

抄送人表。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 抄送人姓名
USERID VARCHAR 抄送人 ID
DOC_ID VARCHAR 文档 ID
NODERT_ID VARCHAR 节点 ID
FLOWSTATERT_ID VARCHAR 流程实例 ID
CCTIME TIMESTAMP 抄送时间
READTIME TIMESTAMP 阅读时间
DEADLINE TIMESTAMP 截止时间
ISREAD BIT 是否已读
DOMAINID VARCHAR 域 ID
APPLICATIONID VARCHAR 应用 ID
SUMMARY LONGTEXT 摘要
VERSION INT 版本

T_COACTORRT

流程协办人表。

列名 类型 说明
ID VARCHAR 主键
NAME VARCHAR 协办人姓名
USERID VARCHAR 协办人 ID
DOC_ID VARCHAR 文档 ID
NODERT_ID VARCHAR 节点 ID
FLOWSTATERT_ID VARCHAR 流程实例 ID
CREATE_TIME TIMESTAMP 创建时间
READTIME TIMESTAMP 阅读时间
DEADLINE TIMESTAMP 截止时间
ISREAD BIT 是否已读
DOMAINID VARCHAR 域 ID
APPLICATIONID VARCHAR 应用 ID
VERSION INT 版本

T_WORKFLOW_REMINDER_HISTORY

流程催办历史表。

列名 类型 说明
ID VARCHAR 主键
REMINDER_CONTENT VARCHAR 催办内容
USER_ID VARCHAR 被催办人 ID
USER_NAME VARCHAR 被催办人姓名
NODE_NAME VARCHAR 节点名
DOC_ID VARCHAR 文档 ID
FLOW_INSTANCE_ID VARCHAR 流程实例 ID
DOMAINID VARCHAR 域 ID
APPLICATIONID VARCHAR 应用 ID
PROCESS_TIME TIMESTAMP 催办时间

T_TRIGGER

触发器 / 定时任务表。

列名 类型 说明
ID VARCHAR 主键
TOKEN VARCHAR(400) 令牌
JOB_TYPE INT 任务类型
JOB_DATA LONGTEXT 任务数据
STATE VARCHAR(255) 状态
DEADLINE BIGINT 截止时间戳
IS_LOOP BIT 是否循环
APPLICATIONID VARCHAR(255) 应用 ID
DOCUMENTS LONGTEXT 关联文档
RUNTIMES INT 运行次数
LASTMODIFIDATE TIMESTAMP 最后修改时间
TASKID VARCHAR(255) 任务 ID

T_SHORTMESSAGE_RECEIVED

短消息收件表。

列名 类型 说明
ID VARCHAR 主键
CONTENT LONGTEXT 内容
SENDER VARCHAR(255) 发送人
RECEIVER VARCHAR(255) 接收人
RECEIVEDATE VARCHAR(255) 接收时间
STATUS INT 状态
PARENT VARCHAR(255) 父消息
DOCID VARCHAR(255) 文档 ID
APPLICATIONID VARCHAR(255) 应用 ID
DOMAINID VARCHAR(255) 域 ID
CREATED TIMESTAMP 创建时间

T_SHORTMESSAGE_SUBMIT

短消息发件表。

列名 类型 说明
ID VARCHAR 主键
CONTENTTYPE INT 内容类型
TITLE VARCHAR(255) 标题
CONTENT VARCHAR(255) 内容
SENDDATE TIMESTAMP 发送时间
REPLYCODE VARCHAR(255) 回复码
SENDER VARCHAR(255) 发送人
RECEIVER LONGTEXT 接收人列表
SUBMISSION BIT 是否提交
ISFAILURE BIT 是否失败
ISREPLY BIT 是否已回复
ISTRASH BIT 是否废弃
ISDRAFT BIT 是否草稿
NEEDREPLY BIT 是否需要回复
MASS BIT 是否群发
DOCID VARCHAR(255) 文档 ID
APPLICATIONID VARCHAR(255) 应用 ID
DOMAINID VARCHAR(255) 域 ID
RECEIVERUSERID VARCHAR(255) 接收人 ID
RECEIVERNAME VARCHAR(255) 接收人姓名

T_COMMENT

评论表。

列名 类型 说明
ID VARCHAR 主键
FLAG VARCHAR 标识
APPLICATION_ID VARCHAR 应用 ID
DOMAIN_ID VARCHAR 域 ID
USER_ID VARCHAR 用户 ID
USER_NAME VARCHAR 用户姓名
COMMENTS LONGTEXT 评论内容
UNLIKE_NUM INT 踩数
LIKE_NUM INT 赞数
CREATE_DATE TIMESTAMP 创建时间
PARENT_ID VARCHAR 父评论 ID

T_CHECKIN

签到表。

列名 类型 说明
ID VARCHAR 主键
WIDGET_ID VARCHAR 组件 ID
APPLICATION_ID VARCHAR 应用 ID
DOMAIN_ID VARCHAR 域 ID
USER_ID VARCHAR 用户 ID
USER_NAME VARCHAR 用户姓名
CHECKIN_TIME TIMESTAMP 签到时间

T_LOGS

系统操作审计日志表。

列名 类型 说明
ID VARCHAR 主键
OPERATORID VARCHAR 操作人 ID
OPERATOR VARCHAR 操作人姓名
OPERATIONTIME TIMESTAMP 操作时间
OPERATIONTYPE VARCHAR 操作类型
SOURCEID VARCHAR 资源 ID
PARENTSOURCEID VARCHAR 父资源 ID
SOURCE VARCHAR 资源
SOURCETYPE VARCHAR 资源类型
DESCRIPTION LONGTEXT 描述
APPLICATIONID VARCHAR 应用 ID

动态表

前缀 TLK_XXX 表 / LOG_XXX 表 / PARM_XXX 表。每个表单(Form)保存时会自动生成对应数据库表,用于存储该表单的业务数据——这是 OBPM 低代码平台的核心特性。

前缀常量定义于 obpm-core/src/main/java/cn/myapps/core/runtime/dynaform/document/dql/DQLASTUtil.java

前缀 类型常量 用途 生成条件
TLK_ TABEL_TYPE_CONTENT (1) 表单业务数据存储表(最常见) 普通表单(FORM_TYPE_NORMAL)保存
LOG_ TABEL_TYPE_LOG (2) 表单数据变更历史表 表单开启 showLog=true
PARM_ TABLE_TYPE_PARM (4) 流程参数表 流程参数表单(FORM_TYPE_FLOW_PARAMETER

命名规则:前缀 + 表单名(form.name),全大写。例如表单 LeaveTLK_LEAVELOG_LEAVE

列结构

每张动态表由 4 部分列组成:

① 固定列(所有动态表共有,来自 ChangeLog.getFixedColumns()):

列名 类型 说明
PARENT VARCHAR 父文档 ID
LASTMODIFIED TIMESTAMP 最后修改时间
FORMNAME VARCHAR 表单名称
STATE VARCHAR 流程状态
AUDITUSER VARCHAR 审批人
AUDITDATE TIMESTAMP 审批时间
AUTHOR VARCHAR 创建人
AUTHORDEPTID VARCHAR 创建人部门 ID
AUTHOR_DEPT_INDEX VARCHAR(2000) 创建人部门索引
AUTHOR_USER_INDEX VARCHAR(2000) 创建人索引
CREATED TIMESTAMP 创建时间
FORMID VARCHAR 表单 ID
SUBFORMIDS CLOB 子表单 ID 列表
INITIATOR VARCHAR 发起人
ISTMP BIT 是否临时文档
VERSIONS INTEGER 版本号
APPLICATIONID VARCHAR 应用 ID
STATEINT INTEGER 状态码
STATELABEL VARCHAR 状态标签
AUDITORNAMES CLOB 审批人姓名列表
LASTFLOWOPERATION VARCHAR 最近流程操作
LASTMODIFIER VARCHAR 最后修改人
DOMAINID VARCHAR 域 ID
AUDITORLIST CLOB 审批人 ID 列表
COAUDITORLIST CLOB 协办人列表
STATELABELINFO CLOB 状态标签信息
PREVAUDITNODE CLOB 上一审批节点
PREVAUDITUSER CLOB 上一审批人
OPTIONITEM CLOB 选项项
SIGN CLOB 签名
KINGGRIDSIGNATURE CLOB 金格签名
SECRET VARCHAR 密级

② 业务字段列:表单中每个字段对应一列,列名 = ITEM_ + 字段名(大写),如字段 reasonITEM_REASON。以 $ 开头的系统字段不加 ITEM_ 前缀,也不建列(在 compareFieldsToAddOrModify 中被跳过)。

③ 主键列:由表单配置的主键名决定(TableMapping.getPrimaryKeyName()),类型为 VARCHAR。

④ LOG 表额外列DOC_ID(VARCHAR,关联 T_DOCUMENT.ID),仅 LOG_ 表有。

生成机制

表单保存时触发动态表创建/更新,调用链:

  1. FormDesignTimeServiceImpl.save/update(设计时服务入口)
  2. FormTableProcessBean.createDynaTable / createOrUpdateDynaTable
  3. AbstractFormTableDAO.createDynaTable
  4. ChangeLog.compare 对比新旧表单结构,生成变更日志
  5. AbstractTableDefinition.processChanges 执行 DDL
  6. SQLBuilder(如 MysqlBuilder)生成数据库特定 SQL
  7. JDBC Statement 批量执行

各数据库的 DDL 实现位于 obpm-core/src/main/java/cn/myapps/core/designtime/table/ddlutil/<db>/,每个数据库目录包含三件套:

数据库 SQLBuilder TableDefinition Validator
MySQL MysqlBuilder MysqlTableDefinition MysqlValidator
Oracle OracleBuilder OracleTableDefinition OracleValidator
PostgreSQL PostgreSQLBuilder PostgreSQLTableDefinition PostgreSQLValidator
SQL Server MssqlBuilder MssqlTableDefinition MssqlValidator
KingBase KingBaseBuilder KingBaseDefinition KingBaseValidator
OceanBase OceanBaseBuilder OceanBaseDefinition OceanBaseValidator
DM DmSQLBuilder DmSQLTableDefinition DmSQLValidator
DB2 DB2Builder DB2TableDefinition DB2Validator
HSQLDB/H2 HsqldbBuilder HsqldbTableDefinition HsqldbValidator
Oscar OscarBuilder OscarTableDefinition OscarValidator

数据关联

T_DOCUMENT.MAPPINGIDTLK_<表单名>.ID:文档头通过映射 ID 指向动态表主键,实现文档元数据与业务数据的分离存储。

动态表的读写由 AbstractDocStaticTblDAO 及其各数据库子类实现(MysqlDocStaticTblDAOOracleDocStaticTblDAOPostgreSQLDocStaticTblDAO 等),由 createDocument(doc, tabelType)tabelType 参数决定写入 TLK_ 表(类型 1)还是 LOG_ 表(类型 2)。

表结构总览

flowchart LR
    A["<b>系统表</b>(T_ / KMS_ / ai_ / mc_,JPA/Hibernate 管理)<br/>用户:T_USER / T_DEPARTMENT / T_DOMAIN / T_ACCOUNT<br/>表单定义:T_DYNAFORM_FORM<br/>KMS / AI / Message / Logger …"]
    B["<b>静态表</b>(T_ 前缀,代码定义,AbstractApplicationInitDAO)<br/>T_DOCUMENT(文档头,核心)<br/>流程:T_FLOWSTATERT / T_ACTORRT / T_NODERT /<br/>      T_FLOWHISTORY / T_RELATIONHIS …<br/>其他:T_UPLOAD / T_TRIGGER / T_COUNTER …"]
    C["<b>动态表</b>(运行时按表单生成,DDL 代码生成)<br/>TLK_&lt;表单名&gt;:业务数据(每表单一张)<br/>LOG_&lt;表单名&gt;:变更历史(可选)<br/>PARM_&lt;表单名&gt;:流程参数"]

    A -->|"表单定义保存后生成"| B
    B -->|"T_DOCUMENT.MAPPINGID 关联"| C

关键文件索引

主题 文件路径
全局配置 obpm-common/src/main/resources/application-base.properties
静态表定义 obpm-core/src/main/java/cn/myapps/core/common/dao/application/AbstractApplicationInitDAO.java
动态表前缀常量 obpm-core/src/main/java/cn/myapps/core/runtime/dynaform/document/dql/DQLASTUtil.java
动态表创建接口 obpm-core/src/main/java/cn/myapps/core/runtime/dynaform/form/ejb/FormTableProcess.java
动态表创建业务 obpm-core/src/main/java/cn/myapps/core/runtime/dynaform/form/ejb/FormTableProcessBean.java
动态表 DAO 基类 obpm-core/src/main/java/cn/myapps/core/runtime/dynaform/form/dao/AbstractFormTableDAO.java
动态表 DDL 生成 obpm-core/src/main/java/cn/myapps/core/designtime/table/ddlutil/ChangeLog.java
动态表数据 CRUD obpm-core/src/main/java/cn/myapps/core/runtime/dynaform/document/dao/AbstractDocStaticTblDAO.java
初始化入口 obpm-core/src/main/java/cn/myapps/core/init/InitApplicationTable.java