主题
工程质量管理 · 数据库设计文档
文档版本:1.00 | 最近核对日期:2026-11-10
1. 设计范围与核验状态
本版依据 20261104 会签资料、需求分析与详细设计从零定义质量管理目标模型。用户已明确废弃旧文档和旧实现;本版不继承旧表、字段、接口、存储方式或流程粒度,也不为其建立兼容映射。
本文是尚未实施的目标设计。以下六张表及全部物理类型、长度、可空性、默认值、主键和索引均为设计建议;本轮没有建表、修改数据库或通过纳管入口回读。矩阵中“目标设计,未建表/未回读”不能解释为对象已经存在。实施前应在开发环境通过项目纳管入口核对对象可用性、实际结构与读写,必要调整同步本文件。
现有平台工程、组织、用户、OSS 与 Warm-Flow 数据由其所属模块维护,质量模块仅保存引用和必要快照,不复制其主表、不建设第二套任务引擎。当前无租户部署,不增加租户字段;不为理论并发新增版本字段或独立幂等表。
2. 实体关系与不变量
| 表 | 业务责任 | 关键边界 |
|---|---|---|
BIZ_QM_RECORD | 首件/分部/单位/项目/专项/竣工验收、不合格报告/处置、日常质量问题、事故 | 类型确定资料schema;日常问题与消缺独立,专项/竣工不启动流程 |
BIZ_QM_DEFECT_BATCH | 五类消缺的录入/导入批次归集 | 可跨不同有效工程组合;不保存唯一标段、不启动批次审批、不保存手填完成率 |
BIZ_QM_DEFECT_ISSUE | 每条问题自己的工程、主责、等级、分支、整改结果与流程 | 每条问题独立实例;一条退回不改动同批其他问题结果 |
BIZ_QM_RESPONSIBILITY | 有效工程范围下的岗位—组织—账号映射 | 不替代菜单权限、工程授权或引擎当前任务校验;缺岗不回退全员 |
BIZ_QM_SPECIAL_PLAN | 每线路每专项项适用性、计划日期和前置要件 | 完成依据来自关联成果记录,完成数/总数查询派生,不重复存完成记录指针和完成标记 |
BIZ_QM_CATALOG_CONFIG | 既有分部工程的验收排序、备注 | 不新增工程身份、不生成工程编码、不提供模板造工程 |
SOURCE_RECORD_ID仅由不合格处置关联本模块有效不合格报告;服务端验证类型、工程和访问范围。是否允许一份报告产生多条处置按业务实例确认,不凭空加来源唯一约束。SPECIAL_PLAN_ID仅在专项成果记录中使用;一计划可有多份成果记录,计划不再反向保存“完成记录ID”。有效完成依据及统计时点由需求 D09 确定,重复记录不重复计数。- 工程归属按每个业务主体保存。单位工程反取完整线路/标段/工点,分部核对父级;同物理工点属于多个标段时,不能只按工点ID回显或授权。批次筛选与汇总只计算当前用户有权的问题。
- 等级、是否需要设计核实、整改业务状态、流程状态彼此独立。建议等级不直接覆盖原始等级或确认等级;设计核实不等于设计变更审批;整改完成不等于终审销项。
- 关系均为逻辑外键设计,是否建立物理外键由实际平台建表规范与纳管验证确定;不能以省略物理外键免除服务端归属校验。
3. 完整目标字段矩阵
所有列包含主键及公共审计字段。BIGINT 为64位标识,前端保持 string | number 原值,后端使用平台大整数序列化。物理时间采用 TIMESTAMP(6),业务日期采用 DATE,两者不能混用。CLOB 只承载明确定义的对象/数组,不接收任意Map。
草稿阶段工程、责任和专有资料允许未填完整;提交及节点办理按业务类型补充必填约束,数据库可空不代表允许越过业务校验。默认值“—”表示不设置数据库默认值。所有索引名称均为目标建议,不代表已创建。
3.1 BIZ_QM_RECORD(通用质量业务单据)
| 字段 | 中文业务含义 | 逻辑类型 | 物理类型 | 长度/精度 | 可空 | 默认值 | 主外键/索引 | 来源/生成规则 | 核验状态 |
|---|---|---|---|---|---|---|---|---|---|
ID | 业务主键 | Long | BIGINT | 64位 | 否 | — | PK | 服务端ASSIGN_ID生成 | 目标设计,未建表/未回读 |
BUSINESS_TYPE | 业务类型 | String | VARCHAR | 40 | 否 | — | IDX_QMR_TYPE_TIME | 路由对应类型;创建后不可切换 | 目标设计,未建表/未回读 |
BUSINESS_NO | 质量单据编号 | String | VARCHAR | 80 | 否 | — | UK_QMR_NO | 服务端生成,与工程编码区分 | 目标设计,未建表/未回读 |
TITLE | 单据标题 | String | VARCHAR | 400 | 否 | — | — | 经办输入,服务端按类型和节点校验 | 目标设计,未建表/未回读 |
RESOURCE_LEVEL | 工程资源层级 | String | VARCHAR | 20 | 是 | — | — | 服务端按类型/工程归属确定LINE/BID/PAIR/UNIT/SUB | 目标设计,未建表/未回读 |
LINE_ID | 线路ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
BID_ID | 标段ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
SITE_ID | 物理工点ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
UNIT_PROJECT_ID | 单位工程ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
SUB_PROJECT_ID | 分部工程ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
ENGINEERING_SNAPSHOT | 工程编码、名称和完整路径快照 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 服务端从工程基础生成,不接收客户端伪造快照 | 目标设计,未建表/未回读 |
REPORT_ORG_ID | 填报组织ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 默认当前组织;服务端核对组织身份 | 目标设计,未建表/未回读 |
REPORTER_ID | 填报人ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 默认当前账号;服务端核对身份 | 目标设计,未建表/未回读 |
REPORT_TIME | 填报时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 默认服务端填报时间;补录按业务授权 | 目标设计,未建表/未回读 |
SOURCE_RECORD_ID | 处置来源不合格报告ID | Long | BIGINT | 64位 | 是 | — | 逻辑自引用;IDX_QMR_SOURCE | 服务端限定ncDisposal指向有权且适用的ncLedger | 目标设计,未建表/未回读 |
SPECIAL_PLAN_ID | 专项适用计划项ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用BIZ_QM_SPECIAL_PLAN;IDX_QMR_PLAN | 仅专项成果使用;与线路及专项类别一致 | 目标设计,未建表/未回读 |
RESPONSIBILITY_SNAPSHOT | 提交时岗位责任来源及办理资格快照 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 服务端按明确schema解析、校验与按节点合并 | 目标设计,未建表/未回读 |
PAYLOAD_SCHEMA_VERSION | 专有资料结构版本 | Integer | SMALLINT | 16位 | 否 | 1 | — | 服务端明确schema版本 | 目标设计,未建表/未回读 |
PAYLOAD | 按业务类型定义的业务资料与成果 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 服务端按明确schema解析、校验与按节点合并 | 目标设计,未建表/未回读 |
FLOW_CODE | 流程定义编码 | String | VARCHAR | 120 | 是 | — | — | 提交时按业务类型映射;无流程类型为空 | 目标设计,未建表/未回读 |
FLOW_VERSION | 流程定义版本 | String | VARCHAR | 40 | 是 | — | — | 提交时从实际发布定义记录,不由客户端填写 | 目标设计,未建表/未回读 |
INSTANCE_ID | 流程实例ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用Warm-Flow实例;非唯一查询索引 | 流程启动后绑定真实实例;草稿和无流程类型为空 | 目标设计,未建表/未回读 |
FLOW_STATUS | 流程状态编码 | String | VARCHAR | 32 | 是 | — | — | 引擎事件同步平台状态,不自创同名编码 | 目标设计,未建表/未回读 |
COMPLETED_AT | 规定流程完成时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 仅规定终审完成后写入;退回和终止不当作完成 | 目标设计,未建表/未回读 |
REMARK | 补充说明 | String | VARCHAR | 2000 | 是 | — | — | 经办输入,服务端按类型和节点校验 | 目标设计,未建表/未回读 |
CREATE_DEPT | 创建部门 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_BY | 创建人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_TIME | 创建时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_BY | 最近更新人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_TIME | 最近更新时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
DEL_FLAG | 逻辑删除标记 | String | CHAR | 1 | 否 | '0' | — | 服务端维护:0有效、1删除 | 目标设计,未建表/未回读 |
3.2 BIZ_QM_DEFECT_BATCH(消缺归集批次)
| 字段 | 中文业务含义 | 逻辑类型 | 物理类型 | 长度/精度 | 可空 | 默认值 | 主外键/索引 | 来源/生成规则 | 核验状态 |
|---|---|---|---|---|---|---|---|---|---|
ID | 业务主键 | Long | BIGINT | 64位 | 否 | — | PK | 服务端ASSIGN_ID生成 | 目标设计,未建表/未回读 |
BATCH_NO | 批次编号 | String | VARCHAR | 80 | 否 | — | UK_QMB_NO | 服务端生成 | 目标设计,未建表/未回读 |
BATCH_NAME | 批次名称 | String | VARCHAR | 400 | 否 | — | — | 经办输入,服务端按类型和节点校验 | 目标设计,未建表/未回读 |
CATEGORY | 消缺分类 | String | VARCHAR | 32 | 否 | — | IDX_QMB_CATEGORY_TIME | 五分类枚举,存在在途问题后不可更改 | 目标设计,未建表/未回读 |
SOURCE_BATCH_KEY | 原始资料批次标识 | String | VARCHAR | 200 | 是 | — | — | 来源资料编号/截止批次;不是自动去重键 | 目标设计,未建表/未回读 |
REPORT_ORG_ID | 填报组织ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 默认当前组织;服务端核对组织身份 | 目标设计,未建表/未回读 |
REPORTER_ID | 填报人ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 默认当前账号;服务端核对身份 | 目标设计,未建表/未回读 |
REPORT_TIME | 填报时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 默认服务端填报时间;补录按业务授权 | 目标设计,未建表/未回读 |
SOURCE_MANIFEST | 导入文件摘要、选定Sheet及来源说明 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 确认导入时记录脱敏的来源与摘要;不存临时文件凭据 | 目标设计,未建表/未回读 |
REMARK | 批次说明 | String | VARCHAR | 2000 | 是 | — | — | 经办输入,服务端按类型和节点校验 | 目标设计,未建表/未回读 |
CREATE_DEPT | 创建部门 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_BY | 创建人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_TIME | 创建时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_BY | 最近更新人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_TIME | 最近更新时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
DEL_FLAG | 逻辑删除标记 | String | CHAR | 1 | 否 | '0' | — | 服务端维护:0有效、1删除 | 目标设计,未建表/未回读 |
3.3 BIZ_QM_DEFECT_ISSUE(独立流转的消缺问题)
| 字段 | 中文业务含义 | 逻辑类型 | 物理类型 | 长度/精度 | 可空 | 默认值 | 主外键/索引 | 来源/生成规则 | 核验状态 |
|---|---|---|---|---|---|---|---|---|---|
ID | 业务主键 | Long | BIGINT | 64位 | 否 | — | PK | 服务端ASSIGN_ID生成 | 目标设计,未建表/未回读 |
BATCH_ID | 所属消缺批次ID | Long | BIGINT | 64位 | 否 | — | 逻辑引用BIZ_QM_DEFECT_BATCH;IDX_QMI_BATCH | 新增或确认导入时关联真实批次 | 目标设计,未建表/未回读 |
CATEGORY | 消缺分类 | String | VARCHAR | 32 | 否 | — | IDX_QMI_CATEGORY_STATUS | 服务端从批次派生并保持一致 | 目标设计,未建表/未回读 |
ISSUE_NO | 问题编号 | String | VARCHAR | 80 | 否 | — | UK_QMI_NO | 服务端生成稳定业务编号 | 目标设计,未建表/未回读 |
SEQ_NO | 批次内展示序号 | Integer | INT | 32位 | 否 | 0 | IDX_QMI_BATCH | 服务端维护展示顺序;不作唯一业务身份 | 目标设计,未建表/未回读 |
RESOURCE_LEVEL | 工程资源层级 | String | VARCHAR | 20 | 是 | — | — | 服务端按类型/工程归属确定LINE/BID/PAIR/UNIT/SUB | 目标设计,未建表/未回读 |
LINE_ID | 线路ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
BID_ID | 标段ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
SITE_ID | 物理工点ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
UNIT_PROJECT_ID | 单位工程ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
SUB_PROJECT_ID | 分部工程ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
ENGINEERING_SNAPSHOT | 工程编码、名称和完整路径快照 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 服务端从工程基础生成,不接收客户端伪造快照 | 目标设计,未建表/未回读 |
CONTENT | 存在问题或事项内容 | String | VARCHAR | 4000 | 是 | — | — | 登记或导入;提交时必填 | 目标设计,未建表/未回读 |
PRIMARY_ORG_ID | 主责单位ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 从有效责任配置选择;组织ID与文字快照分开 | 目标设计,未建表/未回读 |
PRIMARY_USER_ID | 主责办理人ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用 | 从工程范围与节点岗位交集选择;提交前具备有效任职 | 目标设计,未建表/未回读 |
RESPONSIBILITY_SNAPSHOT | 组织、岗位、账号及协作知会责任快照 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 服务端按明确schema解析、校验与按节点合并 | 目标设计,未建表/未回读 |
ORIGINAL_LEVEL | 原始影响等级 | String | VARCHAR | 20 | 是 | — | — | 原始问题登记;仅适用分类填写 | 目标设计,未建表/未回读 |
PROPOSED_LEVEL | 建议调整等级 | String | VARCHAR | 20 | 是 | — | — | 施工判断节点提出;不直接覆盖原始等级 | 目标设计,未建表/未回读 |
CONFIRMED_LEVEL | 运营确认后的有效等级 | String | VARCHAR | 20 | 是 | — | — | 运营确认节点决定;未确认前不填为建议等级 | 目标设计,未建表/未回读 |
GRADE_CHANGE_STATUS | 等级调整确认结果 | String | VARCHAR | 20 | 是 | — | — | 适用节点写待确认/同意/不同意的业务代码;具体允许组合见D02 | 目标设计,未建表/未回读 |
DESIGN_REVIEW_REQUIRED | 是否需要设计核实回复 | String | CHAR | 1 | 是 | — | — | 施工判断节点填写1/0;未判断为空,不等同设计变更审批 | 目标设计,未建表/未回读 |
RECTIFY_STATUS | 业务整改与闭环状态 | String | VARCHAR | 24 | 否 | 'UNRECTIFIED' | IDX_QMI_CATEGORY_STATUS | 服务端维护UNRECTIFIED未整改/RECTIFIED已整改未销项/CLOSED闭环;闭环必须终审确认 | 目标设计,未建表/未回读 |
PLANNED_FINISH_DATE | 计划整改完成日期 | LocalDate | DATE | 日期 | 是 | — | — | 经办输入,服务端校验日期含义及顺序 | 目标设计,未建表/未回读 |
ACTUAL_FINISH_DATE | 实际整改完成日期 | LocalDate | DATE | 日期 | 是 | — | — | 施工整改节点填写实际日期,不能用计划日期覆盖 | 目标设计,未建表/未回读 |
PAYLOAD_SCHEMA_VERSION | 分类资料结构版本 | Integer | SMALLINT | 16位 | 否 | 1 | — | 服务端明确schema版本 | 目标设计,未建表/未回读 |
PAYLOAD | 分类专有问题、回复和证据资料 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 服务端按明确schema解析、校验与按节点合并 | 目标设计,未建表/未回读 |
FLOW_CODE | 流程定义编码 | String | VARCHAR | 120 | 是 | — | — | 提交时按业务类型映射;无流程类型为空 | 目标设计,未建表/未回读 |
FLOW_VERSION | 流程定义版本 | String | VARCHAR | 40 | 是 | — | — | 提交时从实际发布定义记录,不由客户端填写 | 目标设计,未建表/未回读 |
INSTANCE_ID | 流程实例ID | Long | BIGINT | 64位 | 是 | — | 逻辑引用Warm-Flow实例;非唯一查询索引 | 流程启动后绑定真实实例;草稿和无流程类型为空 | 目标设计,未建表/未回读 |
FLOW_STATUS | 流程状态编码 | String | VARCHAR | 32 | 是 | — | — | 引擎事件同步平台状态,不自创同名编码 | 目标设计,未建表/未回读 |
COMPLETED_AT | 规定流程完成时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 仅规定终审完成后写入;退回和终止不当作完成 | 目标设计,未建表/未回读 |
REMARK | 通用补充说明 | String | VARCHAR | 2000 | 是 | — | — | 经办输入,服务端按类型和节点校验 | 目标设计,未建表/未回读 |
CREATE_DEPT | 创建部门 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_BY | 创建人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_TIME | 创建时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_BY | 最近更新人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_TIME | 最近更新时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
DEL_FLAG | 逻辑删除标记 | String | CHAR | 1 | 否 | '0' | — | 服务端维护:0有效、1删除 | 目标设计,未建表/未回读 |
3.4 BIZ_QM_RESPONSIBILITY(工程岗位责任配置)
| 字段 | 中文业务含义 | 逻辑类型 | 物理类型 | 长度/精度 | 可空 | 默认值 | 主外键/索引 | 来源/生成规则 | 核验状态 |
|---|---|---|---|---|---|---|---|---|---|
ID | 业务主键 | Long | BIGINT | 64位 | 否 | — | PK | 服务端ASSIGN_ID生成 | 目标设计,未建表/未回读 |
SCOPE_KIND | 任职适用工程范围级别 | String | VARCHAR | 20 | 否 | — | IDX_QMRESP_SCOPE_ROLE | LINE/BID/PAIR/UNIT,按岗位真实适用范围配置 | 目标设计,未建表/未回读 |
LINE_ID | 适用线路ID | Long | BIGINT | 64位 | 否 | — | IDX_QMRESP_SCOPE_ROLE | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
BID_ID | 适用标段ID | Long | BIGINT | 64位 | 是 | — | IDX_QMRESP_SCOPE_ROLE | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
SITE_ID | 适用物理工点ID | Long | BIGINT | 64位 | 是 | — | IDX_QMRESP_SCOPE_ROLE | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
UNIT_PROJECT_ID | 适用单位工程ID | Long | BIGINT | 64位 | 是 | — | IDX_QMRESP_SCOPE_ROLE | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
ROLE_CODE | 业务岗位代码 | String | VARCHAR | 64 | 否 | — | IDX_QMRESP_SCOPE_ROLE | 按需求岗位定义,不能用菜单权限代替 | 目标设计,未建表/未回读 |
ORG_ID | 任职单位或部门ID | Long | BIGINT | 64位 | 否 | — | 逻辑引用 | 引用平台组织;服务端按岗位校验组织类别 | 目标设计,未建表/未回读 |
USER_ID | 任职平台账号ID | Long | BIGINT | 64位 | 否 | — | IDX_QMRESP_USER | 引用有效平台用户,核对组织、岗位与工程范围 | 目标设计,未建表/未回读 |
VALID_FROM | 任职生效时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 配置人依据现行责任表填写;候选按当前时点判断 | 目标设计,未建表/未回读 |
VALID_TO | 任职失效时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 可空表示未定结束;有值须不早于生效时间 | 目标设计,未建表/未回读 |
ENABLED | 配置启用标记 | String | CHAR | 1 | 否 | '1' | — | 1启用/0停用,停用不抹去历史责任快照 | 目标设计,未建表/未回读 |
REMARK | 任职来源和说明 | String | VARCHAR | 2000 | 是 | — | — | 经办输入,服务端按类型和节点校验 | 目标设计,未建表/未回读 |
CREATE_DEPT | 创建部门 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_BY | 创建人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_TIME | 创建时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_BY | 最近更新人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_TIME | 最近更新时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
DEL_FLAG | 逻辑删除标记 | String | CHAR | 1 | 否 | '0' | — | 服务端维护:0有效、1删除 | 目标设计,未建表/未回读 |
3.5 BIZ_QM_SPECIAL_PLAN(线路专项适用计划)
| 字段 | 中文业务含义 | 逻辑类型 | 物理类型 | 长度/精度 | 可空 | 默认值 | 主外键/索引 | 来源/生成规则 | 核验状态 |
|---|---|---|---|---|---|---|---|---|---|
ID | 业务主键 | Long | BIGINT | 64位 | 否 | — | PK | 服务端ASSIGN_ID生成 | 目标设计,未建表/未回读 |
LINE_ID | 计划所属线路ID | Long | BIGINT | 64位 | 否 | — | UK_QMSP_LINE_ITEM | 引用平台稳定ID;服务端核对存在性与归属 | 目标设计,未建表/未回读 |
SPECIALTY_CODE | 十三项专项验收编码 | String | VARCHAR | 64 | 否 | — | UK_QMSP_LINE_ITEM | 源资料十三项稳定编码;不按名称模糊归并 | 目标设计,未建表/未回读 |
GROUP_CODE | 专项大类编码 | String | VARCHAR | 64 | 是 | — | — | 五大类归组待D09提供准确映射,不按名称猜测 | 目标设计,未建表/未回读 |
ITEM_SNAPSHOT | 线路与专项分类名称快照 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 服务端从线路主数据及专项字典生成 | 目标设计,未建表/未回读 |
APPLICABLE | 本线路是否适用 | String | CHAR | 1 | 是 | — | — | 1适用/0不适用;未核定为空,不能当已适用参与分母 | 目标设计,未建表/未回读 |
INAPPLICABLE_REASON | 不适用依据 | String | VARCHAR | 2000 | 是 | — | — | 不适用时填写,所需确认程序由D09决定,不自行加审批 | 目标设计,未建表/未回读 |
PLANNED_DATE | 计划完成日期 | LocalDate | DATE | 日期 | 是 | — | — | 经办输入,服务端校验日期含义及顺序 | 目标设计,未建表/未回读 |
PREREQUISITES | 前置业务要件文件清单 | 明确结构对象/数组 | CLOB | 大文本;应用限制按schema定义 | 是 | — | — | 维护人提供要件名称、文件ID及说明;不自动建立审批拓扑 | 目标设计,未建表/未回读 |
COMPLETION_RULE_CODE | 完成依据判定规则编码 | String | VARCHAR | 64 | 是 | — | — | D09确认后选择明确规则,不能手填完成率或随意判完成 | 目标设计,未建表/未回读 |
REMARK | 计划说明 | String | VARCHAR | 2000 | 是 | — | — | 经办输入,服务端按类型和节点校验 | 目标设计,未建表/未回读 |
CREATE_DEPT | 创建部门 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_BY | 创建人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_TIME | 创建时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_BY | 最近更新人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_TIME | 最近更新时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
DEL_FLAG | 逻辑删除标记 | String | CHAR | 1 | 否 | '0' | — | 服务端维护:0有效、1删除 | 目标设计,未建表/未回读 |
3.6 BIZ_QM_CATALOG_CONFIG(分部验收展示配置)
| 字段 | 中文业务含义 | 逻辑类型 | 物理类型 | 长度/精度 | 可空 | 默认值 | 主外键/索引 | 来源/生成规则 | 核验状态 |
|---|---|---|---|---|---|---|---|---|---|
ID | 业务主键 | Long | BIGINT | 64位 | 否 | — | PK | 服务端ASSIGN_ID生成 | 目标设计,未建表/未回读 |
UNIT_PROJECT_ID | 单位工程ID | Long | BIGINT | 64位 | 否 | — | 逻辑引用 | 引用工程基础,校验分部父级 | 目标设计,未建表/未回读 |
SUB_PROJECT_ID | 分部工程ID | Long | BIGINT | 64位 | 否 | — | UK_QMC_SUB | 引用工程基础已有分部,不在质量模块生成 | 目标设计,未建表/未回读 |
ORDER_NUM | 质量验收展示排序 | Integer | INT | 32位 | 否 | 0 | — | 目录配置输入,仅影响质量视图 | 目标设计,未建表/未回读 |
REMARK | 质量验收备注 | String | VARCHAR | 2000 | 是 | — | — | 经办输入,服务端按类型和节点校验 | 目标设计,未建表/未回读 |
CREATE_DEPT | 创建部门 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_BY | 创建人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
CREATE_TIME | 创建时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_BY | 最近更新人 | Long | BIGINT | 64位 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
UPDATE_TIME | 最近更新时间 | LocalDateTime | TIMESTAMP | 6 | 是 | — | — | 公共审计自动填充 | 目标设计,未建表/未回读 |
DEL_FLAG | 逻辑删除标记 | String | CHAR | 1 | 否 | '0' | — | 服务端维护:0有效、1删除 | 目标设计,未建表/未回读 |
4. 主键、索引与唯一性目标
| 表 | 目标索引 | 列及顺序 | 用途与约束 |
|---|---|---|---|
| 六表各自 | PK_<表缩写> | ID | 单列主键,服务端生成 |
BIZ_QM_RECORD | UK_QMR_NO | BUSINESS_NO | 单据编号全局唯一;删除后不重用编号 |
| 同上 | IDX_QMR_TYPE_TIME | BUSINESS_TYPE, CREATE_TIME, ID | 类型台账、日期排序与稳定分页 |
| 同上 | IDX_QMR_SOURCE | SOURCE_RECORD_ID | 来源报告及处置检索,不限制处置数量 |
| 同上 | IDX_QMR_PLAN | SPECIAL_PLAN_ID, BUSINESS_TYPE | 专项计划关联成果去重统计 |
| 同上 | IDX_QMR_ENGINEERING | LINE_ID, BID_ID, SITE_ID | 工程授权及过滤;不替代授权谓词 |
| 同上 | IDX_QMR_INSTANCE | INSTANCE_ID | 引擎业务关联核对 |
BIZ_QM_DEFECT_BATCH | UK_QMB_NO | BATCH_NO | 批次编号唯一,不以历史文件名作唯一键 |
| 同上 | IDX_QMB_CATEGORY_TIME | CATEGORY, CREATE_TIME, ID | 分类批次列表 |
BIZ_QM_DEFECT_ISSUE | UK_QMI_NO | ISSUE_NO | 问题编号唯一且长期稳定 |
| 同上 | IDX_QMI_BATCH | BATCH_ID, SEQ_NO, ID | 同批问题顺序与汇总 |
| 同上 | IDX_QMI_CATEGORY_STATUS | CATEGORY, RECTIFY_STATUS, CREATE_TIME | 分类问题状态筛选 |
| 同上 | IDX_QMI_ENGINEERING | LINE_ID, BID_ID, SITE_ID | 每问题完整工程范围 |
| 同上 | IDX_QMI_INSTANCE | INSTANCE_ID | 每问题实例核对,不建立批次实例 |
BIZ_QM_RESPONSIBILITY | IDX_QMRESP_SCOPE_ROLE | LINE_ID, SCOPE_KIND, ROLE_CODE, BID_ID, SITE_ID, UNIT_PROJECT_ID | 岗位候选解析;以真实查询计划验证列序及长度 |
| 同上 | IDX_QMRESP_USER | USER_ID, ENABLED | 用户任职与失效检查 |
BIZ_QM_SPECIAL_PLAN | UK_QMSP_LINE_ITEM | LINE_ID, SPECIALTY_CODE | 每线路每专项项仅一计划配置 |
BIZ_QM_CATALOG_CONFIG | UK_QMC_SUB | SUB_PROJECT_ID | 每分部仅一质量展示配置,单位工程为其真实父级 |
岗位允许多人任岗,不能对“范围+岗位”建立只容许单人的唯一约束;是否允许同一人兼不同共同确认职责由 D04 决定。配置保存需避免同一账号同范围同岗位的无意义重复,但不为未证实竞争场景增加锁或版本机制。
专项计划与目录是原位维护的配置,不提供以删除后新增绕过唯一约束的入口;恢复被停用/删除配置须更新原记录。正式建表前同时验证唯一性与逻辑删除行为,不能机械把 DEL_FLAG 加入所有唯一键后宣称已解决。
5. 专有资料与成果结构
5.1 RECORD.PAYLOAD
BUSINESS_TYPE 采用详细设计中的 firstItem/subProject/unitProject/projectAcceptance/specialAcceptance/completionAcceptance/ncLedger/ncDisposal/problem/accident。每类定义独立 DTO 和schema,结构版本仅为本版数据格式标识,不用于兼容废弃实现。
| 类型 | 目标结构分组 | 关系及写入责任 |
|---|---|---|
| 首件/分部 | 施工部位/依据/情况或五项结论;预申请;正式记录/纪要;阶段结论 | 施工节点分阶段填写,不在预申请强制尚未形成的正式成果 |
| 单位 | 合同/分部/资料/功能/观感/缓建/自检结论;预清单/纪要;整改与正式申请;正式结论及纪要 | 按总监、施工、小组经办和组长节点分别可写 |
| 项目/竣工 | 情况说明、五类命名成果集合及不适用说明 | 项目是否审批按D01;竣工无审批,不能填造审批通过状态 |
| 专项 | specialtyCode、情况说明、resultFiles、completionBasis={basisDate,evidenceFiles,description}、有效性信息 | 关联本表 SPECIAL_PLAN_ID;D09确认可接受证据与失效/撤销规则后从成果派生完成,不手填完成率 |
| 不合格报告 | reportNo/sampleName/commissionDate/testDate/responsibleOrgId、报告文件及补充项、检测结论 | 审核通过不修改检测不合格结论;总站后置,不设计同步队列表 |
| 不合格处置 | replyItems[{description,files,remark}]、处置结果 | 来源在 SOURCE_RECORD_ID,展示原始报告;不双写一套来源事实 |
| 日常质量问题 | 部位、发现日期、问题内容/资料、责任、整改说明/完成日期/成果 | 独立通用单据;不关联消缺批次、不复制五分类 |
| 事故 | 年月、类型、等级、事故说明、报告/处置销项文件、主管组织 | 类型/等级明确字典,主管岗位按D04配置 |
所有文件以 {fileId,purpose,sortOrder} 等明确引用结构保存,名称、大小、格式由服务端读取 OSS 元数据。公开下载URL、鉴权参数和文件二进制不写业务 JSON。
5.2 DEFECT_ISSUE.PAYLOAD
| 分类 | 原始资料 | 回复及成果 |
|---|---|---|
| 施工 | 联系组织/人员快照、问题附件、提出方备注 | 整改完成说明、整改附件、整改方备注;计划与实际日期在物理列分开 |
| 运营提前介入/初期运营后 | 提出部门、专业、段线、车站区间、发现日期、联系人、问题资料、初运前完成标识 | 是否异议、降级说明和确认详情、行车影响、轨行区作业、作业需求、整改资料、运营闭环;初期运营后同样包含等级调整分支 |
| 消防 | 三方/四方来源、类别、部位、条文、归口公司、问题分类、责任标段、专业、联系人、问题照片 | 设计核实回复/附件、整改说明/照片;D10决定复验与销项证据,不能自行新增第三方终审 |
| 评估 | 页码、专家、板块、可空点位、问题类型、处理措施、责任联系信息 | 运营/交建各自计划、专业/任务分解、开展状态、进度、有序成果列表;初复终审分别从节点记录追溯 |
原始等级、建议等级、确认等级在物理字段中分别保存,JSON不再维护另一套当前有效等级。点数与预计作业天数的区分目前仅为建议,待D02业务样例确认后定义 workRequirement 的明确结构,不预先落两列并强制新增录入项。重复备注使用提出方/整改方不同键,不能互相覆盖。
5.3 责任与工程快照
ENGINEERING_SNAPSHOT 保存选择时的线路/标段/工点/单位/分部编码、名称及完整路径;当前授权仍使用稳定ID,快照不能用于放行。RESPONSIBILITY_SNAPSHOT 保存本次提交解析的配置ID、roleCode、orgId、userId和必要名称,真实任务办理人以引擎当前任务为准。任职调整不回写已经形成的历史快照,不伪造历史办理人。
每个节点仅更新其获准字段,未知字段、越节点字段和客户端传入流程状态均拒绝。历次意见、办理人、节点结果以 Warm-Flow 历史为唯一过程来源;业务表仅保存当前资料、明确节点成果快照及附件关系,不新增独立审批历史表或待办表。
5.4 专项前置文件与统计
SPECIAL_PLAN.PREREQUISITES 使用有序数组 {name,fileIds,description},承载建设单位提供的业务要件文件;不将前置文件清单自动转换成所有专项之间的审批依赖图。未提供文件应显示缺项,不生成空文件。
统计按线路适用计划项去重:总数为明确适用的计划项;完成数为截至统计时点有符合D09规则的有效关联成果的计划项。适用未核定、完成规则未配置时应显示未核定,不能输出伪完成率;总数为0时显示不适用。批次问题总数、闭环数同样从有效问题派生,均不另存手填统计字段。
6. 外部引用、校验及事务边界
- 工程基础主数据只读:新增/改选使用有效对象,单位/分部反向核对父级;无点位的评估问题可用经确认线路/标段级范围,不伪造工点。子单位/子分部按D06先由工程基础定义模型,本版不先造私有ID列。
- 组织与账号:
ORG_ID/USER_ID等引用平台统一组织与用户。有效任职、功能权限、工程授权和当前任务四项均满足才可办理;通讯录只作配置素材,不批量赋权或自动生成默认任职。 - 批次与问题:导入确认同批草稿事务,任一归属或字段错误全部回滚;批量提交按详细设计逐问题事务逐条反馈。批次有在途/完成问题时不可级联删除或整批覆盖。
- 流程与资料:单问题/单记录提交校验已保存资料并绑定真实实例;节点推进与必交成果保存按平台事务能力保持一致,失败不呈现已完成。是否普通归档、通过或终止,不能只由“实例不存在/已结束”猜测。
- 非阻塞知会复用公共抄送/通知,不创建接收业务表或阻塞签收状态。接收不扩大工程可见权限,缺少通知渠道和人员配置按D03处理。
- 文件:统一OSS引用,上传、预览、下载均验证单据访问范围及文件关联;不复制文件存储表。历史工作簿图片如纳入导入,须取得D07清单并建立可复核的图片—问题映射。
7. 实施前置与数据库验收
| 事项 | 目标设计依赖 |
|---|---|
| D01 项目验收图文冲突 | 决定该类型是否填流程关联;不影响其他表建模 |
| D02 多责任与等级业务规则 | 主责/协作或拆问题策略、允许等级调整组合、作业点数/天数样例;不改变每问题独立流程的本版推荐粒度 |
| D04 岗位责任 | 当前工程—组织—岗位—账号、多人任岗及兼岗规则,作为责任配置有效输入 |
| D06 子层级 | 工程基础是否须补子单位/子分部,先确认业务覆盖再扩引用,不在本表伪造 |
| D07 初始资料导入 | 有效Sheet、批次范围、重叠与去重依据、照片是否迁移 |
| D09 专项计划 | 十三项归组、线路适用、完成依据、前置文件和统计/推送契约 |
| D10/D12 材料与销项 | 消防Word范围、复验证据及各节点材料必填,落实明确schema和节点校验 |
实施使用项目开发库纳管入口核对环境、目标对象和命名可用性,完成建表后逐列回读类型、长度、空值、默认、注释、索引和约束;以本矩阵反向核对实体和真实写入/回读。任何差异都更新设计与实际差异记录,不以文件存在宣称数据库完成。
DM8为当前运行环境,目标设计需评估人大金仓、openGauss的CLOB、时间、默认表达式及索引兼容性;厂商专属DDL由纳管入口执行,不在仓库保存业务SQL。普通表结构开发与生产发布分开;本轮无数据库或生产操作,流程发布亦未发生。运行验证归测试与验收。