主题
招投标监管 · 概要设计文档
文档版本:1.00 | 最近核对日期:2026-09-24
进展说明:主链路已真实验证;扩展场景待补测。本轮同步 2026-09-17 取消运营状态拒绝、2026-09-18 线路选择器默认隐藏运营可切换显示、2026-09-24 组织与人员选择项不展示参建单位、线路名称改为非必填且线路选项取工程信息配置全部线路,以及归属单位收敛到单位层级(不下探部门)的口径。
1. 设计目标与边界
模块分为三条业务线:工程建设项目招标事实链、非依法必招标审批链、下属单位招标台账。项目信息配置是三条业务线的统一关联入口;项目可没有工程范围,已配置的工程范围仅用于业务管理和可选展示。平台 Warm-Flow 只承载通用待办和办理动作,模块保存单据及其业务状态。
不在模块内复制“我的任务”、委托、转办、加签、减签等平台能力;不把 DM8 物理类型当作跨数据库业务类型。
2. 模块分解
| 子模块/能力 | 职责 | 主要数据 |
|---|---|---|
| 工程招标主线 | 招标文件、挂网轮次、答疑、开标、公示、中标 | BIZ_BIDDING_TENDER_DOCUMENT 等六张过程表;招标挂网主数据/版本树表 |
| 非依法招标 | 立项、文件审查、评审及流程关联 | BIZ_BIDDING_PROJECT_APPROVAL、BIZ_BIDDING_FILE_REVIEW、BIZ_BIDDING_EVALUATION |
| 下属单位台账 | 手工登记、模板导入、导出、进展查询 | BIZ_BIDDING_SUBORDINATE_TENDER |
| 工程范围复用 | 可选工程范围选择、覆盖规则 | 项目信息配置及 BIZ_BID_COVERAGE_* |
| 审计与证据 | 更正留痕、附件和变更追踪 | BIZ_BIDDING_ACTIVITY_LOG、平台附件能力 |
3. 核心运行流程
工程招标过程记录事实,不启动审批流;非依法招标三张单据各自启动独立流程;下属单位招标为无审批台账。
非依法招标三条审批流的条件网关选择:立项与评审均经「副部长」(skipDeputy)、「董事长」(skipChairman)条件网关;文件审查另经「领导小组会签」「分管领导」(skipLeader)条件网关;评审与文件审查经「用印」(skipSeal)条件网关。文件审查流程 v4 的董事长条件网关分支曾存在连接错误(选了董事长跳过审批、未选董事长连带跳过用印),已于 2026-10-15 修正为与评审一致的正序链路,见详细设计 6.5。
下属单位招标台账按独立建设项目 BIZ_PROJECT 关联,工程标段/单位工程是另一套工程节点身份,不能写入 PROJECT_ID。项目与工程范围解耦,无工程范围时仍允许登记;线路名称仅在项目关联工程可解析时作为快照回显(R-BID-013、R-BID-034)。
招标挂网页面采用主数据与挂网版本同表的树形结构:每条主数据下挂接零至多条挂网版本,默认全部展开;当前进展列固定在表格右侧。招标文件台账中的线路名称由项目工程范围解析:项目关联单条线路时自动回显并锁定,未关联线路时人工选择或留空(线路名称非必填,2026-09-24 起);项目工程范围最多一个工程节点,不存在多线路项目。
4. 状态与一致性
| 对象 | 关键状态/指针 | 一致性要求 |
|---|---|---|
| 挂网版本 | CURRENT_FLAG、BID_STATUS | 当前版本唯一;重挂原子切换,历史下游不迁移 |
| 开标/公示/中标 | 存在性和事实锁定 | 一轮最多一条;公示绑定开标;中标需开标、公示和合格候选人 |
| 非依法单据 | APPROVAL_STATUS、INSTANCE_ID | back/cancel 可重新提交原实例,其余终态只读 |
| 导入台账 | 事务边界 | 行级错误、重复或项目不匹配导致整批回滚 |
| 招标文件归属单位 | 业主单位选择 | 选择范围只到单位层级:前端只展示集团/公司/分公司/合资公司(按 orgType 判定),不下探部门;服务端校验 deptType=1 且orgType 为集团/公司/分公司/合资公司(不按祖级深度推断) |
| 招标文件线路 | 项目线路解析/人工选择 | 线路名称非必填;只能选择一条 LINE 节点,项目单线路自动带出,项目工程范围最多一个节点、不存在多线路项目;线路选择器默认隐藏“运营”线路并提供“显示运营”开关(默认关闭,2026-09-18 起),选项取工程信息配置中的全部线路、不按工程范围授权裁剪(2026-09-24 起),服务端只校验线路级别与名称,不按运营状态或可见范围拒绝 |
5. 权限与安全边界
- 页面、详情、导出和写操作均执行对应
bidding:<resource>:<action>权限;服务端不得仅依赖按钮隐藏。 - 有页面权限即可查看全部招投标数据;组织和工程范围字段用于业务归属与快照,不作为列表过滤条件。
- 关联项目、版本号、版本类型、当前指针和关联 ID 不可由普通编辑更改;普通字段更正须记录原因。
- 招标文件归属单位只能使用业主单位的集团/公司/分公司/合资公司(按
orgType判定,选择范围不下探到部门,2026-09-24 起);经办部门、下属单位和归属单位选项统一取业主单位组织(deptType=1),选人排除参建单位人员(excludeDeptType=2),参建单位不进入选择项,范围由组织树与人员选项接口按组织类型过滤,不靠前端裁剪隐藏(2026-09-24 起,见需求分析 8.5);线路节点入参仅用于无关联线路时校验并生成LINE_NAME快照,只能选择线路级节点,不校验节点运营状态(2026-09-17 取消)与当前用户工程树可见范围(2026-09-24 取消,线路选项改为工程信息配置中的全部线路);该校验不构成项目或招投标数据的访问过滤。 - 附件复用平台上传、预览和下载能力;不在文档或接口中暴露账号密码、令牌等凭据。
6. 外部依赖与兼容性
| 依赖 | 用途 | 失败处理 |
|---|---|---|
| 项目信息配置 | 选择独立项目、名称快照和线路解析 | 项目无效或快照生成失败时拒绝保存;项目成员关系不参与访问判定;项目工程范围最多一个节点,单线路自动回显,无线路时允许人工选择或留空 |
| 工程信息配置 | 可选工程范围和工程业务 | 工程节点无效时拒绝保存范围,不影响独立项目建立 |
| Warm-Flow | 三条非依法流程、待办和审批 | 事务失败回滚单据,业务页展示可核对状态 |
| 文件服务 | 附件保存、预览、下载 | 返回可定位的上传/读取错误,不以假附件通过 |
| DM8/迁移目标库 | 持久化 | SQL 和索引集中适配,保留人大金仓/openGauss 差异 |
7. 主要业务链路验证
主要业务链路已验证“项目配置独立项目→招标文件→V1 挂网→答疑补遗→开标→公示→中标”真实链路,并验证线路自动回显、线路级单选、业主单位范围、挂网同表树形展示和六阶段进展。非依法招标已完成立项及文件审查审批链路核对;真实接口、数据库、角色和异常证据记录在测试与验收。
8. 关键决策来源
8.1 2026-09-02 页面与数据边界调整
- 招标挂网由上下双表收敛为主数据/版本同表树形展示,默认展开;
- 招标文件新增项目线路解析接口
GET /business/project/{projectId}/line,不新增持久化线路节点字段,最终保存线路名称快照; - 业主单位和线路选择均增加服务端边界校验,避免依赖前端隐藏选项保证数据正确性;
- 当前进展统一为六阶段,并将招标文件台账的当前进展列固定在右侧。
核心设计来自 2183ce382、27749d587、7ce955294、7477c0061、8e96433f9、50a7cc445 和 b5dd1d2;代码、交付数据库与当前 DM8 结构是实现核对依据。本次真实回归结论以测试与验收为准,未核对项以需求分析待核对事项为准。