Skip to content

工程手续办理 · 数据库设计文档 ​

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

文档版本:1.00 | 最近核对日期:2026-10-15

进展说明:7 张业务表结构已通过 MCP 核验;本轮(2026-10-15)录单入口改造复用既有字段(SITE_ID、BID_ID、BID_CATEGORY 语义按入口区分:土建单元=工点+责任标段,机电单元=标段),未执行 DDL/DML,表结构、字段和约束完全保持兼容。

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

项目内容
模块名称工程手续办理
实际数据库DM8 开发库;目标对象为当前租户业务模式
实际持久化表BIZ_ENGINEERING_PROCEDURE、BIZ_ENGINEERING_PROCEDURE_UNIT、BIZ_ENGINEERING_PROCEDURE_STAGE、BIZ_ENGINEERING_PROCEDURE_STAGE_UNIT、BIZ_ENGINEERING_PROCEDURE_PROGRESS、BIZ_ENGINEERING_PROCEDURE_RESULT、BIZ_ENGINEERING_PROCEDURE_CONDITION
实体/Mapper 来源digital-construction-modules/digital-construction-business/src/main/java/com/bokun/business/engineeringprocedure/
MCP 结构核验已通过 dcp-dm8-dev 回读 7 张表的字段、类型、长度、空值、默认值、约束和索引元数据;IS_KEY_BLOCKER 与 CONSTRUCT_UNIT_NAME_SNAPSHOT 已通过 ALTER 添加并回读确认(此前一次 -2501 认证失败已恢复)
数据交付基线未导入旧 Excel 数据,未形成生产备份包;新增字段 DDL 已执行并回读;本轮端到端测试产生的计划、流程、进度、结果和附件引用按用户要求保留
重要边界不设独立条件轮次表;条件按(单位工程 × 条件)保留一行、就地更新 DECISION;早期遗留列 ROUND_NO/CONDITION_STATUS/CURRENT_FLAG 已于 v0.13 DROP;子手续完成情况由对应子手续单位工程状态体现,退回重办轮次使用阶段级 WORK_ROUND_NO
权限边界不建立独立项目权限;工程手续的数据范围按工程树线路和 SITE 单位工程控制。表中的 PROJECT_ID、PROJECT_NAME_SNAPSHOT 等字段只作历史/技术快照,不作为本模块筛选或授权条件;本轮仅移除年度计划的同项目选择限制,未变更数据库结构

本文件把“设计字段”和“实际字段”分开记录。第 3 节是开发库实际字段全量矩阵;字段未在实际表中出现的业务概念不会伪装成已落地字段。

2. 实体关系与业务边界 ​

text
[BIZ_ENGINEERING_PROCEDURE] 1 ── N [BIZ_ENGINEERING_PROCEDURE_UNIT]
             |
             +── N [BIZ_ENGINEERING_PROCEDURE_STAGE] 1 ── N [BIZ_ENGINEERING_PROCEDURE_STAGE_UNIT]
                                                                  |
                                                                  +── N [BIZ_ENGINEERING_PROCEDURE_PROGRESS]
                                                                  +── N [BIZ_ENGINEERING_PROCEDURE_RESULT]
                                                                  +── N [BIZ_ENGINEERING_PROCEDURE_CONDITION]

[BIZ_ENGINEERING_PROCEDURE] 1 ── 1 Warm-Flow instance
[BIZ_ENGINEERING_PROCEDURE_UNIT] N ── 1 工程树 SITE(业务称“单位工程”)
[BIZ_ENGINEERING_PROCEDURE_UNIT] N ── 1 所属 BID(读取 bidCategory、constructUnit)

当前 1 个流程实例覆盖多个推进单元(土建=工点、机电=标段);办理人按推进单元逐个填写并分别完成。年度计划由独立页面维护,不生成阶段记录;土建流程建立 5 个实际手续阶段,机电流程建立 2 个实际手续阶段,分别使用 engineering_procedure_civil 和 engineering_procedure_mep,由年度计划录单入口(土建/机电)决定启动哪套流程。历史公共编码 engineering_procedure 仅兼容在途旧实例。每个阶段下按“外层业务节点 × 推进单元”建立阶段-推进单元明细,阶段 Tab 不直接对应 Warm-Flow 任务。Warm-Flow 保留年度计划申请人节点,用于计划发起和退回重提,但不计入业务阶段;结束前的 7 接收、备案并归档同样是直通节点,不计入业务阶段、不生成阶段-推进单元明细。年度计划主单同时保存每个推进单元各适用阶段的计划完成日期、责任标段/办理对象标段及施工单位中文名称快照,办理工作区只读引用;历史空快照由查询时按标段主数据补齐。

三类条件判断固定为当前阶段表单内的业务记录:

  1. 是否需要产权单位意见征求、规划调整;
  2. 是否需要土地征收和转用批复、林地占用手续办理;
  3. 是否需要建设用地规划许可证及土地划拨决定书。

每类条件只有一组选项:不需要、需要;初始值为不需要。选择需要后进入该条件的子手续办理,子手续完成后回到原判断人,可选择不需要结束该条件;如需再次办理,通过流程退回重办,不再提供“需要再次”选项。在子手续未完成前,办理人可把“需要”改回“不需要”直接跳过。条件按(单位工程 × 条件)保留一行、就地更新,不再累积轮次历史行;退回重办的历史保留由阶段级 WORK_ROUND_NO 承担。

3. 实际字段全量矩阵 ​

说明:空值 中 N 表示不可为空,Y 表示可为空;类型、长度、默认值来自 2026-09-07 通过项目 DM8 MCP 对 USER_TAB_COLUMNS/dm_describe_table 的回读。— 表示无默认值或不适用。

3.1 BIZ_ENGINEERING_PROCEDURE ​

序号字段类型空值默认值中文含义及说明
1IDBIGINTN—主键
2PROCEDURE_NOVARCHAR(64)N—年度计划/流程业务编号
3YEARVARCHAR(4)N—年度
4PLAN_NAMEVARCHAR(300)N—年度计划名称
5PROJECT_IDBIGINTY—项目技术关联 ID;不承载本模块权限;2026-10-15 由 NOT NULL 放宽为可空(新工程模型的工点/标段可能没有项目维度)
6PROJECT_NAME_SNAPSHOTVARCHAR(400)Y—项目名称技术快照;不作为筛选或授权条件
7PROJECT_PATH_SNAPSHOTVARCHAR(2000)Y—项目路径技术快照;不作为筛选或授权条件
8LINE_IDBIGINTY—线路 ID
9LINE_NAME_SNAPSHOTVARCHAR(400)Y—线路名称快照
10BID_CATEGORYVARCHAR(32)N—录单入口通道:土建/机电(TJ/JD),计划级一致
11ENGINEERING_TYPEVARCHAR(16)N—内部流程类型:CIVIL/MEP
12FLOW_CODEVARCHAR(160)N—启动流程编码:engineering_procedure_civil/engineering_procedure_mep;历史公共编码仅兼容旧实例
13PLAN_DESCRIPTIONVARCHAR(4000)Y—计划说明
14PLAN_ATTACHMENTCLOBY—计划附件引用
15NEXT_HANDLER_IDBIGINTY—下一节点办理人;由通用用户选择器写入
16NEXT_HANDLER_NAMEVARCHAR(200)Y—办理人名称快照
17APPROVAL_STATUSVARCHAR(32)Y'draft'流程业务状态
18INSTANCE_IDBIGINTY—Warm-Flow 实例 ID
19CURRENT_NODE_CODEVARCHAR(160)Y—当前流程节点编码
20CURRENT_NODE_NAMEVARCHAR(400)Y—当前流程节点名称快照
21CURRENT_STAGE_CODEVARCHAR(160)Y—当前表单阶段编码
22CREATE_DEPTBIGINTY—创建组织
23CREATE_BYBIGINTY—创建人
24CREATE_TIMETIMESTAMPY—创建时间
25UPDATE_BYBIGINTY—更新人
26UPDATE_TIMETIMESTAMPY—更新时间
27DEL_FLAGCHAR(1)Y'0'逻辑删除标识

年度计划保存/更新时,NEXT_HANDLER_ID 与 NEXT_HANDLER_NAME 作为首节点办理人快照同步写入;提交流程时仍以服务端对人员有效性、权限和流程状态的最终校验为准。该行为复用现有字段,不改变表结构。

3.2 BIZ_ENGINEERING_PROCEDURE_UNIT ​

序号字段类型空值默认值中文含义及说明
1IDBIGINTN—主键
2PROCEDURE_IDBIGINTN—流程实例 ID
3UNIT_PROJECT_IDBIGINTY—三轨单位工程实体 ID(引用 BIZ_UNIT_PROJECT.UNIT_PROJECT_ID)
4SITE_IDBIGINTY—工点主数据 ID(引用 BIZ_SITE_MASTER.SITE_MASTER_ID);土建推进单元必填,机电标段行为空
5UNIT_NAME_SNAPSHOTVARCHAR(400)N—推进单元名称快照:土建=工点名,机电=标段名
6UNIT_PATH_SNAPSHOTVARCHAR(2000)Y—单位工程完整路径快照
7PROJECT_IDBIGINTY—项目技术关联 ID;不承载本模块权限
8PROJECT_NAME_SNAPSHOTVARCHAR(400)Y—项目名称技术快照;不作为筛选或授权条件
9LINE_IDBIGINTY—线路 ID
10LINE_NAME_SNAPSHOTVARCHAR(400)Y—线路名称快照
11BID_IDBIGINTY—标段 ID:土建=责任标段(随“线路-标段-工点”选择路径带入,可空);机电=办理对象标段(必填)
12BID_NAME_SNAPSHOTVARCHAR(400)Y—标段名称快照(含入 UNIT_PATH_SNAPSHOT)
13BID_CATEGORYVARCHAR(32)N—录单入口通道 TJ/JD(与计划主单一致)
14SELECTION_ORDERINTY0年度计划中的选择顺序
15CREATE_DEPTBIGINTY—创建组织
16CREATE_BYBIGINTY—创建人
17CREATE_TIMETIMESTAMPY—创建时间
18UPDATE_BYBIGINTY—更新人
19UPDATE_TIMETIMESTAMPY—更新时间
20DEL_FLAGCHAR(1)Y'0'逻辑删除标识
21REMARKVARCHAR(4000)Y—年度计划中该单位工程备注(已 MCP 回读确认存在)
22YEARVARCHAR(4)Y—年度(冗余自主单;与 UNIT_PROJECT_ID 组成唯一占用查重,杜绝同单位工程同年度并发重复纳入,EP-A08)
23CONSTRUCT_UNIT_NAME_SNAPSHOTVARCHAR(1000)Y—所属标段施工(总包)单位名称快照,取 BIZ_BID_SECTION.GENERAL_CONTRACT_UNIT_NAME;土建取责任标段、机电取办理对象标段;历史为空时读取接口按标段实时补齐,页面不得展示原始 ID

3.3 BIZ_ENGINEERING_PROCEDURE_STAGE ​

序号字段类型空值默认值中文含义及说明
1IDBIGINTN—主键
2PROCEDURE_IDBIGINTN—流程实例 ID
3STAGE_CODEVARCHAR(160)N—阶段编码
4STAGE_NAMEVARCHAR(400)N—阶段名称快照
5STAGE_ORDERINTN—阶段顺序
6STAGE_STATUSVARCHAR(32)Y'pending'阶段状态
7CURRENT_FLAGCHAR(1)Y'N'当前阶段标识
8WORK_ROUND_NOINTY1阶段退回重办轮次
9CREATE_DEPTBIGINTY—创建组织
10CREATE_BYBIGINTY—创建人
11CREATE_TIMETIMESTAMPY—创建时间
12UPDATE_BYBIGINTY—更新人
13UPDATE_TIMETIMESTAMPY—更新时间
14DEL_FLAGCHAR(1)Y'0'逻辑删除标识

3.4 BIZ_ENGINEERING_PROCEDURE_STAGE_UNIT ​

序号字段类型空值默认值中文含义及说明
1IDBIGINTN—主键
2PROCEDURE_IDBIGINTN—流程实例 ID
3STAGE_IDBIGINTN—阶段 ID
4PROCEDURE_UNIT_IDBIGINTN—流程单位工程明细 ID
5UNIT_PROJECT_IDBIGINTY—三轨单位工程实体 ID(引用 BIZ_UNIT_PROJECT.UNIT_PROJECT_ID)
6NODE_CODEVARCHAR(160)Y—流程图外层业务节点编码快照;兼容旧数据为空
7NODE_NAMEVARCHAR(400)Y—流程图外层业务节点名称快照
8PROGRESS_STATUSVARCHAR(32)Y'NOT_STARTED'本外层节点下单位工程状态
9COMPLETION_DATEDATEY—本外层节点完成日期
10WORK_ROUND_NOINTY1本外层节点单位工程办理轮次
11VERSION_NOINTY0并发/编辑版本号
12CREATE_DEPTBIGINTY—创建组织
13CREATE_BYBIGINTY—创建人
14CREATE_TIMETIMESTAMPY—创建时间
15UPDATE_BYBIGINTY—更新人
16UPDATE_TIMETIMESTAMPY—更新时间
17DEL_FLAGCHAR(1)Y'0'逻辑删除标识
18PLANNED_DATEDATEY—该外层节点/单位工程的年度计划完成日期(ALTER 追加,已 MCP 回读确认存在;办理工作区只读引用)

3.5 BIZ_ENGINEERING_PROCEDURE_PROGRESS ​

序号字段类型空值默认值中文含义及说明
1IDBIGINTN—主键
2PROCEDURE_IDBIGINTN—流程实例 ID
3STAGE_IDBIGINTN—阶段 ID
4STAGE_UNIT_IDBIGINTN—阶段-单位工程明细 ID
5UNIT_PROJECT_IDBIGINTY—三轨单位工程实体 ID(引用 BIZ_UNIT_PROJECT.UNIT_PROJECT_ID)
6STAGE_CODEVARCHAR(160)N—阶段编码
7NODE_CODEVARCHAR(160)Y—流程节点编码快照
8NODE_NAMEVARCHAR(400)Y—流程节点名称快照
9WORK_ROUND_NOINTY1记录所属办理轮次
10PROGRESS_DATEDATEY—完成日期(主手续必填、子手续进度可空;v0.13 由 NOT NULL 改为可空并回读)
11PROGRESS_CONTENTVARCHAR(4000)N—进展情况
12PROGRESS_PERCENTDECIMAL(5,2)Y—总体进度(子手续进度使用;主手续不使用)
13IS_KEY_BLOCKERCHAR(1)Y'0'是否重难卡点('1' 是 / '0' 否;主手续进度使用)
14ATTACHMENT_REFSCLOBY—进度附件引用
15CREATE_DEPTBIGINTY—创建组织
16CREATE_BYBIGINTY—创建人
17CREATE_TIMETIMESTAMPY—创建时间
18UPDATE_BYBIGINTY—更新人
19UPDATE_TIMETIMESTAMPY—更新时间

进度表没有逻辑删除字段;在当前节点可编辑时,删除接口对该行执行物理删除。阶段退回重办时旧轮次行保留,工作区只加载当前 WORK_ROUND_NO,避免把历史行误当作当前行修改。IS_KEY_BLOCKER 于 v0.11 通过项目 MCP 执行 ALTER TABLE ... ADD IS_KEY_BLOCKER CHAR(1) DEFAULT '0' 并回读确认。

3.6 BIZ_ENGINEERING_PROCEDURE_RESULT ​

序号字段类型空值默认值中文含义及说明
1IDBIGINTN—主键
2PROCEDURE_IDBIGINTN—流程实例 ID
3STAGE_IDBIGINTN—阶段 ID
4STAGE_UNIT_IDBIGINTN—阶段-单位工程明细 ID
5UNIT_PROJECT_IDBIGINTY—三轨单位工程实体 ID(引用 BIZ_UNIT_PROJECT.UNIT_PROJECT_ID)
6STAGE_CODEVARCHAR(160)N—阶段编码
7WORK_ROUND_NOINTY1结果所属办理轮次
8PLANNED_DATEDATEY—计划完成日期
9ACTUAL_DATEDATEY—实际完成日期
10REMARKVARCHAR(4000)Y—办理说明
11ATTACHMENT_REFSCLOBY—最终成果附件引用
12FORM_DATACLOBY—阶段扩展表单数据
13COMPLETION_FLAGCHAR(1)Y'N'是否满足完成门槛
14CURRENT_FLAGCHAR(1)Y'Y'当前结果标识
15CREATE_DEPTBIGINTY—创建组织
16CREATE_BYBIGINTY—创建人
17CREATE_TIMETIMESTAMPY—创建时间
18UPDATE_BYBIGINTY—更新人
19UPDATE_TIMETIMESTAMPY—更新时间

结果表没有 DEL_FLAG;历史结果通过 WORK_ROUND_NO/CURRENT_FLAG 保留。当前实现按当前阶段-单位工程维护一条当前结果,退回重办前将旧结果置为非当前,下一轮保存时创建新的当前结果。

3.7 BIZ_ENGINEERING_PROCEDURE_CONDITION ​

序号字段类型空值默认值中文含义及说明
1IDBIGINTN—主键
2PROCEDURE_IDBIGINTN—流程实例 ID
3STAGE_IDBIGINTN—阶段 ID
4STAGE_UNIT_IDBIGINTN—阶段-单位工程明细 ID
5CONDITION_CODEVARCHAR(160)N—条件编码
6CONDITION_NAMEVARCHAR(500)N—条件名称
7DECISIONVARCHAR(32)N—办理决定(原记录:NOT_REQUIRED/NEED)
8CREATE_DEPTBIGINTY—创建组织
9CREATE_BYBIGINTY—创建人
10CREATE_TIMETIMESTAMPY—创建时间
11UPDATE_BYBIGINTY—更新人
12UPDATE_TIMETIMESTAMPY—更新时间

条件表没有逻辑删除和独立版本字段。每个(父单位工程 × 条件)保留一行,决策变更就地更新 DECISION。v0.13 已 DROP 早期“需要再次/多轮”遗留列 ROUND_NO、CONDITION_STATUS、CURRENT_FLAG(MCP 执行并回读,表结构现为 12 列)。子手续是否待办由“决策=需要 且 对应子手续单位工程未完成”实时推导。

3.8 字段核验补充 ​

BIZ_ENGINEERING_PROCEDURE_UNIT.REMARK、BIZ_ENGINEERING_PROCEDURE_STAGE_UNIT.PLANNED_DATE、BIZ_ENGINEERING_PROCEDURE_PROGRESS.IS_KEY_BLOCKER 与 BIZ_ENGINEERING_PROCEDURE_UNIT.CONSTRUCT_UNIT_NAME_SNAPSHOT 均已通过项目 MCP dcp-dm8-dev 回读确认存在,并已并入上方 §3.2/§3.4/§3.5 实际字段矩阵(不再单列“待执行”)。此前“MCP 认证失败、字段待执行”的记录作废。

4. 约束、索引和流程关联 ​

4.1 已核验物理约束 ​

  • 7 张业务表各有 1 个启用的主键约束:PK_BIZ_ENGINEERING_PROCEDURE、PK_BIZ_ENGINEERING_PROCEDURE_UNIT、PK_BIZ_ENGINEERING_PROCEDURE_STAGE、PK_BIZ_ENGINEERING_PROCEDURE_STAGE_UNIT、PK_BIZ_ENGINEERING_PROCEDURE_PROGRESS、PK_BIZ_ENGINEERING_PROCEDURE_RESULT、PK_BIZ_ENGINEERING_PROCEDURE_CONDITION。
  • 本次 USER_CONSTRAINTS 回读未发现业务外键;实体关联由服务层校验和 Mapper 查询保证。
  • USER_INDEXES 回读:各表有唯一主键索引 + 非唯一查询索引;BIZ_ENGINEERING_PROCEDURE_UNIT 另有业务查重,从服务端与数据库层杜绝同一单位工程同一年度被并发重复纳入。其余业务唯一性(流程实例与单位工程关系等)仍由服务层保证。

4.2 业务约束 ​

约束落点
推进单元不能重复纳入同年度有效计划服务层按入口区分查重:土建 SITE_ID + YEAR、机电 BID_ID + YEAR(且 SITE_ID 为空),命中时点名重复对象;不按线路设置年度计划唯一限制
选择对象必须与入口匹配土建入口只接受工点(SITE),机电入口只接受标段(BID);服务端按入口解析快照,责任标段与工点必须存在管辖关系(指定工点或全线统包),不满足时拒绝保存
可见与可选范围选择器按当前用户工程数据权限的授权范围裁剪;默认隐藏运营节点并提供“显示运营”开关(默认关闭,打开后可正常选择与提交,2026-09-18 起);服务端不按节点运营状态过滤或拒绝
年度计划阶段日期必须完整草稿允许为空;提交时按 CIVIL/MEP 校验当前单位工程的 5/2 个阶段计划日期;办理工作区只读引用
提交后不能新增/移除单位工程提交流程前比较明细集合
施工单位显示为中文年度计划保存时从所属 BID 的 CONSTRUCT_UNIT 解析组织 ID,通过 DeptService 取得部门名称并写入 CONSTRUCT_UNIT_NAME_SNAPSHOT;读取旧数据时按同一规则补齐;前端不展示原始 ID
当前节点提交前必须完成全部单位工程validate-node 按当前 NODE_CODE 校验阶段-外层节点-单位工程明细;普通节点/条件已闭环父节点要求全部完成,父节点有待办条件时仅暂缓对应待办单位工程
单位工程完成必须满足门槛条件子手续闭环、实际完成日期、最终成果附件三项同时满足
只有当前阶段表单可编辑当前任务办理人、当前阶段和当前单位工程三重校验
进度记录可多次追加和物理删除当前阶段未提交前通过独立弹窗新增/编辑/删除,删除直接物理删除;表格只读展示并统计附件数量,数量查看只读附件不改变 ATTACHMENT_REFS
退回目标阶段及后续阶段重办递增阶段/阶段-单位工程轮次,旧结果和旧进度按轮次只读留存;条件行就地重置/更新,不产生条件历史行

4.3 Warm-Flow 关联 ​

项目实际值
流程分类FLOW_CATEGORY.CATEGORY_ID=2110000000000000800,名称“工程手续办理”,与工程变更监管一级模块同级
土建流程定义FLOW_CODE=engineering_procedure_civil,运行态最新版本 V3;资源文件 15 个节点/17 条连线(含结束前 7 接收备案归档直通节点);已在流程设计器导入,导入结果确认无问题
机电流程定义FLOW_CODE=engineering_procedure_mep,运行态最新版本 V2;资源文件 6 个节点/5 条连线(含结束前 7 接收备案归档直通节点);已在流程设计器导入,导入结果确认无问题
旧流程兼容FLOW_CODE=engineering_procedure;保留已发布旧定义供在途实例使用,不覆盖、不作为新计划启动定义
土建阶段规划方案审查意见 → 初步设计批复 → 建设工程规划许可证(先判断 4.1,再由 4.1 判断 4.1.1)→ 施工图审查合格书 → 施工许可证
机电阶段施工图审查合格书 → 施工许可证
外层节点土建/机电各自独立;开始、年度计划申请人节点(1)、实际手续节点(2~6)、接收备案归档直通节点(7)、结束;阶段 Tab 和节点内两层操作不另生成节点;归档节点不生成阶段-单位工程明细
条件菱形不作为额外 Warm-Flow 外层节点,属于对应阶段表单内的 3 条条件记录
路由前置校验WorkflowGlobalListener.start 调用工程手续业务扩展点;服务端校验当前节点并重算条件变量,登录用户的 ignore 变量不能绕过校验

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

设计概念原设计候选实际落点处理结果
流程实例BIZ_EP_PROCESSBIZ_ENGINEERING_PROCEDURE采用实际业务表名
阶段实例BIZ_EP_PROCESS_STAGEBIZ_ENGINEERING_PROCEDURE_STAGE采用实际业务表名
单位工程明细BIZ_EP_PROCESS_UNITBIZ_ENGINEERING_PROCEDURE_UNIT采用实际业务表名;工点语义统一为单位工程
阶段-单位工程BIZ_EP_STAGE_UNITBIZ_ENGINEERING_PROCEDURE_STAGE_UNIT采用实际业务表名
进度记录BIZ_EP_PROGRESSBIZ_ENGINEERING_PROCEDURE_PROGRESS实际表无 DEL_FLAG,删除接口物理删除
阶段结果BIZ_EP_RESULTBIZ_ENGINEERING_PROCEDURE_RESULT实际表无 DEL_FLAG,以当前标识和轮次保留历史
条件轮次独立 BIZ_EP_CONDITION_ROUNDBIZ_ENGINEERING_PROCEDURE_CONDITION(每单位工程×条件一行,就地更新 DECISION)不新增物理表;早期遗留列 ROUND_NO/CONDITION_STATUS/CURRENT_FLAG 已于 v0.13 DROP
单位工程备注BIZ_ENGINEERING_PROCEDURE_UNIT.REMARK已落地实际字段已 MCP 回读确认存在,见 §3.2
阶段计划完成日期BIZ_ENGINEERING_PROCEDURE_STAGE_UNIT.PLANNED_DATE已落地实际字段已 MCP 回读确认存在,见 §3.4;办理工作区只读引用
进度是否重难卡点IS_KEY_BLOCKERBIZ_ENGINEERING_PROCEDURE_PROGRESS.IS_KEY_BLOCKER CHAR(1)已 MCP 执行并回读,见 §3.5
施工单位中文名称CONSTRUCT_UNIT_NAME_SNAPSHOTBIZ_ENGINEERING_PROCEDURE_UNIT.CONSTRUCT_UNIT_NAME_SNAPSHOT VARCHAR(1000)已 MCP 执行并回读,见 §3.2;来源为 BID 的 CONSTRUCT_UNIT,不在页面展示原始 ID
流程发起人/完成时间/乐观锁原设计候选字段当前主表未落地独立字段不补猜测字段;以 Warm-Flow 审计与结果数据(实际完成日期)为准;VERSION_NO 列存在但写接口暂未做乐观锁比对

6. 迁移与兼容说明 ​

  • 结构创建和回读仅针对开发 DM8 库,通过项目 MCP 执行;未执行生产库操作。
  • 本轮(2026-10-15)录单入口改造复用既有字段:SITE_ID(土建=工点;机电为空)、BID_ID(土建=责任标段;机电=办理对象标段)、BID_CATEGORY(入口通道)、UNIT_PATH_SNAPSHOT(土建“线路/标段/工点”或“线路/工点”、机电“线路/标段”);未新增字段,单位表结构与约束未变化。
  • 2026-10-15 同时放宽主单约束:BIZ_ENGINEERING_PROCEDURE.PROJECT_ID 由 NOT NULL 调整为可空(ALTER TABLE BIZ_ENGINEERING_PROCEDURE MODIFY PROJECT_ID BIGINT NULL,已通过项目 MCP dcp-dm8-dev 执行并回读 NULLABLE=Y)——新工程模型的工点/标段可能没有项目 ID(机电标段保留原值、土建工点可为空),原约束会阻断土建年度计划保存。
  • 不做旧 Excel 数据导入;Excel 仅用于第七页“手续办理推进总台账”和导出格式参考。
  • 不把 建设工程规划许可证 与条件中的“建设用地规划许可证及土地划拨决定书”合并,二者是不同业务名称。
  • REMARK、PLANNED_DATE、IS_KEY_BLOCKER、CONSTRUCT_UNIT_NAME_SNAPSHOT 等新增字段 DDL 已通过项目 MCP dcp-dm8-dev 执行并回读确认(此前一次 -2501 认证失败已恢复)。流程定义运行态以土建 V3、机电 V2 为准,已在流程设计器导入且导入结果确认无问题;后续流程调整须按新版本发布,不覆盖已发布旧定义或在途实例。
  • 进度记录按确认规则物理删除;阶段、结果的历史记录不因退回重办轮次切换而删除;条件决策就地重置/更新,不再累积条件历史行;成果附件只做 ossId 存在性校验,文件生命周期由平台文件服务负责。
  • 本轮修复只调整前端附件传输和显示、审批时间线展示、审批错误反馈、待办回退路径以及年度计划办理人快照写入逻辑;附件表结构、7 张业务表字段、索引和约束未改变。附件上传成功后仅把平台返回的 ossId 写入业务引用,失败请求不会写入假附件。
  • 本轮新增的只读附件展示只复用已有 BIZ_ENGINEERING_PROCEDURE_PROGRESS.ATTACHMENT_REFS 和 BIZ_ENGINEERING_PROCEDURE_RESULT.ATTACHMENT_REFS:结果区直接展示文件,进度表数量点击后展示文件列表;不新增字段、不新增业务接口、不改变附件生命周期和引用内容。
  • 本轮审批时间线最终展示只调整公共 FlowTimeline 的前端布局和样式:节点名称与审批状态同一行相邻展示,协作标签固定右上角,办理人和时间信息采用紧凑间距,长意见自然换行;不新增流程、业务或附件字段,不改变任何持久化值。
  • 端到端测试期间未执行业务数据删除;土建/机电测试计划、单位工程、流程历史、进度、结果和附件引用保留在开发库,详情与复测结论见测试与验收。
  • 若后续需要正式交付数据库备份,应另行生成脱敏、可恢复的 DM8 备份包,并记录版本、目标环境、兼容版本、校验值和恢复验证结果;当前文档不把开发库目录或凭据作为交付物。

7. 本轮核验记录 ​

日期核验项结果说明
2026-09-12业务表结构未变更,沿用已核验的 7 张表、字段、约束和索引本轮无 DDL/DML 数据库脚本;办理人快照使用既有主表字段
2026-09-12端到端业务数据保留真实页面测试追加了土建 1 个三单位工程计划、机电 1 个双单位工程计划的流程记录、进度、结果和附件引用,未执行删除
2026-09-12附件引用通过页面和后端上传响应核对文件服务返回成功后才写入 ossId;当前文档不记录文件服务凭据或临时地址
2026-09-12只读附件展示契约代码契约和页面回归通过结果附件直接显示文件;进度附件显示数量并可点击查看禁用态文件列表;本轮只读查看未执行业务写操作,不新增字段或接口
2026-09-12审批时间线展示契约代码契约和页面回归通过时间线三段布局、协作标签右上角、办理人紧凑间距和审批意见换行均由前端组件实现;未新增或修改表、字段、索引和附件引用
2026-10-09工作台体验重构与办理清单未变更本轮为纯前端界面与体验级优化,7 张业务表结构、字段、约束及接口均完全保持向下兼容,无 DDL/DML 变更
2026-10-15录单入口改造结构核验PROJECT_ID 放宽为可空(已回读),其余未变更复用既有 7 张表与字段(SITE_ID/BID_ID/BID_CATEGORY 语义按入口区分);执行 ALTER TABLE BIZ_ENGINEERING_PROCEDURE MODIFY PROJECT_ID BIGINT NULL 并回读 NULLABLE=Y;单位表当前仅有主键索引,年度计划查重由服务层按入口执行(土建 SITE_ID + YEAR、机电 BID_ID + YEAR)