主题
规划管理 · 需求分析文档
文档版本:1.00 | 最近核对日期:2026-09-20
本文面向业务确认、产品设计、实现和验收,是规划管理模块六类交付文档中的正式需求分析文件。本文只记录已从原型、用户决策、当前代码和开发库核对的内容;尚未确认或未取得有效验证证据的事项统一列入待确认事项。表名、接口参数、类名与组件实现进入后续设计文档,本文不复制。
文档控制
| 项目 | 内容 |
|---|---|
| 模块名称 | 规划管理 |
| 实现进度说明 | 初版已上线(提交 c8a5913),并按端到端复验反馈完成多轮修复(最近一次为 12e8729);2026-09-20 的实现与验证范围见测试与验证报告,当前代码状态待复核 |
| 编写日期 | 2026-09-20 |
| 受测代码状态 | 2026-09-20 核对的提交 f13cf89 及当时工作区状态;台账权限码统一的实际提交与验证范围见测试与验证报告,不代表当前工作区已复验 |
| 业务确认人 | 待确认 |
| 原型或资料来源 | 《规划管理原型确认-004-20260916-合稿版》PDF(V4,34 页);《规划管理原型确认-图片版本》(2026-09-20,36 张页面图,按模块分册,页面口径以此版为准);《20260918 数智建管平台工程规划管理功能架构与系统审批流程》(整体架构与 9 条已发布流程逐节点一致) |
| 关联文档 | 概要设计;详细设计;数据库设计;测试与验收;操作手册 |
模块已按本轮基线实现并通过真实页面端到端验证(Agent 验证范围),但业务方验收尚未完成,且存在两项验证受阻范围(见 6.4),不构成业务验收通过。
1. 背景与目标
1.1 业务背景
- 当前问题:规划编制与报建业务的成果文件、审核意见分散在线下流转,项目储备与报建进度缺少统一台账,建设单位(二级单位)与开投集团之间的报审衔接依赖线下传递,成果版本与审批意见难以追溯。
- 产生原因:本模块实施前,文档站只有一行功能目录记录,系统内没有规划管理的菜单、流程定义、数据表与页面;「四前置」「专题类型」「项目中心/部门窗口」等概念在代码库内均无既有实现。
- 影响对象:二级单位(建设单位)部门经办人与负责人、开投集团项目中心(窗口、经办人、部门负责人)、参与意见征求的集团职能部门、规划管理与流程管理人员。
1.2 建设目标
- 在「规划管理」一级菜单下建立 5 个业务入口(项目储备:储备清单、状态跟踪;规划报建:线网规划、建设规划、工可研究),承载规划成果在线报审与四前置协同。
- 以双发起方式(二级单位 / 开投集团)、多层级审核、意见征求会签和退回重提组成可追溯的统一审批链,复用平台 Warm-Flow,不另建审批中心。
- 以「任务台账 + 项目台账」两个视图支撑任务维度与项目维度的追溯;建设规划与工可研究的编制、报审、批复按阶段任务化,同一项目下多阶段任务可聚合查看。
- 完成后的可观察结果:规划成果单据从草稿、提交、多级审核(含意见征求)、退回重提到「已通过」全程留痕;建设规划/工可研究某阶段通过后在状态跟踪中自动形成引用记录;审批记录逐节点可查且区分发起单位。
2. 建设范围
2.1 本期包含
- 储备清单:二级单位/开投集团双发起方式,任务填报 + 前期储备研究成果明细 + 意见征求 + 多级审核;
- 状态跟踪:自动引用建设规划/工可研究数据 + 用户手工新增进度任务;
- 线网规划:成果文件在线报审(成果文件引用文件目录的方向已预留);
- 建设规划:编制/报审/批复各建一条独立任务(专题类型目录、报审与批复成果留痕);
- 工可研究:与建设规划结构同构,业务模块类型独立;
- 任务台账(任务维度)与项目台账(项目维度聚合)两类视图,以及项目台账的「该项目历史数据」聚合入口;
- 专题类型目录的维护(新增/修改/删除/关联项目);
- 审批流程能力:流程图、审批历史、重启实例(高权限);
- 菜单、三段式权限码、字典、9 条流程定义 JSON、办理页静态路由注册、规划管理角色与授权;
- 页面模型:5 个模块统一为「台账页(任务台账/项目台账两个视图,建设规划与工可研究另挂专题目录)→ 新增 → 审核 → 详情」四页。
2.2 明确不做
- 不建设「信息管理/文件目录配置」模块本体:本期只预留成果文件引用目录的来源字段与目录标识,成果文件按直接上传(引用文件服务对象)落库;
- 不实现「开投集团直接发起编制阶段」路线(V4 未定义,编制阶段仅二级单位发起);
- 不包含工程建设审批手续、勘察设计管理「设计专题」等相邻业务域的页面与流程;
- 不把平台级流程能力(转办、委托、加签、减签、抄送)复制到业务页面,按平台既有入口使用;
- 不做站内信/短信通知、不做导出列的定制化配置(默认口径见 8.1);
- 不做单位级数据隔离(本期默认有页面权限即可查询全部台账,见 6.1)。
2.3 已确认的技术约束
- 复用平台既有底座:Warm-Flow 流程引擎与办理工作台、
sys_oss文件服务、sys_dict_*字典、菜单与三段式权限码、项目主数据与工程结构; - 业务状态复用平台
BusinessStatusEnum的稳定编码(draft/waiting/back/finish),展示层用本模块字典映射为草稿/进行中/退回/已通过; - 大整数 ID 前端保持
string | number原值;流程业务标识为{阶段记录ID}#{实例序号},含#,前端查询流程历史时路径段必须 URL 编码; - 审核节点办理人一律「选人」(提交或办理时确定下一办理人),不使用部门/角色待办池;意见征求会签节点由本次选中的部门接收人集合办理;
- 数据库、DDL 与验证统一通过项目 MCP 访问开发库;不新增独立审批、权限或文件体系。
3. 用户角色与使用场景
| 角色 | 使用目的 | 前置条件 | 主要结果 |
|---|---|---|---|
| 二级单位(建设单位)部门经办人 | 填写任务、上传成果文件、暂存、提交、退回后修改重提 | 具备对应模块的 list/query/addUnit/edit/submit 权限与部门归属 | 形成草稿或提交中的规划业务单据 |
| 二级单位(建设单位)部门负责人 | 审核本单位提交的成果文件 | 被选为当前节点办理人 | 通过进入项目中心窗口,或退回发起人 |
| 开投集团项目中心部门窗口 | 承接二级单位报审的流程路由节点 | 提交时被选为下一办理人 | 将事项转交项目中心经办人 |
| 开投集团项目中心经办人 | 审核/确认、在意见征求决定节点选择征求部门与接收人 | 被选为当前节点办理人 | 出具审核意见或发起意见征求 |
| 开投集团项目中心部门负责人 | 审核/确认、判断是否需要意见征求 | 被选为当前节点办理人 | 决定是否征求部门意见并完成最终确认 |
| 征求意见部门(运营管理部/资产管理部/建设管理部/其他部门)接收人 | 并行提交本部门意见(同意/退回) | 被选为会签接收人 | 各自回写部门意见;任一部门退回则本轮不通过 |
| 开投集团部门经办人 | 以开投集团发起方式填写并上传成果 | 具备 addGroup 权限与集团部门归属 | 形成开投集团发起的任务 |
| 系统管理员/流程管理员 | 重启流程实例 | 具备 planning:process:restart | 原实例保留,新建实例继续办理 |
| 查看人员 | 列表查询、详情、流程图、审批历史、导出 | 具备页面权限(受只读规则约束) | 只读查看授权范围内的台账与流程记录 |
4. 核心业务场景
4.1 储备清单(双发起 + 意见征求)
- 二级单位经办人以「二级单位新增」填写任务名称、选择项目/线路、录入前期储备研究成果明细(附件非必填),暂存为草稿;
- 提交时选择下一步审核人(本单位部门负责人)→ 部门负责人审核 → 开投集团项目中心部门窗口 → 项目中心经办人审核 → 项目中心部门负责人审核;
- 部门负责人在审核时判断是否需要意见征求:选择「是」时,运营管理部、资产管理部、建设管理部接收人必选且互不相同;「其他部门」接收人选填,选中时不得与其他接收人重复;
- 已选择的部门分别办理并提交意见(可上传附件);所有已选择部门完成后依次由项目中心经办人确认、项目中心部门负责人确认 → 已通过;
- 选择「否」时部门负责人审核后直接结束;任一部门退回则本轮意见征求未通过,流程回到业务发起人节点,发起人修改后重新提交。
开投集团发起方式从开投集团部门经办人填写开始,随后直接进入项目中心部门负责人审核及后续相同链路。
4.2 状态跟踪(自动引用 + 手工新增)
- 建设规划或工可研究某一阶段「已通过」后,系统自动生成状态跟踪引用记录:复制项目关联与专题关联,记录来源模块与来源任务/来源阶段记录,不创建阶段记录、不创建成果版本、不启动流程(不参与审批),同一来源阶段记录重复触发不重复生成;
- 引用记录以「已通过」状态与来源说明(如「自动引用自建设规划报审阶段」)在状态跟踪台账与项目台账中呈现;
- 用户也可以手工新增进度任务,走「填写进度成果 → 建设单位部门负责人审核 → 项目中心部门窗口 → 项目中心经办人审核 → 项目中心部门负责人审核」(二级单位发起)或「填写进度成果 → 项目中心部门负责人审核」(开投集团发起);
- 状态跟踪不得修改建设规划/工可研究的原始记录。
4.3 线网规划与建设规划/工可研究的报审、批复
- 线网规划:二级单位经办人上传线网规划成果文件 → 建设单位部门负责人审核 → 项目中心部门窗口 → 项目中心经办人审核 → 项目中心部门负责人审核 → 已通过;开投集团发起方式从集团部门经办人上传成果文件开始,经项目中心部门负责人审核后结束;
- 建设规划/工可研究的报审阶段、批复阶段与线网规划同构,节点文案与成果明细列名按模块与阶段区分。
4.4 建设规划/工可研究的编制阶段(含意见征求)
编制阶段仅二级单位发起:经办人上传编制阶段文件 → 建设单位部门负责人审核 → 项目中心部门窗口 → 项目中心经办人确认 → 项目中心部门负责人审核(判断是否需要意见征求)→ 选择「是」时,运营管理部、资产管理部、建设管理部三个必选分支并行办理;仅当选择「其他部门」接收人时才创建该分支。已创建的部门分支全部提交意见后由项目中心经办人确认、项目中心部门负责人确认结束;选择「否」时直接结束。
4.5 阶段性任务与台账追溯
- 建设规划与工可研究的编制、报审、批复各建立一条独立任务:每条任务 1 条阶段记录、1 个独立流程实例,成果版本号从 1 起;
- 阶段任务之间以「项目 + 专题类型 + 任务名称」关联;需要再次报审时新建一条报审任务,不在同一任务内追加阶段记录;
- 任务台账按任务维度展示历史任务;项目台账按项目维度实时聚合,展示「规划报建阶段」「专题类型」等列,并提供「该项目历史数据」聚合入口;
- 状态跟踪的项目台账同时汇总建设规划、工可研究的项目与专题数据,以及状态跟踪自行新建的项目任务数据。
4.6 审核、退回与流程办理
- 新增/编辑页底部左侧提供「流程图」,右侧为
暂存/提交/取消,并含「选择审核人」区块; - 审核页业务字段只读、明细置灰,带「填写意见」弹窗与意见征求入口,底部提供「流程图」;快捷意见统一为
请审核.无意见.拟同意.同意.; - 列表「详情」直接进入流程工作台只读视图(含流程图、审批历史、重启实例);各节点意见由流程时间线呈现,页面不另设「审查意见」分节点卡片,也不保留独立审批记录表;
- 退回由引擎按实例历史计算可选退回节点,默认退回上一节点;退回到申请人节点时业务状态置「退回」,发起人修改后重新提交,原审批记录不删除、不覆盖。
5. 业务规则与状态
5.1 业务规则
| 编号 | 规则 | 来源 | 状态 |
|---|---|---|---|
| R-PL-001 | 「规划管理」为一级菜单,下设「项目储备」(储备清单、状态跟踪)与「规划报建」(线网规划、建设规划、工可研究)两个目录,专题类型目录与各流程办理页为隐藏入口 | 用户确认、原型图片版 | 已确认 |
| R-PL-002 | 5 个模块统一四页模型:台账页(任务台账/项目台账两个视图,建设规划与工可研究另挂「专题目录」)→ 新增 → 审核 → 详情;列表「详情」直接进入流程工作台只读视图,不使用只读弹窗 | 用户确认(2026-09-20 逐条裁决)、原型图片版 | 已确认 |
| R-PL-003 | 新增/编辑底部左侧「流程图」按钮常驻展示(对齐原型),建设规划/工可研究未选工作阶段时点击提示「请先选择工作阶段后再查看流程图」;右侧 暂存/提交/取消,并含「选择审核人」区块;审核页业务只读、明细置灰,带「填写意见」弹窗与意见征求,底部「流程图」 | 用户确认(2026-09-20、2026-09-30 常驻口径)、原型图片版 | 已确认并实现 |
| R-PL-004 | 发起方式分「二级单位发起」与「开投集团发起」两种,分设动作权限;发起方式由用户点击的新增按钮决定,不再校验用户部门归属,任何具备对应动作权限的用户可按任一方式发起;后端按发起方式解析流程路线并记录发起单位(集团取根部门,二级单位优先取已配置的所属单位、无配置时记实际所在部门) | 用户确认(2026-09-30 取消人员归属限制)、实测(集团部门人员以二级单位方式发起成功) | 已确认并实现 |
| R-PL-005 | 编制阶段(建设规划/工可研究)不提供开投集团发起路线,仅二级单位发起 | 用户确认(2026-09-17 第 6 条)、原型图片版 | 已确认 |
| R-PL-006 | 业务状态复用平台 BusinessStatusEnum 稳定编码(draft/waiting/back/finish),展示层以 planning_business_status 字典映射为草稿(灰)/进行中(蓝)/退回(红)/已通过(绿);业务状态与流程实例状态分列保存,另有发起方式字段区分二级单位/开投集团 | 既有决策(平台状态机一致性)、原型图片版、实测 | 已确认 |
| R-PL-007 | 暂存只保存业务数据、不启动流程、状态为草稿;提交执行完整校验 → 保存 → 启动(或继续)流程 → 状态为进行中;取消不落库 | 原型图片版、用户确认 | 已确认 |
| R-PL-008 | 提交必须选择下一步审核人;提交校验不通过只拦截提交,不阻断暂存 | 原型图片版、实测 | 已确认 |
| R-PL-009 | 同一业务记录重复提交不得产生两个流程实例(后端重复提交拦截 + 业务侧实例校验与锁) | 用户确认、既有决策 | 已确认 |
| R-PL-010 | 退回的候选节点由引擎按实例历史动态计算,默认退回到上一节点;退回申请人节点时业务状态置「退回」,发起人修改后重新提交;原审批记录不删除、不覆盖,重新提交产生新的办理记录 | 用户确认(2026-09-17 第 5 条)、实测 | 已确认 |
| R-PL-011 | 项目/线路可多选:一份任务关联多条线路/项目,不因多选拆成多个任务、不复制流程实例;关联保存项目引用与名称/编码快照 | 原型批注「线路可多选」、用户确认 | 已确认 |
| R-PL-012 | 专题类型可多选,由任务↔专题类型关系表承载;任务主表保留首个专题标识与顿号拼接名称快照,用于旧筛选与列表展示 | 用户确认(2026-09-20 第 6 条)、原型批注「支持多选」、实测 | 已确认 |
| R-PL-013 | 建设规划/工可研究的编制、报审、批复各建立一条独立任务:每条任务 1 条阶段记录(序号恒为 1)、1 个独立流程实例,成果版本号从 1 起;同一任务退回重提沿用原实例与原版本;重启实例新建实例序号但不新增阶段记录与版本 | 用户确认(阶段性任务口径定稿)、实测 | 已确认 |
| R-PL-014 | 任务台账按任务维度展示、项目台账按项目维度实时聚合(不建第二套业务表);项目台账提供「该项目历史数据」聚合入口 | 原型批注、用户确认(2026-09-20 第 4 条)、实测 | 已确认 |
| R-PL-015 | 成果与附件分层为「业务任务 → 阶段记录 → 成果版本 → 成果明细 → 附件引用」;附件默认非必填,提交校验不校验附件;附件保存文件服务对象引用而非复制实体文件,来源为文件目录引用时保存目录标识 | 原型批注「此处附件非必填」、用户确认 | 已确认 |
| R-PL-016 | 审核节点办理人一律「选人」:提交或办理时由「选择审核人」确定下一办理人,不使用部门/角色待办池或角色队列派发(含项目中心部门窗口节点) | 用户确认(2026-09-17 第 3 条)、实测 | 已确认 |
| R-PL-017 | 意见征求决定节点选择「是」时,运营管理部、资产管理部、建设管理部各须选择 1 名互不重复的接收人;「其他部门」为选填,选中时须提供 1 名且不得与其他接收人重复。页面与服务端均校验三个必选部门和接收人唯一性 | 用户确认(2026-10-14:其他部门不强制)、当前实现与单元测试 | 规则已确认;本轮未启动会签待办,办理人跨部门路径待业务验收 |
| R-PL-018 | 储备清单、建设规划/工可研究编制阶段均使用部门并行办理节点。三个必选部门分支并行;OTHER 分支仅在用户选择其他部门接收人时生成;汇聚等待所有实际生成的分支完成,再进入项目中心经办人确认。接收人不得重复;不得为未选 OTHER 分支虚构默认办理人 | 用户确认(2026-10-09 并行审核语义、2026-10-14 其他部门选填)、流程源文件、运行态回读和 V3 集团路线页面办理 | 集团储备清单 V3 已发布;无会签分支已端到端通过;需会签/OTHER 组合分支未执行 |
| R-PL-019 | 意见征求任一部门退回即本轮未通过:批次状态标记为已退回,流程回到业务发起人(申请人节点),已完成部门的意见保留在历史记录中 | 用户确认、实测 | 已确认 |
| R-PL-020 | 意见征求只出现在储备清单与建设规划/工可研究的编制阶段;状态跟踪、线网规划、报审阶段、批复阶段不设意见征求 | 原型图片版、用户确认 | 已确认 |
| R-PL-021 | 每个节点办理后写入一条审批记录(节点、节点名称、审批人、审批人部门、发起单位、审批意见、结果、时间、流程实例、流程版本),按引擎办理记录幂等;页面不单独展示审批记录表,节点意见由流程时间线呈现,但审批记录必须区分发起单位 | 原型批注「审批记录需要区分发起单位」、用户确认、实测 | 已确认 |
| R-PL-022 | 建设规划/工可研究某一阶段「已通过」后自动生成状态跟踪引用记录:来源类型取来源模块编码(建设规划/工可研究),手工新增为手动;复制项目关联与专题关联,记录来源任务与来源阶段记录;不创建阶段记录、不创建成果版本、不启动流程,按来源阶段记录幂等;不得修改来源记录 | 用户确认(2026-09-17 第 9 条)、实测(生成 5 条引用记录) | 已确认 |
| R-PL-023 | 专题类型目录为可配置主数据(表 + 页面),支持新增/修改/删除/关联项目;「规划阶段/工可阶段」是专题属于的业务分类,与工作阶段「编制/报审/批复」是两个维度,字段分开 | 原型图片版、用户确认 | 已确认 |
| R-PL-024 | 专题类型被任务引用后不可物理删除(服务端拒绝并提示改为停用);仅与项目存在关联关系不阻止删除,关联记录随删除一并清理;已通过的结果不被后续操作覆盖 | 用户确认、既有决策、代码核对(删除守卫范围为任务引用) | 已确认 |
| R-PL-025 | 重启流程实例为高权限动作:仅系统管理员/流程管理员/被授权角色可执行;原实例不删除、历史完整保留,新建实例并记录原实例标识与重新启动原因 | 用户确认(2026-09-17 第 10 条)、实测 | 已确认 |
| R-PL-026 | 权限码统一为 planning:<资源>:<动作> 三段式;发起方式按钮分别对应「二级单位新增」「开投集团新增」动作权限;台账、查询、修改、删除、提交、审批办理、导出分设动作权限 | 工程契约(三段式权限码)、用户确认 | 已确认 |
| R-PL-027 | 记录级权限:草稿仅创建者或具备管理权限者可以编辑/删除;退回由具备重新办理权限者编辑重提;进行中仅当前处理人可执行节点允许的操作;已通过业务表单只读 | 用户确认、既有决策、实测 | 已确认 |
| R-PL-028 | 数据范围默认不做单位隔离(有页面权限即可查询全部台账),保留发起单位字段用于展示与审批记录区分 | 用户确认(2026-09-17 第 7 条) | 已确认 |
| R-PL-029 | 规划管理角色除业务权限外还需按角色授予平台权限:项目查询(发起时项目/线路选择)、流程实例查询与当前实例列表(流程图与审批时间线)、流程定义列表(流程图定义)、文件查询(时间线附件);权限按用户缓存 30 天,补授必须经「角色管理 → 授权保存」触发缓存失效,直接写库补授不生效 | 实测(2026-09-20 补授后即时生效)、开发库角色授权回读(发起人与管理员已含项目查询,三个角色均含流程与文件查询类平台权限) | 已确认 |
| R-PL-030 | 快捷意见文案统一为 请审核. 无意见. 拟同意. 同意.;成果明细列名按模块与阶段命名(前期储备研究成果文件、进度成果文件、线网规划成果文件,以及建设规划/工可研究的编制阶段文件、报审成果文件、批复成果文件);台账列名随之对齐 | 用户确认(2026-09-20 第 5 条)、原型图片版 | 已确认 |
| R-PL-033 | 含发起方式网关的 7 条流程(储备清单、状态跟踪、线网规划、建设规划报审/批复、工可研究报审/批复)按发起方式拆分为两条独立流程定义(基础编码加 _group/_unit 后缀,流程名带「(开投集团)」「(二级单位)」),前端两个新增按钮与流程定义一一对应;编制阶段 2 条流程仅二级单位发起、不拆分;发起时按任务的发起方式解析流程编码;新增/编辑弹窗内提供「下一步审核人」选人字段,未选择时点提交仍弹选择框,两条路径等价。2026-09-30 全部 16 条定义重出图升级 V2(节点名称按 7 字换行、网关不写名、关键边带标签),已导入发布并删除 7 条不区分发起方式的基础定义及其仓库 v1 文件;开发库在途实例与业务数据同批清理 | 用户批注(前端已按按钮区分流程,应当真正拆分)、用户确认(2026-09-30 全部升级 V2 并清理旧定义)、2026-09-30 实现与开发库回读(16 条 V2 导入发布、重复行检查为空,集团/二级单位两条真实实例分别运行于 planning_network_plan_group V2 与 planning_construction_compilation V2) | 已确认并实现 |
| R-PL-034 | 发起单位记录规则:开投集团方式取集团根部门,二级单位方式优先沿部门链上已配置的「所属单位/二级单位」关系,未配置时记录发起人实际所在部门,不再因缺少关系配置而拦截发起 | 用户确认(2026-09-30 取消归属限制,原拦截口径废止) | 已确认并实现 |
| R-PL-031 | 跨模块共用页面与入口、全部办理页按静态固定路由注册、不依赖菜单授权(用户确认口径):详情流程工作台(办理页族)与项目历史数据聚合入口已静态注册;专题类型目录当前仍由隐藏菜单驱动(页面按钮跳转其菜单路径),与该口径存在差异,见 8.2 的 Q-PL-008 | 用户确认(2026-09-20 第 7 条)、代码核对(三处路由注册方式) | 部分实现(专题类型目录待按静态注册口径对齐) |
| R-PL-032 | 沿用既有实现,保留业务需要的既有字段:新增/编辑表单的「备注」字段、查询条件中的「任务名称」、线网规划的项目名称字段与列表列;线网规划不提供台账视图入口(页面结构按平台台账模式确定,不以原型缺项作为禁止依据) | 用户确认(本轮保留)、业务资料核对 | 已确认 |
5.2 状态流转
text
草稿(draft) --提交--> 进行中(waiting) --全部节点通过--> 已通过(finish)
|
+--退回(back)--> 修改后重新提交 --> 进行中草稿:仅创建者或具备管理权限者可以编辑、删除与提交;未启动流程实例;进行中:流程已启动或退回后重新提交,业务表单按当前处理人可办理、其他人只读;当前节点从有效流程任务解析;退回:退回到申请人节点后的业务状态,发起人可修改并重新提交,沿用原流程实例;退回到中间节点时业务仍处于进行中;已通过:该阶段/任务的流程结束,业务表单只读;建设规划/工可研究的已通过阶段会触发状态跟踪自动引用;- 流程实例状态(运行中/已结束/已退回/已重启取代)与业务状态分列保存;重启实例后原实例状态置为「已被取代」,新实例继续办理。
中文状态名只用于展示,数据库只存稳定枚举值。
6. 权限、异常与非功能要求
6.1 权限与数据范围
- 菜单与按钮权限码为
planning:<资源>:<动作>,资源取 5 个模块(储备清单、状态跟踪、线网规划、建设规划、工可研究)、专题类型目录,动作含查询、二级单位新增、开投集团新增、修改、删除、提交、审批办理、导出、管理,另有台账视图、流程实例重启等独立权限;后端注解、菜单权限串与前端指令三处必须逐字一致。 - 前端隐藏按钮不代替鉴权:提交、审批办理、意见征求、重启实例、删除、导出的最终判定均在服务端执行。
- 数据范围:默认不做单位隔离,具备页面权限的角色可查询全部台账;发起单位字段用于展示与审批记录区分。
- 记录级权限:草稿仅创建者或管理权限者可编辑/删除;进行中仅当前处理人可办理;已通过业务只读。
- 当前节点办理资格以流程实例的有效任务为准,前端不传办理人参数决定归属;发起方式在服务端按用户部门归属与权限复核。
6.2 异常与回滚
| 场景 | 系统行为 | 用户提示或补救 |
|---|---|---|
| 重复点击提交 | 服务端重复提交拦截;同一业务记录只允许一个活动实例 | 提示重复提交,返回已有流程状态 |
| 提交时未选择下一步审核人 | 拒绝提交,保留草稿数据 | 提示选择下一步审核人 |
| 提交校验不通过(任务名称、项目、成果明细内容为空等) | 只拦截提交,不阻断暂存 | 指出具体缺失字段 |
| 非二级单位用户以二级单位方式发起 | 不再拦截(2026-09-30 起发起方式由按钮决定,与部门归属解耦);发起单位按 R-PL-034 记录 | — |
| 用户未分配部门时发起 | 服务端拒绝 | 提示联系管理员配置部门 |
| 修改他人草稿或已通过单据 | 服务端按记录级权限拒绝 | 提示仅创建人或具备管理权限的人员可操作 |
| 非当前处理人办理或凭据不匹配 | 服务端校验任务归属后拒绝 | 提示该任务不是本人待办 |
| 意见征求全部完成前 | 保持会签节点,不提前流转 | 展示待办部门与已完成部门 |
| 任一部门退回意见征求 | 本轮批次标记为已退回,流程回到申请人节点,已完成部门意见保留 | 发起人修改后重新提交 |
| 同一来源阶段记录重复触发自动引用 | 按来源阶段记录幂等,不重复生成引用记录 | 台账中不出现重复引用记录 |
| 删除已被任务引用的专题类型 | 服务端拒绝物理删除;仅与项目存在关联关系时不阻止删除,关联记录随删除清理 | 引导改为停用 |
| 重启实例 | 事务内将原实例置为已被取代,新建实例并记录原实例标识;业务数据与历史版本保留 | 审批历史同时可见原实例与新实例 |
| 流程回调重复或流程启动失败 | 审批记录按引擎办理记录幂等;启动失败回滚业务提交 | 返回失败原因,数据保持一致 |
6.3 非功能要求
- 列表与台账使用数据库分页;导出的筛选与数据范围与列表一致;
- 提交、退回、意见征求、审批回写、重启实例、自动引用均在事务边界内保持一致,失败回滚;
- 关键状态变化与审批记录可追溯,日志包含业务标识、流程实例、节点、操作者与结果,不记录凭据与完整文件地址;
- 页面复用平台固定表单与流程工作台组件,不新造审批中心;
- 附件格式与大小沿用平台统一文件策略,不在本模块硬编码另一套限制。
6.4 验证受阻范围(不得记为通过)
- 后端 13 项规划测试(
PlanningTaskServiceImplTest5 项:意见征求按流程任务标识解析与拒绝越界任务等;PlanningProcessEventListenerTest8 项:流程状态回写、审批记录幂等与自动引用)在 2026-09-20 因本机 Mockito 插件加载失败报错;2026-09-30 复测 13 项全部通过,阻塞已不复现。附件上传交互在内置浏览器不支持文件选择,无法通过页面验证;附件随办理提交写入流程历史的能力已用真实文件标识验证,附件展示依赖文件查询平台权限(见 R-PL-029)。
7. 验收标准
| 编号 | 角色 | 前置条件 | 操作 | 预期结果 | 证据 |
|---|---|---|---|---|---|
| AC-PL-001 | 二级单位经办人 | 具备二级单位发起权限与部门归属 | 以「二级单位新增」创建储备清单并暂存,随后提交 | 暂存后列表状态为草稿;提交后状态为进行中且生成一个流程实例;重复点击提交只产生一个实例 | 页面、接口、数据库 |
| AC-PL-002 | 具备任一新增动作权限的用户 | 仅具备 addUnit 或 addGroup 之一 | 分别点击「二级单位新增」与「开投集团新增」发起 | 两个按钮均可用,流程分别走 _unit/_group 拆分定义;发起单位按 R-PL-034 记录;部门归属不构成拦截 | 页面、接口、数据库 |
| AC-PL-003 | 建设规划报审阶段经办人 | 同一项目已有一条报审任务 | 新建第二条报审任务并提交 | 两条报审任务各自持有阶段记录、成果版本与流程实例,互不覆盖;项目台账按项目聚合显示两条阶段任务 | 页面、数据库 |
| AC-PL-004 | 意见征求决定人(项目中心部门负责人) | 处于是否需要意见征求节点 | 选择「是」,仅选择运营/资产/建设三个必选部门后提交;再测选择其他部门和接收人的路径、缺少必选部门、重复接收人、选择「否」 | 不选其他部门时仅生成三个待办并成功汇聚;选择其他部门时生成第四条待办;缺少任一必选部门或接收人重复时拦截;实际生成的部门分支全部完成后才汇聚;选择「否」不生成部门待办并沿直行路径结束;任一部门退回后回到申请人节点,已完成意见保留 | 页面、接口、流程实例与部门任务回读 |
| AC-PL-005 | 普通业务用户 / 管理员 | 分别具备与不具备重启实例权限 | 调用重启实例接口 | 普通用户被拒绝;管理员重启后审批历史同时可见原实例与新实例,业务数据保留 | 接口、页面、数据库 |
| AC-PL-006 | 建设规划/工可研究编制、报审、批复经办人 | 同一项目下需建多条阶段任务 | 分别新建编制、报审、批复任务并提交 | 每条任务列表显示 1 条阶段记录与 1 个流程实例,成果版本号为 1;同一项目的多条阶段任务在项目台账聚合 | 页面、数据库 |
| AC-PL-007 | 系统(无人工操作) | 建设规划/工可研究某阶段已走到「已通过」 | 查看状态跟踪台账 | 自动生成引用记录,来源类型为来源模块编码;同一来源阶段记录重复触发不重复生成;引用记录不进入审批(无阶段记录、无成果版本、无待办) | 页面、数据库 |
| AC-PL-008 | 退回场景发起人 | 单据被退回至申请人节点 | 修改后重新提交 | 状态回到进行中,沿用原流程实例,原审批记录保留,新增办理记录可查 | 页面、流程时间线、数据库 |
| AC-PL-009 | 各模块查看人员 | 具备页面权限 | 打开列表「详情」 | 进入流程工作台只读视图,可查看流程图、审批历史(含发起单位)与重启实例入口;业务表单只读 | 页面 |
8. 需求来源与待决项
8.1 关键结论来源
| 编号 | 结论 | 来源 | 最近核对日期 |
|---|---|---|---|
| S-PL-001 | 模块范围与 5 个业务入口(项目储备:储备清单、状态跟踪;规划报建:线网规划、建设规划、工可研究) | 用户确认、V4 PDF | 2026-09-20 |
| S-PL-002 | 审批路线节点顺序以整体审批流程图为准,图片版本的整体架构与 9 条已发布流程逐节点一致 | 用户确认、流程定义回读 | 2026-09-20 |
| S-PL-003 | 5 个模块统一四页模型,列表「详情」直接进入流程工作台只读视图;节点意见由流程时间线呈现,不保留独立审批记录表 | 用户确认(2026-09-20 逐条裁决)、原型图片版 | 2026-09-20 |
| S-PL-004 | 阶段性任务口径:编制/报审/批复各建独立任务,每条任务 1 条阶段记录、1 个流程实例,成果版本从 1 起 | 用户确认(定稿)、开发库回读 | 2026-09-20 |
| S-PL-005 | 项目/线路口径:按已解耦的业务项目关联,关联保存名称快照;线路多选不拆任务 | 用户确认、原型批注 | 2026-09-20 |
| S-PL-006 | 二级单位与开投集团口径:集团根部门为母公司,所属单位(二级公司)为二级单位;发起方式在本期一律做成选人 | 用户确认(2026-09-17) | 2026-09-20 |
| S-PL-007 | 退回退回到上一节点,流程定义不需要绘制退回连线 | 用户确认、引擎实现查证 | 2026-09-20 |
| S-PL-008 | 意见征求按会签实现(会签比例 100% + 动态注入本次选中部门接收人),部门各自回写、任一部门退回即本轮未通过并回到申请人节点 | 用户确认、实测 | 2026-09-20 |
| S-PL-009 | 状态跟踪自动引用仅在来源阶段「已通过」后生成,来源类型取来源模块编码,按来源阶段记录幂等,不参与审批 | 用户确认、实测(生成 5 条引用记录) | 2026-09-20 |
| S-PL-010 | 重启流程实例仅管理员具备,原实例与历史完整保留 | 用户确认(2026-09-17 第 10 条) | 2026-09-20 |
| S-PL-011 | 文件目录对接采用预留方式:成果文件按直接上传保存引用,预留目录引用来源字段与目录标识 | 用户确认(2026-09-17 第 11 条) | 2026-09-20 |
| S-PL-012 | 数据范围默认不做单位隔离 | 用户确认(2026-09-17 第 7 条) | 2026-09-20 |
| S-PL-013 | 专题类型由单选改为多选,由关系表承载;部门意见补附件上传 | 用户确认(2026-09-20 第 6 条) | 2026-09-20 |
| S-PL-014 | 快捷意见与成果明细列名按用户确认口径统一(9 个明细列名) | 用户确认(2026-09-20 第 5 条) | 2026-09-20 |
| S-PL-015 | 跨模块共用页面与入口一律静态注册固定路由,不依赖菜单授权 | 用户确认(2026-09-20 第 7 条) | 2026-09-20 |
| S-PL-016 | 权限按用户缓存 30 天,补授必须经「角色管理 → 授权保存」触发缓存失效;三个规划管理角色已按该路径完成补授并验证即时生效 | 实测(开发库) | 2026-09-20 |
8.2 待确认事项
| 编号 | 问题 | 影响 | 当前建议 | 状态 |
|---|---|---|---|---|
| Q-PL-001 | 台账视图权限码口径(已修复):最终取值统一为菜单与角色授权口径 planning:ledger:task / planning:ledger:project;后端 5 个控制器的 @SaCheckPermission 与前端 PlanningTaskPage.vue 的两处 v-hasPermi 已由 planning:<模块>:taskLedger / planning:<模块>:projectLedger 改为该口径,菜单权限串、后端注解与前端指令三处逐字一致 | 任务台账/项目台账切换按钮的显示与台账接口鉴权 | 已完成对齐;后续可在新授权角色下复核台账接口鉴权结果(本轮未实测) | 已修复(2026-09-20,代码与文档口径一致) |
| Q-PL-002 | 意见征求完成后的「确认」节点办理人来源:部门接收人提交意见时不传下一办理人,引擎按实例中残留的 nextHandlerId 变量绑定确认节点;其他路径下确认节点办理人由办理弹窗的选择审核人确定 | 确认节点的实际办理人 | 端到端复验时确认节点仍取到残留变量中的办理人;建议在并行汇聚路径中显式指定确认节点办理人 | 待确认(2026-10-09 复测仍未显式指定) |
| Q-PL-003 | 「其他部门」征求意见的范围与数量:2026-10-09 起改为固定四部门(运营管理部/资产管理部/建设管理部/其他部门)各 1 名接收人,「其他部门」为固定第 4 个节点、不再由用户自由增减与设定上限(原设计默认「可选任意启用部门、上限 3」作废) | 意见征求选择范围与待办数量 | 按固定四部门执行;是否恢复「其他部门」可多选待业务方确认 | 待业务确认 |
| Q-PL-004 | 导出列的最终口径(默认按列表列 + 成果明细展开) | 导出文件内容 | 按默认执行 | 待业务确认 |
| Q-PL-005 | 是否需要站内信/短信通知(默认不做) | 待办提醒方式 | 按默认不做 | 待业务确认 |
| Q-PL-006 | 「二级单位」判定口径与正式环境部门启用范围:开发库当前按祖级路径由近及远匹配所属单位关系;项目中心、运营管理部、资产管理部、建设管理部在开发库均为启用状态,正式环境是否同样启用待业务方确认 | 发起单位归属解析与意见征求部门候选 | 开发库按现状验证;正式环境按业务方确认的部门清单启用 | 待核对 |
| Q-PL-007 | 后端 13 项规划测试 2026-09-20 因 Mockito 插件加载失败未通过(2026-09-30 复测 13 项全部通过);附件上传交互在内置浏览器不可执行 | 相关结论的自动化回归覆盖与附件页面上传证据 | 自动化回归已补齐;附件上传按平台能力与接口证据报告 | 部分解决(附件页面交互仍未覆盖) |
| Q-PL-008 | 与工作台设计稿及确认口径的差异(已按代码与开发库回读记录到本文):①专题类型删除只受任务引用守卫,项目关联不阻止删除(R-PL-024);②任务与项目、任务与专题关联表实际无唯一约束;③后端测试用例为 5 项 + 8 项,设计稿所记 10 项/3 项拆分与实际不符(合计 13 项一致);④专题类型目录按隐藏菜单驱动,未按「共用入口一律静态注册」的口径静态注册(R-PL-031) | 规则表述、数据约束说明、验证范围记录与专题目录入口的注册方式 | 正式口径以本文与代码/开发库回读为准;专题目录是否改为静态注册待按实现口径统一 | ①—③ 已按实际修正;④ 待核对(未影响页面可用性) |
8.3 变更记录
| 版本 | 日期 | 变更 | 确认人 |
|---|---|---|---|
| v1.0 | 2026-09-20 | 依据模块简报与设计分析稿,结合当前代码、流程定义与开发库回读结果,建立正式需求分析文档 | 待确认 |
| v1.1 | 2026-09-20 | 同步台账权限码口径修复:三处统一为 planning:ledger:task / planning:ledger:project(菜单与角色授权口径),后端注解与前端指令已对齐,Q-PL-001 由「待核对」改为「已修复」 | 待确认 |
| v1.2 | 2026-09-29 | 新增 R-PL-033(7 条含发起方式网关的流程拆分为集团/二级单位两条独立定义,共 14 条新定义导入发布,按钮与流程一一对应;新增弹窗内增加「下一步审核人」选人字段)与 R-PL-034(二级单位判定报错文案明确化,开发库测试业主单位补配二级单位关系类型);旧基础定义保留兼容在途实例。存量提示:Q-PL-008 引用的 R-PL-031 在规则表中不存在,属历史编号笔误,本次未占用 031/032 编号以免混淆 | 用户问题清单与批注截图、前后端实现、开发库回读与内置浏览器端到端验证(集团/二级单位各发起一条实例,flowCode 与当前节点均正确) |
| v1.3 | 2026-09-30 | 按用户裁决取消发起方式的人员归属限制(R-PL-004/R-PL-034 改为按按钮决定发起方式、发起单位记录规则化),清理开发库全部规划在途实例与业务数据及 7 条不区分发起方式的基础定义;16 条流程定义全部重出图升级 V2 并导入发布(节点名称 7 字换行、网关不写名、关键边标签),仓库 v1 JSON 同步删除;新增/编辑弹窗「流程图」按钮改为常驻,三阶段模块未选工作阶段时点击提示(修复发起时看不到流程图的缺陷,R-PL-003);项目台账详情/办理入口补传发起方式修复跳转误报 | 用户 2026-09-30 指令与三项裁决(删 7 条基础定义、专题类型一并清空、按钮常驻+提示)、前后端实现、后端 13 项规划测试通过、内置浏览器端到端验证(V2 流程图渲染截图、集团人员以二级单位方式发起成功、项目台账详情跳转工作台正常) |
| v1.4 | 2026-10-01 | 集团根解析口径差异补记(R-PL-004/R-PL-034 细化):开投集团方式的发起单位只解析业主唯一 group 根(deptType=1 + orgType=group + 顶级 + 状态正常,按 orderNum、dept_id 排序取第一),不再按 parentId=0 取第一条,防止并存参建归集根时误取容器;发起人不新增归属限制,二级单位解析行为不变 | 组织架构与单位管理实施手册(2026-10-01)步骤 16C、PlanningInitiatorResolver 实现与单元测试 | 已实现 | | v1.5 | 2026-10-09 | 落地用户当日 14 项改动清单并复审:①列表「填报单位」由输入框改下拉(限业主单位 deptType=1 的公司/分公司);②新增/编辑与办理页去掉备注;③线网规划不选项目名称(列表筛选、列、表单与流程表单同步隐藏,后端放开项目必填);④专题类型改为「模板下拉引用 + 自定义名称输入 + 卡片内改名」(R-PL-012 扩展);⑤项目中心负责人节点提供意见征求决定面板;⑥意见征求改为按部门独立办理;⑦审核页保留填报成果内容与成果附件只读展示;⑧专题类型目录名称筛选改下拉。流程定义升级 V3,旧 V2 保留供在途实例。 | 用户 2026-10-09 改动清单与复审结论、前后端实现、流程定义回读、当时真实办理链路 | 已实现并验证 | | v1.7 | 2026-10-14 | 「其他部门」接收人改为选填;决定节点只强制运营、资产、建设三部门,重复接收人仍拒绝;储备清单 V2 源文件保留不覆盖,新增 V3 源文件以条件分支跳过未选择的 OTHER 节点并移除默认兜底办理人 | 用户明确说明、代码与服务单元测试、流程 JSON 静态几何检查 | 规则及源文件已实现 | | v1.8 | 2026-10-14 | 项目 MCP 核对储备清单 V3 版本、发布状态、节点/连线和重复行后,导入并发布集团/二级单位两条定义;以集团路线真实页面发起 V3 单据、选择「否」并办结,确认无会签分支正常结束。需会签与 OTHER 选填组合未创建真实接收人待办 | MCP 回读 FLOW_DEFINITION、FLOW_NODE、FLOW_SKIP、FLOW_INSTANCE、FLOW_HIS_TASK;内置浏览器真实办理 | 已发布;无会签分支验证通过;需会签分支待验收 | | v1.6 | 2026-10-13 | 业务细节与交互深度调优:①专题类型目录隐藏「关联项目」,作为各项目通用基础数据自主选用;②储备清单流程图重构为标准的并行网关(Fork/Join)多部门意见征求分支(运营、资产、建设、其他部门);③意见征求「其他部门接收人」调整为选填(非必填);④判断会签节点去除平铺审批意见与附件,点击流转统一弹出意见确认对话框;⑤会签汇聚节点「经办人确认」自动动态绑定为初审的项目中心经办人(同一人处理);⑥消除各部门意见征求情况在页面底部的重复冗余卡片;⑦在业务表单表格中直接展示各部门上传的审查附件并支持在线预览;⑧成果明细表格附件展示真实文件名并支持 PDF 等格式原生在线预览;⑨状态跟踪台账「规划报建阶段」列按来源模块正确映射(建设规划/工可研究阶段,不再统显编制阶段) | 用户 2026-10-13 问题清单、前后端实现、流程定义重构、单元测试与E2E验证 | 已实现并验证 |