Skip to content

规划管理 · 数据库设计文档 ​

字段中文含义参考 2026-11-02 开发库、生产库只读回读的字段注释及原有业务资料;历史物理结构、核验日期和设计差异仍以各表原记录为准。

文档版本:1.00 | 最近核对日期:2026-09-20

本文记录规划管理模块 13 张 biz_planning_* 表的实际字段矩阵。所有字段、类型、长度、可空性与默认值来自项目 MCP dcp-dm8-dev 对开发库的只读回读(2026-09-20),并与当前实体代码逐项比对一致;设计草案中尚未落地的预留内容单列于第 5 节,未核对内容按"待核对"标注,不以设计稿猜测补齐。

1. 设计范围与核验状态 ​

项目内容
模块名称规划管理(5 个业务模块 + 专题类型目录 + 办理页族)
设计数据库逻辑类型:可迁移;物理类型:按当前开发库(DM8)回读记录
数据库交付基线13 张业务表由本轮开发通过项目 MCP dcp-dm8-dev 建立在开发库 DIGITAL_CONSTRUCTION 模式;本模块不新增平台级持久化表,不修改既有平台表
实体/Mapper 来源digital-construction-modules/digital-construction-business/src/main/java/com/bokun/business/planning/domain/(13 个实体)与 …/planning/mapper/(14 个业务 Mapper + PlanningWorkflowQueryMapper)
MCP 结构核验2026-09-20 由文档 Agent 只读回读:USER_TABLES(13 张)、USER_TAB_COLUMNS(逐表列清单)、USER_CONSTRAINTS/USER_CONS_COLUMNS(约束)、USER_INDEXES/USER_IND_COLUMNS(索引)、SYS_DICT_DATA(规划管理字典)、FLOW_DEFINITION(规划管理流程定义)
数据库核验状态已按实际库核对(13 张表、237 个列、13 个主键约束、2 个唯一约束、12 个具名普通索引)
本次未执行的数据库动作本次核对为只读;本轮 DDL 已在开发库执行(时间与内容见第 6 节),本次未执行任何 DDL/DML
目标数据库兼容当前 DM8 只是运行环境;人大金仓、openGauss 等目标库的兼容风险见第 6 节,DM8 专属写法的实际范围已逐项标注

回读口径说明:

  • 本矩阵的"长度/精度"对 VARCHAR 为字符长度;BIGINT/INT/CHAR/DATE/TIMESTAMP 由 MCP 返回的 DATA_LENGTH 是存储字节宽度(分别为 8/4/1/3/8),不是业务精度,因此这三类字段的长度列记为"—",精度差异见第 6 节。
  • "可空"与"默认值"完全以开发库实际结构为证据;业务上提交时必填的字段与数据库 NOT NULL 是两件事,本模块多数业务字段在数据库层可空、由服务端校验保证(见第 5 节)。
  • 13 张表均为本轮新建,回读覆盖全部列,无"待核对"列;设计与实际的差异集中在约束、预留字段与可空性,见第 5 节。

2. 实体关系 ​

text
biz_planning_task                1 ── N  biz_planning_task_project        (任务 → 关联项目/线路,多选)
biz_planning_task                1 ── N  biz_planning_task_topic          (任务 → 关联专题类型,多选)
biz_planning_task                1 ── 1  biz_planning_stage_record        (每条任务 1 条阶段记录,SEQ_NO 恒为 1)
biz_planning_task                1 ── N  biz_planning_process_instance    (任务 → 流程实例登记,含重启后的多实例)
biz_planning_stage_record        1 ── 1  biz_planning_result_version      (阶段记录 → 成果版本,VERSION_NO 从 1 起)
biz_planning_result_version      1 ── N  biz_planning_result_item         (成果版本 → 成果明细行)
biz_planning_task                1 ── N  biz_planning_attachment_ref      (业务附件引用,按 BIZ_TYPE/BIZ_ID 归属)
biz_planning_result_item         1 ── N  biz_planning_attachment_ref      (明细行附件,按 ITEM_ID 归属)
biz_planning_task                1 ── N  biz_planning_consultation_batch  (意见征求批次,一轮一条)
biz_planning_consultation_batch  1 ── N  biz_planning_consultation_task   (批次 → 单个部门意见)
biz_planning_task                1 ── N  biz_planning_approval_record     (审批记录,逐节点一条)
biz_planning_topic_type          1 ── N  biz_planning_topic_project       (专题类型 → 关联项目)

关联约定与删除策略:

  • 全部为逻辑外键,数据库不建立外键约束:13 张表只有主键约束与 2 个唯一约束,无 FOREIGN KEY。跨表一致性由服务端在事务内保证,避免跨版本迁移被外键阻断,与平台既有业务表做法一致。
  • 逻辑删除:DEL_FLAG CHAR(1) 默认 '0',全部表均由 MyBatis-Plus @TableLogic 生效;不物理删除业务记录,允许保留指向已逻辑删除记录的关联行(孤儿记录在列表中按主表过滤,不影响统计)。
  • 阶段记录与成果版本按任务唯一:biz_planning_stage_record 每条任务 1 条(SEQ_NO 恒为 1),biz_planning_result_version 每条阶段记录 1 条由数据库唯一约束 UK_BIZ_PLANNING_VERSION(STAGE_RECORD_ID, VERSION_NO) 保证;需要新阶段时新建阶段任务,不在同一任务内追加阶段记录或版本。
  • 流程实例唯一性:UK_BIZ_PLANNING_INSTANCE_BUSINESS(BUSINESS_ID) 保证实例业务标识 {阶段记录ID}#{实例序号} 唯一;"同一阶段记录只有一条 IS_CURRENT='1'"由服务端在事务内保证(数据库侧只有 (TASK_ID, IS_CURRENT) 普通索引,未建条件唯一约束,见第 5 节)。
  • 状态跟踪引用不建副本表:自动引用记录仍是 biz_planning_task 的一行(SOURCE_TYPE = CONSTRUCTION_PLAN | FEASIBILITY_STUDY),不创建阶段记录、不创建成果版本、不启动流程;项目台账按 biz_planning_task_project 实时聚合,不复制业务数据。
  • 成果与附件五层:业务任务 → 阶段记录 → 成果版本 → 成果明细 → 附件引用;附件只保存文件服务对象标识(OSS_ID),不复制实体文件。

3. 全量字段矩阵 ​

以下 13 张表覆盖数据库中实际存在的每一个列,包含页面不展示的公共审计列、逻辑删除、并发版本与预留字段。列名在数据库中为 DM8 默认的大写形式,实体属性名为对应驼峰形式。

3.1 biz_planning_task(业务任务主实体,5 个业务模块共用) ​

数据库 35 个列。建设规划与工可研究的编制/报审/批复各为一条独立任务。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_TASK雪花算法(idType: ASSIGN_ID)是已按实际库核对(MCP 2026-09-20)
2MODULE_TYPE业务模块类型VARCHARVARCHAR32否——服务端按控制器资源写入 RESERVE/STATUS_TRACKING/NETWORK_PLAN/CONSTRUCTION_PLAN/FEASIBILITY_STUDY;字典 planning_module_type是已按实际库核对
3TASK_NAME任务名称VARCHARVARCHAR300否——表单输入;提交时服务端校验非空是已按实际库核对
4WORK_STAGE工作阶段VARCHARVARCHAR32可NULL—COMPILATION/SUBMISSION/APPROVAL;单阶段模块(储备清单/状态跟踪/线网规划)与自动引用记录为空;字典 planning_work_stage是已按实际库核对
5TOPIC_TYPE_ID首个专题类型 ID(兼容字段)BIGINTBIGINT—可NULL—专题类型改为多选后由关系表承载,本列保留首个专题的 ID 供旧筛选复用否已按实际库核对
6TOPIC_TYPE_NAME专题类型名称快照(顿号拼接)VARCHARVARCHAR200可NULL—保存本次选中专题名称的顿号拼接快照,列表展示用是已按实际库核对
7SOURCE_TYPE来源模块编码VARCHARVARCHAR32可NULL—自动引用取来源模块编码 CONSTRUCTION_PLAN/FEASIBILITY_STUDY,手工新增为 MANUAL;非引用记录为空是已按实际库核对
8SOURCE_TASK_ID来源任务 IDBIGINTBIGINT—可NULL—自动引用时指向来源任务否已按实际库核对
9SOURCE_STAGE_RECORD_ID来源阶段记录 IDBIGINTBIGINT—可NULL—自动引用时指向来源阶段记录,并作为引用幂等判重键是已按实际库核对
10INITIATOR_TYPE发起方式VARCHARVARCHAR32否——SECONDARY_UNIT(二级单位)/GROUP(开投集团);由服务端按权限与用户部门归属复核后写入,前端参数不可信;字典 planning_initiator_type是已按实际库核对
11INITIATOR_ORG_ID发起单位 IDBIGINTBIGINT—可NULL—由 PlanningInitiatorResolver 按用户部门归属解析是已按实际库核对
12INITIATOR_ORG_NAME发起单位名称快照VARCHARVARCHAR200可NULL—解析发起单位时保存名称快照是已按实际库核对
13INITIATOR_DEPT_ID发起部门 IDBIGINTBIGINT—可NULL—发起人部门否已按实际库核对
14INITIATOR_DEPT_NAME发起部门名称快照VARCHARVARCHAR200可NULL—发起时快照否已按实际库核对
15INITIATOR_USER_ID发起人用户 IDBIGINTBIGINT—可NULL—登录人是已按实际库核对
16INITIATOR_USER_NAME发起人姓名快照VARCHARVARCHAR100可NULL—发起时快照否已按实际库核对
17FILL_ORG_ID填报单位 IDBIGINTBIGINT—可NULL—表单必填;开投集团发起时为集团部门所属单位是已按实际库核对
18FILL_ORG_NAME填报单位名称快照VARCHARVARCHAR200可NULL—表单输入并保存快照,列表"填报单位"列展示是已按实际库核对
19FILL_USER_ID填报人用户 IDBIGINTBIGINT—可NULL—表单"填报人"选择写入是已按实际库核对
20FILL_USER_NAME填报人姓名快照VARCHARVARCHAR100可NULL—表单选择时快照是已按实际库核对
21FILL_TIME填报时间DATEDATE—可NULL—表单"填报时间"填写,仅年月日语义是已按实际库核对
22BUSINESS_STATUS业务状态VARCHARVARCHAR32否'draft'—复用平台 BusinessStatusEnum 稳定编码 draft/waiting/back/finish,由流程事件与服务端流转回写;字典 planning_business_status是已按实际库核对
23INSTANCE_ID当前流程实例 IDBIGINTBIGINT—可NULL—提交或重启后由服务端回写;实例明细以 biz_planning_process_instance 为准是已按实际库核对
24CURRENT_NODE_CODE当前节点编码VARCHARVARCHAR64可NULL—流程事件携带的新节点编码回写是已按实际库核对
25CURRENT_NODE_NAME当前节点名称VARCHARVARCHAR200可NULL—与当前节点编码同时回写,列表"操作"与办理入口展示否已按实际库核对
26CURRENT_HANDLER_IDS当前办理人 ID 集合VARCHARVARCHAR500可NULL—逗号分隔;会签节点为本次选中部门接收人集合否已按实际库核对
27CURRENT_HANDLER_NAMES当前办理人姓名集合VARCHARVARCHAR500可NULL—与上一列同时回写,列表展示否已按实际库核对
28REMARK备注VARCHARVARCHAR1000可NULL—表单备注(原型未列出、本轮按既有实现保留)否已按实际库核对
29VERSION并发版本INTINT—可0—平台乐观锁字段否已按实际库核对
30CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity + InjectionMetaObjectHandler 自动填充否已按实际库核对
31CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
32CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
33UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
34UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
35DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic;数据库层可空(见第 5 节差异 1)否已按实际库核对

性能提示:本表只有主键索引,列表查询条件 MODULE_TYPE/BUSINESS_STATUS/INITIATOR_TYPE 及排序字段均无索引。当前数据量(回读时点 31 行)无影响,列为遗留优化项(见第 5 节遗留问题)。

3.2 biz_planning_task_project(任务 ↔ 项目/线路,M:N) ​

数据库 12 个列。一份任务可关联多条线路/项目,不拆任务、不复制流程实例。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_TASK_PROJECT雪花算法是已按实际库核对
2TASK_ID任务 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_TASK_PROJECT;逻辑外键 → biz_planning_task.ID任务创建/编辑时写入是已按实际库核对
3PROJECT_ID项目 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_TASK_PROJECT_PROJ;逻辑外键 → biz_project.ID项目/线路选择器(已解耦的业务项目口径)是已按实际库核对
4PROJECT_NAME项目名称快照VARCHARVARCHAR400可NULL—选择时保存名称快照,历史单据不随主数据改名是已按实际库核对
5PROJECT_CODE项目编码快照VARCHARVARCHAR64可NULL—选择时保存编码快照否已按实际库核对
6SORT_NO排序号INTINT—可0—按表单选择顺序写入,用于顿号拼接展示否已按实际库核对
7CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
8CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
9CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
10UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
11UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
12DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic;编辑时按任务重建关联行否已按实际库核对

(TASK_ID, PROJECT_ID) 无唯一约束(仅两个普通索引),设计草案要求的唯一约束未落地,见第 5 节差异 2。

3.3 biz_planning_task_topic(任务 ↔ 专题类型,M:N,承载专题类型多选) ​

数据库 11 个列。本轮由单选改为多选后新增的关系表;2026-10-09 支持自定义专题后 TOPIC_TYPE_ID 放开非空(模板引用可空,名称快照 TOPIC_NAME 必填)。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_TASK_TOPIC雪花算法是已按实际库核对
2TASK_ID任务 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_TASK_TOPIC;逻辑外键 → biz_planning_task.ID任务创建/编辑时写入是已按实际库核对
3TOPIC_TYPE_ID专题类型 IDBIGINTBIGINT—可NULLIDX IDX_BIZ_PLANNING_TASK_TOPIC_TYPE;逻辑外键 → biz_planning_topic_type.ID模板专题选择器;自定义专题无模板时留空,名称由 TOPIC_NAME 承载(2026-10-09 放开非空约束)是已按实际库核对(2026-10-09 MCP 回读:NULLABLE=Y)
4TOPIC_NAME专题类型名称快照VARCHARVARCHAR400可NULL—选择时保存名称快照是已按实际库核对
5SORT_NO排序号INTINT—可0—按选择顺序写入否已按实际库核对
6CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
7CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
8CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
9UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
10UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
11DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic;编辑时按任务重建关联行否已按实际库核对

(TASK_ID, TOPIC_TYPE_ID) 无唯一约束(仅两个普通索引),见第 5 节差异 2。

3.4 biz_planning_stage_record(阶段记录,每条任务 1 条) ​

数据库 23 个列。每条任务恰好 1 条阶段记录,SEQ_NO 恒为 1;单阶段模块的 WORK_STAGE 为空。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_STAGE_RECORD雪花算法是已按实际库核对
2TASK_ID任务 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_STAGE_TASK;逻辑外键 → biz_planning_task.ID与任务同时创建是已按实际库核对
3MODULE_TYPE业务模块类型VARCHARVARCHAR32否——冗余任务模块类型,便于台账聚合是已按实际库核对
4WORK_STAGE工作阶段VARCHARVARCHAR32可NULL—与任务一致;单阶段模块为空是已按实际库核对
5SEQ_NO阶段序号INTINT—可1—恒为 1(阶段任务化口径:需要新阶段时新建任务)是已按实际库核对
6BUSINESS_STATUS业务状态VARCHARVARCHAR32可'draft'—与任务同步回写是已按实际库核对
7INSTANCE_ID流程实例 IDBIGINTBIGINT—可NULL—启动流程后回写是已按实际库核对
8CURRENT_NODE_CODE当前节点编码VARCHARVARCHAR64可NULL—流程事件回写否已按实际库核对
9CURRENT_NODE_NAME当前节点名称VARCHARVARCHAR200可NULL—与节点编码同时回写否已按实际库核对
10CURRENT_HANDLER_IDS当前办理人 ID 集合VARCHARVARCHAR500可NULL—逗号分隔否已按实际库核对
11CURRENT_HANDLER_NAMES当前办理人姓名集合VARCHARVARCHAR500可NULL—同上否已按实际库核对
12NEED_CONSULTATION是否需要意见征求CHARCHAR1可NULL—部门负责人节点在办理弹窗选择"是/否"后回写;仅储备清单与建设规划/工可研究编制阶段会取值是已按实际库核对
13SUBMIT_USER_ID提交人用户 IDBIGINTBIGINT—可NULL—提交时写入否已按实际库核对
14SUBMIT_USER_NAME提交人姓名快照VARCHARVARCHAR100可NULL—提交时快照否已按实际库核对
15SUBMIT_TIME提交时间TIMESTAMPTIMESTAMP—可NULL—提交时写入否已按实际库核对
16APPROVE_TIME审批通过时间TIMESTAMPTIMESTAMP—可NULL—流程结束时写入否已按实际库核对
17VERSION并发版本INTINT—可0—平台乐观锁字段否已按实际库核对
18CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
19CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
20CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
21UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
22UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
23DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic否已按实际库核对

"每条任务只有 1 条阶段记录"由服务端保证,未建 (TASK_ID, SEQ_NO) 唯一约束,见第 5 节差异 3。

3.5 biz_planning_result_version(成果版本) ​

数据库 17 个列。随任务创建生成 VERSION_NO = 1;退回重提、重启实例复用同一条版本,不新增版本行。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_RESULT_VERSION雪花算法是已按实际库核对
2TASK_ID任务 IDBIGINTBIGINT—否—逻辑外键 → biz_planning_task.ID与任务同时创建是已按实际库核对
3STAGE_RECORD_ID阶段记录 IDBIGINTBIGINT—否—UK UK_BIZ_PLANNING_VERSION(第 1 列);逻辑外键 → biz_planning_stage_record.ID与阶段记录同时创建是已按实际库核对
4VERSION_NO版本号INTINT—否—UK UK_BIZ_PLANNING_VERSION(第 2 列)每条阶段记录从 1 起是已按实际库核对
5SUBMIT_USER_ID提交人用户 IDBIGINTBIGINT—可NULL—提交时写入否已按实际库核对
6SUBMIT_USER_NAME提交人姓名快照VARCHARVARCHAR100可NULL—提交时快照否已按实际库核对
7SUBMIT_TIME提交时间TIMESTAMPTIMESTAMP—可NULL—提交时写入;退回重提时更新为该轮提交时间否已按实际库核对
8INSTANCE_ID流程实例 IDBIGINTBIGINT—可NULL—提交或重启后回写否已按实际库核对
9APPROVAL_RESULT审批结果VARCHARVARCHAR32可NULL—流程结束时按办理结果写入(通过/退回)是已按实际库核对
10REMARK备注VARCHARVARCHAR1000可NULL—业务流程携带的备注快照否已按实际库核对
11VERSION并发版本INTINT—可0—平台乐观锁字段否已按实际库核对
12CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
13CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
14CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
15UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
16UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
17DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic否已按实际库核对

本表的 UK_BIZ_PLANNING_VERSION 是 13 张表中仅有的两个唯一约束之一,与设计草案一致。

3.6 biz_planning_result_item(成果明细行) ​

数据库 12 个列。每个工作阶段一套明细,列名语义按模块与阶段不同(如"前期储备研究成果文件""建设规划报审成果文件"),落库为统一结构。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_RESULT_ITEM雪花算法是已按实际库核对
2TASK_ID任务 IDBIGINTBIGINT—否—逻辑外键 → biz_planning_task.ID与版本同时写入是已按实际库核对
3STAGE_RECORD_ID阶段记录 IDBIGINTBIGINT—否—逻辑外键 → biz_planning_stage_record.ID同上是已按实际库核对
4VERSION_ID成果版本 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_ITEM_VERSION;逻辑外键 → biz_planning_result_version.ID明细行挂在版本下是已按实际库核对
5SORT_NO排序号INTINT—可0—前端明细行顺序否已按实际库核对
6MAIN_CONTENT主要内容VARCHARVARCHAR2000可NULL—明细表"主要内容"输入;提交时服务端校验非空(附件非必填)是已按实际库核对
7CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
8CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
9CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
10UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
11UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
12DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic;编辑时按版本重建明细行否已按实际库核对

3.7 biz_planning_attachment_ref(附件引用) ​

数据库 20 个列。只保存文件服务对象引用,不复制实体文件。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_ATTACHMENT_REF雪花算法是已按实际库核对
2BIZ_TYPE业务类型VARCHARVARCHAR32否—IDX IDX_BIZ_PLANNING_ATTACH_BIZ(第 1 列)取值 TASK/RESULT_ITEM/CONSULTATION/APPROVAL,标识附件归属层级是已按实际库核对(取值域来自实体与服务层约定)
3BIZ_ID业务主键BIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_ATTACH_BIZ(第 2 列)与 BIZ_TYPE 组合定位归属记录是已按实际库核对
4ITEM_ID明细行 IDBIGINTBIGINT—可NULL—明细行附件时指向 biz_planning_result_item.ID否已按实际库核对
5OSS_ID文件服务对象 IDBIGINTBIGINT—否——逻辑外键 → sys_oss.OSS_ID;由 /resource/oss/upload 返回是已按实际库核对
6FILE_NAME文件名称VARCHARVARCHAR500可NULL—上传时保存,页面"直接显示附件的名称"是已按实际库核对
7FILE_SIZE文件大小(字节)BIGINTBIGINT—可NULL—上传时保存否已按实际库核对
8FILE_TYPE文件类型VARCHARVARCHAR64可NULL—上传时保存扩展名/类型否已按实际库核对
9SOURCE_TYPE附件来源VARCHARVARCHAR32可'UPLOAD'—当前实际写入 UPLOAD(直接上传);FILE_CATALOG 为"信息管理/文件目录配置"对接预留,见第 5 节差异 4是已按实际库核对
10CATALOG_ID文件目录 ID(预留)BIGINTBIGINT—可NULL—预留字段,用于保存"信息管理/文件目录配置"的目录标识;本轮未落地使用否已按实际库核对(字段存在;无实际写入证据)
11UPLOADER_ID上传人用户 IDBIGINTBIGINT—可NULL—上传时写入否已按实际库核对
12UPLOADER_NAME上传人姓名快照VARCHARVARCHAR100可NULL—上传时快照否已按实际库核对
13UPLOAD_TIME上传时间TIMESTAMPTIMESTAMP—可NULL—上传时写入否已按实际库核对
14SORT_NO排序号INTINT—可0—同一归属下的展示顺序否已按实际库核对
15CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
16CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
17CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
18UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
19UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
20DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic否已按实际库核对

回读时点本表 0 行:本轮端到端验证的附件随办理提交写入流程历史 ext(见测试与验证报告),本表尚未产生业务数据。

3.8 biz_planning_topic_type(专题类型目录,可配置主数据) ​

数据库 13 个列。"规划阶段/工可阶段"是专题所属业务分类,与工作阶段(编制/报审/批复)是两个维度。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_TOPIC_TYPE雪花算法是已按实际库核对
2PLAN_BIZ_STAGE规划报建阶段(专题业务分类)VARCHARVARCHAR32否——PLAN_STAGE(规划阶段)/STUDY_STAGE(工可阶段);字典 planning_topic_biz_stage是已按实际库核对
3TOPIC_NAME专题类型名称VARCHARVARCHAR200否——目录维护页输入;服务端校验非空与同阶段下重名是已按实际库核对
4TOPIC_CODE专题类型编码VARCHARVARCHAR64可NULL—目录维护页可选输入否已按实际库核对
5ENABLED启用标记CHARCHAR1否'1'—1 启用 / 其他停用;被任务或关联引用后不可物理删除,只能停用是已按实际库核对
6SORT_NO排序号INTINT—可0—目录维护页排序否已按实际库核对
7REMARK备注VARCHARVARCHAR500可NULL—目录维护页输入否已按实际库核对
8CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
9CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
10CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
11UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
12UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
13DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic否已按实际库核对

3.9 biz_planning_topic_project(专题类型 ↔ 项目,M:N) ​

数据库 12 个列。"关联项目"支持多选。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_TOPIC_PROJECT雪花算法是已按实际库核对
2TOPIC_TYPE_ID专题类型 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_TOPIC_PROJECT;逻辑外键 → biz_planning_topic_type.ID关联项目时写入是已按实际库核对
3PROJECT_ID项目 IDBIGINTBIGINT—否—逻辑外键 → biz_project.ID关联项目选择器是已按实际库核对
4PROJECT_NAME项目名称快照VARCHARVARCHAR400可NULL—选择时快照是已按实际库核对
5PROJECT_CODE项目编码快照VARCHARVARCHAR64可NULL—选择时快照否已按实际库核对
6SORT_NO排序号INTINT—可0—按选择顺序写入否已按实际库核对
7CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
8CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
9CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
10UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
11UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
12DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic;重新关联时按专题类型重建否已按实际库核对

(TOPIC_TYPE_ID, PROJECT_ID) 无唯一约束(仅专题类型一个普通索引),见第 5 节差异 2。

3.10 biz_planning_consultation_batch(意见征求批次,一轮一条) ​

数据库 13 个列。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_CONSULTATION_BATCH雪花算法是已按实际库核对
2TASK_ID任务 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_CONSULT_BATCH;逻辑外键 → biz_planning_task.ID决定节点选择"需要意见征求"时创建是已按实际库核对
3STAGE_RECORD_ID阶段记录 IDBIGINTBIGINT—可NULL—单阶段模块可能为空是已按实际库核对
4INSTANCE_ID流程实例 IDBIGINTBIGINT—可NULL—创建批次时的实例否已按实际库核对
5ROUND_NO轮次INTINT—可1—同一任务多轮意见征求时递增是已按实际库核对
6STATUS批次状态VARCHARVARCHAR32可NULL—IN_PROGRESS(进行中)/FINISHED(全部完成)/REJECTED(任一部门退回,本轮未通过)是已按实际库核对
7FINISH_TIME完成时间TIMESTAMPTIMESTAMP—可NULL—批次结束(完成或退回)时写入否已按实际库核对
8CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
9CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
10CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
11UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
12UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
13DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic否已按实际库核对

3.11 biz_planning_consultation_task(单个部门意见,并行会签明细) ​

数据库 20 个列。每位部门接收人各自回写本人一条明细,不依赖最后一名办理人触发的事件。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_CONSULTATION_TASK雪花算法是已按实际库核对
2BATCH_ID意见征求批次 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_CONSULT_TASK;逻辑外键 → biz_planning_consultation_batch.ID批次创建时按选中的部门逐条生成是已按实际库核对
3TASK_ID任务 IDBIGINTBIGINT—否—逻辑外键 → biz_planning_task.ID同上是已按实际库核对
4STAGE_RECORD_ID阶段记录 IDBIGINTBIGINT—可NULL—单阶段模块可能为空是已按实际库核对
5DEPT_TYPE部门类别VARCHARVARCHAR32可NULL—OPERATION(运营管理部)/ASSET(资产管理部)/CONSTRUCTION(建设管理部)/OTHER(其他部门);字典 planning_consultation_dept_type是已按实际库核对
6DEPT_ID部门 IDBIGINTBIGINT—可NULL—决定节点选择接收人时带出的部门是已按实际库核对
7DEPT_NAME部门名称快照VARCHARVARCHAR200可NULL—选择时快照是已按实际库核对
8HANDLER_USER_ID部门接收人用户 IDBIGINTBIGINT—可NULL—决定节点选择的接收人是已按实际库核对
9HANDLER_USER_NAME部门接收人姓名快照VARCHARVARCHAR100可NULL—选择时快照否已按实际库核对
10NODE_CODE部门意见节点编码VARCHARVARCHAR64可NULL—会签节点编码,用于定位办理入口否已按实际库核对
11OPINION部门意见VARCHARVARCHAR2000可NULL—接收人提交意见时回写本人明细是已按实际库核对
12RESULT部门意见结果VARCHARVARCHAR32可NULL—AGREE(同意)/REJECT(退回);任一部门退回即本轮未通过是已按实际库核对
13STATUS明细状态VARCHARVARCHAR32可NULL—PENDING(待办理)等;提交入口按登录人回写本人 PENDING 明细是已按实际库核对
14FINISH_TIME办理完成时间TIMESTAMPTIMESTAMP—可NULL—本人明细提交时写入否已按实际库核对
15CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
16CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
17CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
18UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
19UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
20DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic否已按实际库核对

3.12 biz_planning_approval_record(审批记录快照,只追加) ​

数据库 26 个列。每个节点办理后写入一条,按引擎办理记录幂等;含发起单位与办理人归属,满足"审批记录需要区分发起单位"的原型批注。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_APPROVAL_RECORD雪花算法是已按实际库核对
2TASK_ID任务 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_APPROVAL_TASK;逻辑外键 → biz_planning_task.ID流程事件回写是已按实际库核对
3STAGE_RECORD_ID阶段记录 IDBIGINTBIGINT—可NULL—同上是已按实际库核对
4INSTANCE_ID流程实例 IDBIGINTBIGINT—可NULL—同上是已按实际库核对
5FLOW_CODE流程编码VARCHARVARCHAR160可NULL—9 条规划管理流程之一是已按实际库核对
6FLOW_VERSION流程版本VARCHARVARCHAR32可NULL—由引擎实例带回否已按实际库核对
7NODE_CODE节点编码VARCHARVARCHAR64可NULL—取该实例最近一条已办理历史的来源节点是已按实际库核对
8NODE_NAME节点名称VARCHARVARCHAR200可NULL—与节点编码同时写入,时间线卡片标题是已按实际库核对
9ENGINE_TASK_ID引擎办理任务 IDBIGINTBIGINT—可NULL—幂等键:同一引擎办理记录只写一条是已按实际库核对
10HANDLER_USER_ID办理人用户 IDBIGINTBIGINT—可NULL—引擎历史任务办理人是已按实际库核对
11HANDLER_USER_NAME办理人姓名快照VARCHARVARCHAR100可NULL—同上是已按实际库核对
12HANDLER_DEPT_ID办理人部门 IDBIGINTBIGINT—可NULL—办理人部门是已按实际库核对
13HANDLER_DEPT_NAME办理人部门名称快照VARCHARVARCHAR200可NULL—办理时快照是已按实际库核对
14HANDLER_ORG_ID办理人所属单位 IDBIGINTBIGINT—可NULL—按办理人部门归属解析否已按实际库核对
15HANDLER_ORG_NAME办理人所属单位名称快照VARCHARVARCHAR200可NULL—同上否已按实际库核对
16INITIATOR_TYPE发起方式VARCHARVARCHAR32可NULL—从任务带出,用于时间线区分发起单位是已按实际库核对
17INITIATOR_ORG_NAME发起单位名称快照VARCHARVARCHAR200可NULL—从任务带出是已按实际库核对
18OPINION审批意见VARCHARVARCHAR2000可NULL—办理时填写;快捷意见为文本模板可继续修改是已按实际库核对
19RESULT审批结果VARCHARVARCHAR32可NULL—通过/退回等办理结果是已按实际库核对
20HANDLE_TIME办理时间TIMESTAMPTIMESTAMP—可NULL—引擎历史任务时间是已按实际库核对
21CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
22CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
23CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
24UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
25UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
26DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic;审批记录不修改、不覆盖,退回重提新增记录否已按实际库核对

3.13 biz_planning_process_instance(流程实例登记,支持历史多实例与重启) ​

数据库 23 个列。业务标识 BUSINESS_ID = {阶段记录ID}#{实例序号},避免平台按业务标识取单条实例时的多实例歧义。

序号字段名中文含义逻辑类型物理类型长度/精度可空默认值主键/外键/唯一/索引来源或生成规则核心核验状态/证据
1ID主键BIGINTBIGINT—否—PK PK_BIZ_PLANNING_PROCESS_INSTANCE雪花算法是已按实际库核对
2TASK_ID任务 IDBIGINTBIGINT—否—IDX IDX_BIZ_PLANNING_INSTANCE_TASK(第 1 列);逻辑外键 → biz_planning_task.ID启动流程时写入是已按实际库核对
3STAGE_RECORD_ID阶段记录 IDBIGINTBIGINT—否—逻辑外键 → biz_planning_stage_record.ID同上是已按实际库核对
4INSTANCE_ID引擎流程实例 IDBIGINTBIGINT—可NULL—引擎返回是已按实际库核对
5BUSINESS_ID流程业务标识VARCHARVARCHAR128否—UK UK_BIZ_PLANNING_INSTANCE_BUSINESS{阶段记录ID}#{实例序号};含 #,前端查询流程历史的路径段必须 URL 编码是已按实际库核对
6FLOW_CODE流程编码VARCHARVARCHAR160可NULL—由 PlanningFlowConstant.flowCodeOf(moduleType, workStage) 选择是已按实际库核对
7DEFINITION_ID流程定义 IDBIGINTBIGINT—可NULL—逻辑外键 → flow_definition.ID否已按实际库核对
8FLOW_VERSION流程版本VARCHARVARCHAR32可NULL—由引擎带回否已按实际库核对
9INSTANCE_SEQ实例序号INTINT—可1—首次启动为 1;重启实例递增是已按实际库核对
10IS_CURRENT是否当前实例CHARCHAR1可'1'IDX IDX_BIZ_PLANNING_INSTANCE_TASK(第 2 列)重启时旧实例置 0、新实例置 1;服务端保证同一阶段记录只有一条 1是已按实际库核对
11ORIGINAL_INSTANCE_ID原流程实例 IDBIGINTBIGINT—可NULL—重启实例时记录被取代的原实例是已按实际库核对
12STATUS实例状态VARCHARVARCHAR32可NULL—RUNNING/FINISHED/BACK/TERMINATED/SUPERSEDED(重启后被取代)是已按实际库核对
13START_USER_ID启动人用户 IDBIGINTBIGINT—可NULL—提交或重启时写入否已按实际库核对
14START_USER_NAME启动人姓名快照VARCHARVARCHAR100可NULL—同上否已按实际库核对
15START_TIME启动时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
16END_TIME结束时间TIMESTAMPTIMESTAMP—可NULL—实例结束或被取代时写入否已按实际库核对
17RESTART_REASON重启原因VARCHARVARCHAR500可NULL—重启实例弹窗填写是已按实际库核对
18CREATE_DEPT创建部门BIGINTBIGINT—可NULL—BaseEntity 自动填充否已按实际库核对
19CREATE_BY创建人BIGINTBIGINT—可NULL—同上否已按实际库核对
20CREATE_TIME创建时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
21UPDATE_BY更新人BIGINTBIGINT—可NULL—同上否已按实际库核对
22UPDATE_TIME更新时间TIMESTAMPTIMESTAMP—可NULL—同上否已按实际库核对
23DEL_FLAG逻辑删除CHARCHAR1可'0'—@TableLogic;重启保留原实例记录否已按实际库核对

4. 约束、索引与字典 ​

4.1 约束与索引 ​

类型名称/表达式作用设计/物理差异核验状态
PK13 个,PK_BIZ_PLANNING_*(各表均为主键 ID 单列)各表唯一标识与设计一致已按实际库核对(USER_CONSTRAINTS 2026-09-20)
UKUK_BIZ_PLANNING_VERSION(STAGE_RECORD_ID, VERSION_NO)每条阶段记录只有一条成果版本与设计一致已按实际库核对
UKUK_BIZ_PLANNING_INSTANCE_BUSINESS(BUSINESS_ID)流程业务标识唯一,避免多实例歧义与设计一致已按实际库核对
普通索引12 个具名非唯一索引(IDX_BIZ_PLANNING_*),覆盖任务↔项目/专题/阶段记录/明细/附件/意见征求/审批记录/实例登记/专题项目各关联方向关联检索与台账聚合设计草案要求 biz_planning_task_project 建唯一约束,实际为普通索引且无 REF_TYPE/LINE_NODE_ID 列已按实际库核对(差异 2)
普通索引IDX_BIZ_PLANNING_TASK_TOPIC(TASK_ID)、IDX_BIZ_PLANNING_TASK_TOPIC_TYPE(TOPIC_TYPE_ID)专题类型多选双向检索设计草案未明确唯一约束,实际无唯一约束已按实际库核对(差异 2)
普通索引IDX_BIZ_PLANNING_STAGE_TASK(TASK_ID)任务 → 阶段记录与设计一致已按实际库核对
普通索引IDX_BIZ_PLANNING_ITEM_VERSION(VERSION_ID)版本 → 成果明细与设计一致已按实际库核对
普通索引IDX_BIZ_PLANNING_ATTACH_BIZ(BIZ_TYPE, BIZ_ID)附件按归属检索与设计一致已按实际库核对
普通索引IDX_BIZ_PLANNING_CONSULT_BATCH(TASK_ID)任务 → 意见征求批次与设计一致已按实际库核对
普通索引IDX_BIZ_PLANNING_CONSULT_TASK(BATCH_ID)批次 → 部门意见明细与设计一致已按实际库核对
普通索引IDX_BIZ_PLANNING_APPROVAL_TASK(TASK_ID)任务 → 审批记录与设计一致已按实际库核对
普通索引IDX_BIZ_PLANNING_INSTANCE_TASK(TASK_ID, IS_CURRENT)任务 → 当前实例设计草案表述为 (STAGE_RECORD_ID, IS_CURRENT='1') 业务层唯一,实际索引列为 (TASK_ID, IS_CURRENT) 且非唯一已按实际库核对(差异 3)
普通索引IDX_BIZ_PLANNING_TOPIC_PROJECT(TOPIC_TYPE_ID)专题类型 → 关联项目与设计一致已按实际库核对
FK无13 张表均不建外键约束,跨表一致性由服务端事务保证与设计一致已按实际库核对(USER_CONSTRAINTS 中无 R 类型约束)
CHECK无值域由服务端枚举与字典约束,未使用数据库 CHECK与设计一致已按实际库核对

biz_planning_task、biz_planning_result_version、biz_planning_topic_type 三张表除主键/唯一约束外无其他索引(biz_planning_result_version 的 UK 兼作 STAGE_RECORD_ID 前缀检索)。

4.2 字典 ​

6 个字典类型,共 20 条字典值(SYS_DICT_DATA 回读,2026-09-20):

字典类型字典值展示文案核验状态
planning_business_statusdraft / waiting / back / finish草稿 / 进行中 / 退回 / 已通过已按实际库核对(4 条)
planning_module_typeRESERVE / STATUS_TRACKING / NETWORK_PLAN / CONSTRUCTION_PLAN / FEASIBILITY_STUDY储备清单 / 状态跟踪 / 线网规划 / 建设规划 / 工可研究已按实际库核对(5 条)
planning_work_stageCOMPILATION / SUBMISSION / APPROVAL编制阶段 / 报审阶段 / 批复阶段已按实际库核对(3 条)
planning_topic_biz_stagePLAN_STAGE / STUDY_STAGE规划阶段 / 工可阶段已按实际库核对(2 条)
planning_initiator_typeSECONDARY_UNIT / GROUP二级单位发起 / 开投集团发起已按实际库核对(2 条)
planning_consultation_dept_typeOPERATION / ASSET / CONSTRUCTION / OTHER运营管理部 / 资产管理部 / 建设管理部 / 其他部门已按实际库核对(4 条)

4.3 关联的平台对象(不属于本模块所有) ​

对象关系核验状态
flow_definition / flow_node / flow_skip9 条规划管理流程定义(planning_reserve、planning_status_tracking、planning_network_plan、planning_construction_compilation/_submission/_approval、planning_feasibility_compilation/_submission/_approval),VERSION=1、IS_PUBLISH=1、ACTIVITY_STATUS=1,均无 REJECT 连线(退回由引擎按实例历史动态计算)已按实际库核对(FLOW_DEFINITION 2026-09-20,9 条)
sys_oss附件实体文件,biz_planning_attachment_ref.OSS_ID 逻辑引用已按代码与回读核对(本模块不建表)
biz_project项目主数据,两个关系表的 PROJECT_ID 逻辑引用已按代码与回读核对
sys_dept / sys_user发起单位归属解析、办理人与部门快照来源已按代码核对
sys_dict_type / sys_dict_data6 个规划管理字典类型已按实际库核对

5. 设计字段与实际字段差异 ​

表差异字段差异类型设计值实际值处理方式状态
13 张表(全部)DEL_FLAG、CREATE_DEPT、CREATE_BY、CREATE_TIME、UPDATE_BY、UPDATE_TIME约束不一致(可空性)设计草案按平台惯例示意逻辑删除为"否/默认 0"开发库实测 DEL_FLAG 与 5 个审计列均为可空(NULLABLE='Y'),DEL_FLAG 默认 '0'保留现状:MyBatis-Plus 逻辑删除与自动填充在应用侧保证取值,数据库不强制非空;不改 DDL,不因可空性差异阻断查询已核对(保留兼容,非缺陷)
业务字段可空性各表业务必填字段(TASK_NAME、MODULE_TYPE、INITIATOR_TYPE、BUSINESS_STATUS、OSS_ID、BIZ_TYPE、BIZ_ID、TASK_ID、PROJECT_ID、VERSION_NO、MAIN_CONTENT 之外的多数业务列)约束不一致(业务必填 vs 数据库可空)设计稿按"提交时必填"描述除上述 12 类列外,其余业务列在数据库中可空;必填由服务端提交校验保证(暂存允许为空)保留现状:草稿允许不完整,提交时服务端校验非空;这正是暂存/提交分离所需已核对(有意设计)
biz_planning_task_projectREF_TYPE、LINE_NODE_ID缺失(设计草案字段未落地)设计要点 6 表述为对 (TASK_ID, REF_TYPE, PROJECT_ID/LINE_NODE_ID) 建唯一约束实际无 REF_TYPE、无 LINE_NODE_ID 列;项目/线路统一按已解耦的业务项目 PROJECT_ID 关联以实际为准:用户已确认"按已解耦的业务项目关联,不看工程树线路节点",REF_TYPE/LINE_NODE_ID 不再落地;早期草案该处表述作废已核对
biz_planning_task_project、biz_planning_task_topic、biz_planning_topic_project(TASK_ID, PROJECT_ID)、(TASK_ID, TOPIC_TYPE_ID)、(TOPIC_TYPE_ID, PROJECT_ID)约束不一致(缺唯一约束)设计草案要求关系表建唯一约束,防重复关联实际只有普通索引,无唯一约束;重复关联由服务端在编辑时按任务/专题重建关联行规避保留现状并登记为待办:若确认需要数据库层幂等,需另行授权对三张表补唯一约束(属共享对象结构变更,不在本次只读范围)待处理(待核对是否需要补约束)
biz_planning_stage_record(TASK_ID, SEQ_NO)约束不一致(缺唯一约束)设计口径"每条任务 1 条阶段记录(SEQ_NO 恒为 1)"实际无唯一约束,仅 TASK_ID 普通索引由服务端保证;SEQ_NO 默认 1 但不构成数据库约束。若需强约束需另议待处理(待核对)
biz_planning_process_instance(STAGE_RECORD_ID, IS_CURRENT)约束不一致设计要点 6 表述为 (INSTANCE_ID) 唯一 + (STAGE_RECORD_ID, IS_CURRENT='1') 业务层校验唯一实际唯一约束落在 BUSINESS_ID(而非 INSTANCE_ID 单列),且无 IS_CURRENT 条件唯一约束;索引为 (TASK_ID, IS_CURRENT)以实际为准:BUSINESS_ID 已含阶段记录与实例序号,等价实现设计意图(防止同一业务标识重复登记);IS_CURRENT 唯一性由服务端事务保证已核对(设计稿表述待同步)
biz_planning_attachment_refSOURCE_TYPE、CATALOG_ID预留未落地设计稿要求"预留 catalog_id 与 FILE_CATALOG 来源,本期实现直接上传兼容实现"两列已在库中存在(SOURCE_TYPE 默认 'UPLOAD'),但 FileReferenceAdapter 接口未实现,"信息管理/文件目录配置"模块不存在;回读时点本表 0 行,无 FILE_CATALOG 取值证据保留预留字段不删除;对接实现列为模块范围外待立项项。字段存在不等于能力已实现已核对(预留,未落地)
biz_planning_taskTOPIC_TYPE_ID、TOPIC_TYPE_NAME兼容字段保留设计稿明确"本表保留首个专题 ID 与顿号拼接名称快照,兼容旧筛选与展示"实际存在并保留,专题多选由 biz_planning_task_topic 承载与设计一致,保留已核对
biz_planning_task、biz_planning_task_project、biz_planning_stage_record、biz_planning_result_versionVERSION存在差异(字段覆盖范围)设计统一约定"审计列 + 逻辑删除 + 并发 VERSION"VERSION 只存在于任务、阶段记录、成果版本三张表;关系表、附件、意见征求、审批记录、实例登记表无 VERSION 列以实际为准:并发控制只作用于可变业务主表;只追加/关系表不需要乐观锁。设计统一表述应收窄为"可变业务表带 VERSION"已核对(设计稿表述待同步)
全部 13 张表无 TENANT_ID/ORG_ID 数据隔离列设计口径一致(无隔离)用户已确认"默认不做单位隔离",保留发起单位字段用于展示实际无租户/组织隔离列,仅有发起单位与填报单位快照字段与设计一致已核对

未发现"类型不一致"或"长度不一致"差异:13 张表的 237 个列与实体代码声明逐项一致,无实体多出列或缺列的情况。

6. 迁移与兼容说明 ​

6.1 本轮 DDL 与建表口径 ​

  • 13 张 biz_planning_* 表由本轮开发通过项目 MCP dcp-dm8-dev 建在开发库 DIGITAL_CONSTRUCTION 模式,包含任务与专题类型关系表 biz_planning_task_topic;2026-09-20 的结构回读范围、字段和约束核对结果见本文件第 1、3、4 节。本模块不修改任何既有平台表或既有业务模块表。
  • 全部 13 张表均为新建,不涉及存量数据迁移、字段删除、字段重命名、长度缩短、可空性变更或默认值变更,因此无存量数据处理与回滚策略需要说明。
  • 本次核对为只读回读,未执行任何 DDL/DML;写入前核对环境与对象、写入后回读的要求按根 AGENTS.md 由后续变更执行。
  • DM8 专属写法范围:本模块使用的类型均为通用类型(BIGINT/INT/VARCHAR/CHAR/DATE/TIMESTAMP);主键由应用侧雪花算法生成,不依赖 DM8 的自增/IDENTITY 能力;未使用 CLOB、未使用数据库函数默认值、未使用触发器、未使用同义词、未使用分区。数据库对象命名(PK_/UK_/IDX_ 前缀)为项目统一约定,不属厂商特性。
  • 唯一需要说明的厂商相关点:DM8 在 USER_TAB_COLUMNS 中为 TIMESTAMP 返回的 DATA_LENGTH 是存储字节宽度(8),不表示小数秒精度;本模块 TIMESTAMP 列均使用数据库默认精度,未显式指定 TIMESTAMP(n)。目标库如需显式精度,须在迁移脚本中统一指定。

6.2 兼容风险(DM8 → 人大金仓 / openGauss / MySQL 类目标库) ​

项目当前 DM8 实际目标库风险建议
字符类型VARCHAR(n) 按字符长度;CHAR(1) 用于逻辑删除与布尔式标记语义一致,CHAR(1) 在多数目标库会补空格比较,需注意比较语义业务查询统一用 = 与常量('0'/'1'),不使用 LIKE;迁移时保持 CHAR(1) 或统一转 VARCHAR(1)
时间类型DATE 仅年月日(FILL_TIME)、TIMESTAMP 带时分秒部分目标库 DATE 也含时间部分;TIMESTAMP 精度默认值不同迁移时把 FILL_TIME 明确为纯日期类型;TIMESTAMP 统一显式精度
大整数BIGINT(8 字节);雪花 ID 超出 JS 安全整数范围语义一致前端保持原值(string 或 number 均可)、后端按项目 JSON 映射使用 BigNumberSerializer,与数据库无关
无外键约束13 张表只有 PK/UK,无 FOREIGN KEY目标库同样不建外键即可,行为一致迁移脚本不得"顺手"补外键,否则会阻断跨版本迁移与逻辑删除
无 CHECK 约束值域由服务端枚举与字典约束目标库同样不建 CHECK保持一致
索引命名与数量13 个主键约束、2 个唯一约束(表现为唯一索引)、8 个普通索引;命名 PK_/UK_/IDX_ 前缀命名规则一致,长度上限不同(长表名 + 前缀可能触及上限)迁移脚本保留命名规则,超出长度上限时按项目约定缩写并记录映射
无自增/序列主键全由应用生成目标库若有自增列,不得启用迁移脚本不创建自增/序列
可空与默认值审计列与 DEL_FLAG 可空、DEL_FLAG 默认 '0';多数业务列可空目标库默认值语法(如 '0'::char(1))不同迁移脚本显式写出默认值与可空性,保持与本矩阵一致

6.3 遗留问题 ​

编号问题影响处理建议状态
DB-PL-001关系表缺唯一约束(biz_planning_task_project、biz_planning_task_topic、biz_planning_topic_project)数据库层不能阻止重复关联;重复行只能靠服务端"按任务/专题重建"规避确认业务是否需要数据库层幂等后再决定补约束;补约束前须先核对是否存在重复行待核对
DB-PL-002biz_planning_task 无 MODULE_TYPE/BUSINESS_STATUS/INITIATOR_TYPE 索引台账与列表按模块、状态筛选在全表扫描下随数据量增长变慢数据量上升到影响体验时评估补联合索引;当前回读时点 31 行,无实际影响待核对(当前无影响)
DB-PL-003biz_planning_stage_record 缺 (TASK_ID, SEQ_NO) 唯一约束"每条任务 1 条阶段记录"仅由服务端保证同 DB-PL-001 一并评估待核对
DB-PL-004biz_planning_attachment_ref 的 SOURCE_TYPE='FILE_CATALOG' 与 CATALOG_ID 为预留,无实现文件目录引用能力未落地,成果文件实际只能直接上传待"信息管理/文件目录配置"模块立项后实现适配并补写入证据范围外待立项
DB-PL-005早期设计草案的 REF_TYPE/LINE_NODE_ID、INSTANCE_ID 唯一约束、(STAGE_RECORD_ID, IS_CURRENT) 条件唯一、统一 VERSION 表述与实际不一致早期设计不能作为实际结构或已实现能力的依据已在本文件第 5 节固化实际口径;早期草案已移除,不再并行维护已记录

相关文档 ​