主题
工程变更监管 · 概要设计文档
文档版本:1.01 | 最近核对日期:2026-11-09
本文面向设计评审、实现和验收,只确定模块边界、流程、状态、数据对象和系统依赖。字段级表结构、接口参数和流程 XML 在业务基线确认后进入详细设计和数据库设计。
文档控制
| 项目 | 内容 |
|---|---|
| 模块名称 | 工程变更监管 |
| 编写日期 | 2026-08-29 |
| 业务确认人 | 待确认 |
| 关联需求分析 | 工程变更监管需求分析 |
1. 设计目标与边界
1.1 设计目标
- 用四个独立业务页面和按发起单位划分的五个主流程定义(施工、监理、业主、设计及设计重报 design_resubmit)承载四类单位发起,同时复用一套工程变更业务主数据、服务和公共组件;施工单位使用一个主流程,I/II/III/IV 类在流程内部按系统变量分支;办理路由名称统一为“工程变更办理”;
- 用流程定义表达不同发起链、金额分类、并行会签和出图条件;
- 以工程信息配置、组织岗位和工程范围作为工程归属及候选人来源;
- 让金额、类别、资料和审批记录在台账、办理页、流程和数据库中一致;
- 先以施工单位发起的真实链路验证数据、接口、页面、权限和异常,再展开其余发起类型。
1.2 模块边界
本模块负责:
- 工程变更主单、编号、名称、工程及参建单位快照;
- 变更内容、原因、金额、分类、工期影响和阶段资料;
- 业务提交校验、流程启动、状态回写和归档状态;
- 统一台账、业务表单、流程办理入口和统计导出;
- 外部报审、造价同步和档案推送的结果状态及证据记录。
本模块不负责:
- 独立项目、根节点、线路、标段、单位工程和参建单位主数据维护;
- 用户、角色、部门、岗位和工程范围授权维护;
- 通用待办、委托、转办、加签、减签和流程图引擎;
- 独立交开投审批系统、二期造价平台及外部主管部门系统本身。
1.3 既有能力复用
| 能力 | 复用内容 |
|---|---|
| 工程信息配置 | 工程树、线路/单位工程、业主/设计/监理/施工单位信息 |
| 工程范围权限 | 用户可见工程节点和子树 |
| 系统组织 | 部门、岗位、角色、用户及有效状态 |
| Warm-Flow | 流程实例、任务候选人、条件分支、并行会签、办理记录和流程图 |
| 文件服务 | 发起附件、节点流程附件及其预览/下载 |
| 公共审计 | 创建、修改、作废、状态流转和操作时间 |
2. 模块分解
| 子模块/能力 | 职责 | 上游输入 | 下游输出 |
|---|---|---|---|
| 四类业务台账 | 施工单位、监理单位、业主单位、设计单位四个页面分别查询、发起和办理本类型数据 | 业务主单、发起类型、流程状态、工程范围 | 四个独立业务页面 |
| 综合统计 | 跨发起类型查询、查看、流程图和导出,不承载发起表单 | 四类业务主单和流程状态 | 统一监管统计页 |
| 发起与草稿 | 工程选择、自动带出、编号、名称、基本信息和附件 | 工程信息配置、当前用户 | 草稿或待提交主单 |
| 分类判定 | 按金额预判、复核类别 | 造价估价、初审意见 | I—IV 类及判定依据 |
| 流程编排 | 四类前置链、归属单位分流、部门包容分流、出图分支和分级审批 | 发起类型、归属单位、系统判定类别、项目属性、是否出图 | Warm-Flow 任务和状态 |
| 资料与金额闭环 | 图纸/签证、通知单、变更单和归档 | 审批结果、文件服务 | 闭环资料、归档状态 |
| 外部协同状态 | 记录交开投、市主管部门、造价平台和档案推送结果 | 外部结果或人工补录 | 待同步/成功/失败及凭证 |
3. 总体结构
业务主单是模块事实源,Warm-Flow 是任务和审批轨迹事实源。流程回调只能在校验业务主单及当前状态后回写,不以页面显示状态替代服务端状态。
4. 核心运行流程
设计单位变更在分公司项目负责人节点判断是否重报初步设计,满足时流程结束并转入独立的重新申报流程;分公司负责人、设计部经办人在领导审批前填写流程概述,展示在基础表单底部。公司领导审批顺序统一为建设分管领导 → 成本分管领导 → 设计分管领导 → 总经理 → 董事长(I 类)。
流程设计遵循以下原则:
- 四类发起共用业务主单、后半段规则和公共服务,但使用四个独立页面、路由、权限和按发起单位划分的流程定义;施工单位只有一个主流程,类别在流程内部判断和分支;
- 四类发起复用同一公共能力,页面和流程定义按确认的完整范围实现;
- “系统设备公司/分公司”是同一发起单位归属字段的两个取值,由申请人首次填写后进入互斥分流;系统设备分支由实际经办人所属部门确定一部或二部,不增加二次选择节点;
- 分公司负责人后使用部门审核包容网关:技术部仅在 I 类进入,工程部、成本合约部、设计部在四类中均进入;所有实际选中的分支完成后再汇聚;
- 条件节点使用服务端可信变量,不接受前端任意指定审批路径;并行节点全部完成后只允许推进一次,重复回调必须幂等;
- 审批通过不等于业务闭环,图纸、变更单和归档完成后才进入最终状态;本批已删除流程末端的最终核量核价及负责人审核节点,历史最终金额字段只读兼容。
5. 状态模型
| 业务阶段 | 进入条件 | 允许角色 | 可执行动作 | 离开条件 |
|---|---|---|---|---|
| 草稿 | 创建主单但未提交 | 发起人 | 编辑、删除、提交 | 提交校验成功并启动流程 |
| 前置审核 | 流程已启动 | 施工、总包、监理、分公司对应岗位 | 通过、退回、查看资料 | 前置节点全部完成 |
| 方案与估价 | 分公司受理完成 | 踏勘、方案、造价岗位 | 上传方案、填写估价、审核 | 估价负责人通过并形成预判类别 |
| 初审与分类 | 已形成预判类别 | 分公司及公司职能部门 | 并行审核、确认类别 | 必需节点全部通过 |
| 分级审批 | 类别已确认 | 分公司负责人或公司领导 | 审批、退回 | 对应类别审批完成 |
| 资料完善 | 分级审批完成 | 设计、施工、监理、分公司岗位 | 上传资料、复核 | 通知单/签证表齐备 |
| 待下达变更单 | 资料完善完成 | 监理单位 | 上传并下达工程变更单 | 变更单有效 |
| 已归档 | 分公司完成归档 | 授权查看人员 | 查看、导出 | 终态 |
| 退回修改 | 任一节点退回 | 指定材料提交人 | 修改、重新提交 | 原流程重新进入办理 |
| 作废/终止 | 合法终止动作完成 | 有权限人员 | 查看 | 终态 |
台账“状态”显示稳定业务状态,“当前节点”从有效流程任务解析;不得把当前节点文本当作唯一状态判断依据。办理弹窗中的 预览 不是业务状态,只在当前页面临时改变左侧只读表单的显示;未执行 同意 或 退回 时正式表单不变。
6. 数据对象关系
text
[工程变更主单] 1 --- N [阶段资料/附件]
| 1
+--- N [分类与金额判定记录]
|
+--- 1 [流程业务关联] --- 1 [Warm-Flow 实例]
|
+--- N [外部报审/同步记录]
|
+--- N [操作与状态变更记录]6.1 工程变更主单
保存工程归属、发起类型、编号名称、内容原因、合同及工期影响、当前分类、最终金额、业务阶段和归档结果。单位工程路径保存为路径快照,实际工程名称允许发起人删改和补充后保存;参建单位及原始工程资料保存为发起快照,变更标题由实际工程名称生成。
6.2 分类与金额判定
至少保留估价金额、预判类别、初审确认类别和最终结果;历史最终核量核价字段保留兼容,新流程不再写入。正式类别/分支仍按流程图规定的自动判断节点记录。
6.3 阶段资料
发起页在工期影响字段后提供通用附件入口,不使用具体文书名称标签;所有流程节点均复用 Warm-Flow 流程附件,节点没有附件时不渲染附件区域,办理上传后在对应节点卡片底部展示并支持预览/下载。
6.4 流程和审计
业务主单不复制完整审批历史,只保存流程关联和便于台账查询的稳定摘要;审批记录、候选人和流程图由 Warm-Flow 提供。业务金额、类别、作废、归档等变化另行保留业务审计。
7. 接口职责
| 能力 | 调用方 | 接口职责 | 关键输入/输出 | 权限边界 |
|---|---|---|---|---|
| 台账查询 | 业务页面 | 按工程范围分页查询并装配当前节点 | 查询条件、分页列表 | 页面/列表权限 + 工程范围 |
| 草稿保存 | 发起页面 | 校验工程节点,生成编号和业务快照 | 申请表单、主单 ID | 新增或本人草稿编辑权限 |
| 提交申请 | 发起页面 | 完整业务校验并原子启动流程 | 主单 ID、提交版本 | 提交权限 + 状态 + 工程范围 |
| 分类确认 | 造价/初审节点 | 服务端计算并保存预判和确认记录 | 估价金额、类别 | 当前任务办理人 |
| 阶段资料提交 | 固定表单/办理弹窗 | 校验当前节点所需资料并保存 | 资料分组、意见、附件 | 当前任务办理人 |
| 办理预览 | 工程变更办理页 | 将当前弹窗填写内容临时投影到左侧表单 | 当前节点字段、动作、附件 | 当前页面临时状态,不落正式业务数据 |
| 表单与流程图 | 台账/平台任务 | 返回只读主单、资料和流程摘要 | 主单 ID | 查询权限 + 工程范围 |
| 作废 | 台账 | 校验状态、原因和权限后终止业务 | 主单 ID、原因 | 作废权限 + 合法状态 |
| 导出 | 台账 | 按当前查询和数据范围导出 | 查询条件 | 导出权限 + 工程范围 |
接口路径、字段校验、流程变量、乐观锁和响应结构在详细设计中确定。
8. 权限与安全边界
- 资源权限建议使用统一前缀
engineering-change:<resource>:<action>,最终命名在菜单和接口设计时核对; - 列表、表单、导出、主单写入和任务办理均执行统一工程数据授权校验;专属变更数据命中同一有效线路×标段×工点组合或整线授权,列表与对象级入口保持一致;
- 当前任务办理资格以 Warm-Flow 和有效岗位用户关系为准,前端按钮只负责提示;
- 发起类型由登录用户所属单位业务类型及资源权限共同约束,不能通过修改请求参数冒充其他单位;
- 工程、单位、金额、类别和状态等服务端可信字段不得由前端绕过计算;
- 文档、接口和日志不得输出测试账号密码、文件访问令牌或外部系统凭据。
9. 页面与交互边界
- “工程变更监管”作为一级菜单,与“招投标监管”“开投安质环监管”同级;
- 一级菜单下设置施工单位工程变更、监理单位工程变更、业主单位工程变更、设计单位工程变更和综合统计;前四项是独立业务页面,综合统计只读;
- 四个列表页的可见顺序由同一父菜单下的
sys_menu.order_num升序决定;每条办理路由作为对应台账的隐藏子菜单,仍配置order_num并紧跟在对应台账之后,以保持动态路由和页面标签顺序;本模块四条办理路由的菜单文案统一为“工程变更办理”(用户确认的模块例外),路由name必须唯一; - 四个业务页采用各自的标准查询区、分页表格、行操作和新增入口,不在一个页面中用多个新增按钮切换发起类型;
- 四页只共享表格、表单和流程工作台组件,不共享页面状态,避免一个页面承载多套条件逻辑;每个页面对应一个按发起单位划分的主流程定义,类别不再拆成独立流程;
- 新增、编辑和退回修改使用发起页面的业务表单;办理页面左侧完整展示只读业务表单;
- 左侧按业务阶段分组展示,节点没有的字段不强行显示;尚未填写的实际字段显示“待填写”;表单日期只显示年月日;
- 右侧完全沿用 SQE 的流程头部、操作面板、时间线和时间格式;
- 右侧时间线默认完整展开,不折叠历史节点;
- 同意/退回使用统一办理弹窗,按当前节点动态显示字段、金额、选项、表单附件和流程附件;按钮统一为
取消、预览、同意/退回; 预览只临时改变左侧只读表单的显示,正式提交同意或退回后才写入业务记录、签名、表单日期和流程时间线;- 签名图片优先,用户无签名图片时使用系统电子签名文本,不使用“签章”作为页面文案。
- 流程图沿用 Warm-Flow 数据和状态,但展示采用紧凑、清晰的分层布局:前置串行节点按流程图编排规范折返或分栏排布,后续并行分支分组展示,避免整图拉成一条长直线;流程线必须从源节点边缘连接到目标节点边缘,采用清晰的正交/折线路径;普通边不显示“通过”等冗余文字,关键分流边保留简短边属性,汇聚边不增加文字;动态退回不绘制成全量固定连线。
上述布局沿用项目成熟工作流页面,是设计建议;页面效果由 Agent 按改动范围在浏览器核对,用户要求亲自查看的部分保留待验收。
10. 外部依赖与失败处理
| 依赖 | 用途 | 复用方式 | 失败处理 |
|---|---|---|---|
| 工程信息配置 | 工程选择、路径和参建单位 | 查询现有工程树并保存快照 | 配置不完整时保留草稿、拒绝提交 |
| 工程范围 | 列表、详情、导出和写入授权 | 服务端统一校验 | 无范围时返回无权访问 |
| 组织/岗位/用户 | 发起类型和流程候选人 | 按有效关系解析 | 无有效办理人时不启动/不推进 |
| Warm-Flow | 任务、互斥/并行/包容网关、退回和流程图 | 业务主单关联流程实例 | 启动失败回滚提交,回调重复幂等;流程定义调整时新实例使用新版本,既有实例保留原定义 |
| 文件服务 | 阶段资料、预览和下载 | 复用统一上传组件和存储 | 上传失败不保存占位成功记录 |
| 外部报审 | I 类上报结果 | 首期人工记录结果和凭证 | 标记待上报或失败,不伪造完成 |
| 造价平台 | 流程结束后的造价金额 | 二期待接入 | 未接入显示未同步 |
| 工程文件管理 | 按线路、单位工程归档 | 接口待核对 | 模块内归档并保留待推送状态 |
11. 异常、事务与可观测性
- 草稿保存和流程启动分开:草稿允许不完整,提交必须完成全量业务校验;
- 主单状态更新、流程启动和流程关联必须在可回滚边界内保持一致;
- 金额判定采用服务端统一规则,金额变化后重新计算,不接受前端直接指定类别;
- 本批已删除流程末端的最终核量核价及负责人审核节点;历史最终金额字段只读兼容,不补走高等级审批;
- 并行任务完成事件使用业务键和流程节点幂等,避免重复推进;
- 外部系统状态与本地业务完成状态分离,外部失败可重试且保留错误摘要;
- 关键日志包含业务编号、流程实例、节点、操作者和结果,不记录凭据或完整敏感附件地址。
12. 本期施工单位发起验证范围
代表性人工验收路径选择“施工单位发起 + 存在总包 + 分公司归属 + I 类 + 需出图”,因为它同时覆盖最长前置链、估价后类别判定、归属单位分流、部门包容网关的四条并行审核、最高层级审批、设计资料和归档闭环。
| 层次 | 本次贯通范围 | 验证方式 |
|---|---|---|
| 页面 | 统一台账、施工单位新增/编辑、只读表单/办理工作台 | Agent 按改动范围自行在浏览器验证;用户要求亲自查看的部分保留待验收 |
| 接口 | 分页、详情、草稿、提交、阶段资料、分类、作废 | 接口契约和集成测试 |
| 数据 | 工程变更主单、流程关联、分类记录、资料和审计 | 项目 MCP 核对真实 DM8 数据 |
| 流程 | 施工前置链、分公司归属、I 类、四部门并行、需出图、最终闭环 | 真实 Warm-Flow 实例和任务记录 |
| 权限 | 已建施工发起人、审批岗位用户、全部工程测试范围 | 正向角色与越权角色测试 |
| 异常 | 无有效办理人、退回重提、重复提交、并行重复回调 | 自动化回归和数据库一致性检查 |
II、III、IV 类和无总包、系统设备、无需出图分支至少完成自动化分支验证;类别分支均在同一个施工单位主流程内完成。其他发起类型属于后续范围,分别按其业务契约与受影响行为安排实现和验证。
13. 待确认事项
问题正文、来源与确认状态只在需求分析维护;下表仅说明本设计受影响的位置和当前设计处理,提案不等于已获业务确认。
| 关联问题 | 受影响设计点 | 当前设计处理(以需求侧状态为准) |
|---|---|---|
| Q-EC-002 | 分类记录、状态和归档 | 已按 2026-10-23 调整删除最终核量核价节点,历史字段只读兼容 |
| Q-EC-004 | 候选人和测试数据 | 行为规则已确认;实际组织编码待核对 |
| Q-EC-005 | 文件及集成设计 | 本期保留资料和结果状态,不模拟成功 |
| Q-EC-006 | 最终闭环 | 先完成模块内归档,接口核对后扩展 |
14. 关键设计来源
| 来源 | 用途 |
|---|---|
工程变更流程图2026-08-V3.vsdx 六个原始页面 | 核对四类发起、重新申报初设及待定交开投流程节点 |
| 施工/监理/业主/设计单位发起表单 PNG | 核对字段、签名、金额区间、资料分组和审批层级 |
| 工程变更统计页 PNG | 核对发起入口、查询条件、台账列和操作 |
| 工程信息配置、组织岗位、工程范围、Warm-Flow 现有实现 | 确定可复用平台能力和权限边界 |
| 需求分析 | 业务范围、规则、验收标准和待确认事项 |
| 用户确认:II 类全部金额区间经过总经理审批 | 消除流程图与表单之间的审批层级冲突 |
| 用户确认:统一采用《工程洽商及技术核定签证表》 | 统一资料类型和页面文案 |
| 历史方案:最终核价升档补审、降档不退审 | 已被最新确认规则替代,仅保留变更痕迹,不作为当前设计依据 |
| 用户确认:工程变更监管与招投标、SQE 同级,四类流程使用四个独立页面 | 确定菜单层级、路由、权限和流程拆分方式 |
| 用户确认:施工单位使用一个主流程,I/II/III/IV 在流程内部按系统判定变量分支 | 避免在类别尚未由估价确定时提前选择类别流程 |
| 用户确认:系统设备公司和分公司属于同一发起单位归属概念;分公司负责人后使用包容网关按类别选三条或四条并行线 | 确定归属分流和部门初审的网关模型 |
| 用户确认:流程图按 PNG 采用紧凑分层布局,普通边不写“通过”,关键边保留属性,连线边缘对边缘 | 确定流程图展示与流程定义布局规范 |