文件
hyb-oa/docs/trialrun/R7E后功能边界审计.md
T

113 行
12 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# R7E 后功能边界审计
**文档状态**:R7E 后功能边界审计证据。
**分类**:审计证据。
**适用时间**:R7E 阶段验收通过后。
**关联 Issue**:`FBA`。
**最近审计**:2026-05-15。
**不得误读**:本文不替代 PRD、模块规约、产品口径、R7E/QAOPS8 连续合同,也不直接启动 P2 功能开发。
## 1. 结论摘要
- R7E 阶段验收已通过,当前 P0/P1 阻断为 0;2026-05-16 已完成 `R7E-19/R7E-20` 的 P2 排序与阶段收口,以及 `QAOPS8-19/QAOPS8-20` 的上线硬化阶段收口。
- 当前全端功能边界已经从“能跑主链路”进入“明确哪些是可验收主线、哪些是低频备用、哪些只做 P2 候选、哪些冻结”的阶段。
- 代码中存在差旅、ERP、AI、预算、付款批次、资产扫描等历史实现或开关,不等于当前 MVP/R7E 必须验收;当前边界仍以最新 Issue CSV、PRD、模块规约和产品口径为准。
- 付款批次、图片 OCR、组织账号主数据持续治理、测试数据/公网业务流稳定化、UX8 真机体验池、备份恢复演练和上线硬化,是 R7E 后最应优先整理的优化候选。
- 本轮只做审计和 Issue 草案,不改业务代码、不改 API/schema、不部署、不启用 `payment_batch_v1`、不开放图片 OCR。
## 2. 事实源和入口盘点
本次功能边界审计以这些本地事实源为准:
| 类型 | 入口 | 当前用途 |
| --- | --- | --- |
| 执行合同 | `issues/2026-05-13_17-11-44-r7e-human-trialrun.csv`、`issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv` | 判断 R7E 验收、问题分流和上线门禁状态 |
| 需求事实源 | `docs/海音达OA-MVP需求规格说明书.md`、`docs/产品口径.md`、`docs/需求-*.md` | 判断做什么、不做什么和验收口径 |
| 页面事实源 | `docs/产品设计规则.md`、`client/src/router/index.tsx`、`client/src/features/navigation/schema.ts`、`client/src/features/mobile/navigation.ts` | 判断 PC、移动和企业微信入口边界 |
| 后端事实源 | `server/src/app.js`、`server/src/routes/*`、`server/src/jobs/*`、`server/src/services/featureFlags/index.js` | 判断 API、作业、feature flag 和集成边界 |
| 证据事实源 | `docs/trialrun/人工试运行报告.md`、`docs/trialrun/项目级流程覆盖矩阵.csv` | 判断已通过验证和历史证据 |
端侧功能入口如下:
| 端 | 当前主入口 | 功能边界 |
| --- | --- | --- |
| PC 工作台 | `/portal`、`/workflow/tasks`、`/reimbursements`、`/leave-requests`、`/purchase-requests`、`/projects`、`/system/*` | 高密度审批、报销、请假、采购、项目/合同、财务复核、管理配置、导出和审计 |
| 移动/企业微信 | `/mobile`、`/mobile/approvals`、`/mobile/reimbursements`、`/mobile/leave`、`/mobile/notifications`、`/mobile/me`、`/mobile/capture` | 入口、免登、消息 deeplink、轻提交、补材料、查进度、处理待办;不承载企业微信原生审批 |
| 后端 API | `/api/auth`、`/api/workflow`、`/api/reimbursements`、`/api/invoice-pool`、`/api/leave`、`/api/purchase-requests`、`/api/portal`、`/api/notifications`、`/api/users` 等 | 权限单一事实源、业务状态流、OCR、通知、审计、导出、feature flag 和集成适配 |
| 后台作业 | OCR job、通知派发、workflow overdue reminder、integration outbox、verification、invoice archive | 异步处理和可重试外围联动;失败不得绕过核心业务权限或状态机 |
| 管理/运维 | `/system/*`、`/audit-logs`、`/ready`、`/metrics`、部署 Runbook、QAOPS8 | 账号、组织、功能开关、工作流定义、审计、上线门禁、备份恢复和只读排障 |
## 3. 功能边界矩阵
| 业务域 | 已验收 / 当前可用 | 可用但低频或备用 | P2 候选 | 当前冻结 |
| --- | --- | --- | --- | --- |
| 统一审批 | 报销、请假、采购提交审批;PC/移动处理待办;自审和 admin-only 越权拒绝;高风险操作二次确认 | 转审已覆盖报销、请假、采购;催办、超时提醒和历史一致性可用 | 通知模板、偏好设置、邮件通道解冻、更多业务域转审 | 复杂 BPM、审批设计器、并行会签、企业微信原生审批 |
| 报销 / OCR / 附件 | PDF 发票 OCR、查重、绑定、附件分离、重复票据可解释终态、移动 PDF-only 校验 | 票据中心、重复例外和 OCR 失败处理主要服务财务/管理员 | 图片 OCR、批量样票回归、OCR 异步体验增强 | 未授权样票、图片作为正式发票入口、AI 自动处理票据 |
| 请假 / 考勤修正 | 请假提交、审批、撤回、记录和移动查看;团队状态口径可解释 | 团队日历和假期日历依赖权限和配置 | 补卡、外出、加班完整移动体验;企业微信打卡原始数据同步 | 重造企业微信定位、人脸、Wi-Fi、排班和防作弊 |
| 采购 / 费用 | PC 采购创建、附件、审批和移动查看;费用标准 warning/block 已验证 | 供应商、预算预检、项目关联用于轻量治理 | 移动采购创建、供应商准入增强、轻量费用提示继续优化 | 复杂招采、重预算控制、ERP 实时写回 |
| 财务 / AP | 财务入口、AP 台账扫读、导出权限、项目字段、付款批次关闭空态 | `payment_batch_v1` 代码存在但当前关闭 | 付款批次启用窗口、付款闭环、正式导出验收 | 当前 R7E 不启用付款批次,不做真实支付或 ERP 凭证闭环 |
| 组织 / 权限 | 账号、主管、停用、角色、企业微信绑定、权限直连审计已阶段收口 | 管理员手册和只读审计可作为治理基线 | 主管缺失持续巡检、新员工入职流程、角色混授预警 | 通过 admin 权限代行业务审批、生产账号直接写修复 |
| 项目 / 合同 / 资产 | 项目轻管理、合同台账、资产台账和移动资产扫描已有入口 | 更偏低频运营和管理台账,按权限裁剪 | 项目费用/采购摘要增强、合同归档细化、资产盘点体验 | 重型项目管理、CRM、PLM、完整 WBS/甘特 |
| 企业微信 / 通知 | 入口、绑定、免登、个人应用消息 deeplink 已按代表设备关闭 | WeCom UA 自动化只作前置,真机只验证真实环境差异 | 通知模板、失败重试运营面板、更多绑定异常提示 | 企业微信原生审批、聊天/文件作为业务主库 |
| 运维 / QA | `/ready`、public bundle、live smoke、移动矩阵、真实 OCR、Go/No-Go 已形成门禁 | 远端只读检查、DORA/SLO 当前是轻量治理 | 恢复演练、SLO 门禁自动化、公网业务流测试数据稳定化 | 未确认窗口下的生产恢复、重置数据库、打印远端 env |
## 4. 问题与优化清单
当前没有未分流的 P0/P1 阻断。R7E 后建议按以下优先级处理:
| 优先级 | 事项 | 端侧影响 | 建议归属 |
| --- | --- | --- | --- |
| 高 | 付款批次启用与财务付款闭环决策 | PC 财务、移动财务入口、后端 `payment_batch_v1`、导出和审计 | 新 P2 财务合同或 BIZ 后续合同;不能混入 R7E 收口 |
| 高 | 公网业务流测试数据和 live 凭据链路稳定化 | QA、公网自动化、审批/报销/采购主流程 | `QAOPS8-19`;修正旧本地种子账号和公网 smoke 账号不一致的问题 |
| 中 | 图片 OCR 与批量样票回归 | 移动发票上传、PC 票据中心、OCR worker、样票治理 | 新 P2 OCR 合同;先锁样票授权、脱敏、feature flag 和回滚 |
| 中 | 组织账号主数据持续治理 | 管理员、审批链、企业微信绑定、权限直连 | ORG 后续合同或 QAOPS8 只读巡检;禁止直接写生产账号 |
| 中 | UX8 真机体验池 | 移动/企业微信卡片、详情字段、财务摘要、iPhone 12 间距观察 | `UX8-1..5`;只有可复现或真实反馈明确时才改 |
| 中 | 上线硬化和恢复演练 | 运维、备份、回滚、SLO、Go/No-Go | `QAOPS8-19/20`;真实恢复演练需另确认窗口 |
| 低 | 移动采购创建评估 | 移动采购入口和员工提交效率 | UX8 或 P2 采购合同;当前不默认实现 |
| 低 | 通知模板、偏好和邮件通道 | 通知中心、企业微信消息、可选邮件 | WF 后续合同;邮件缺 SMTP 或收件人时只能 SKIP |
## 5. 轻调研核对
本轮外部调研只做边界校准,不把云厂商或竞品能力直接转成需求。
- OCR:腾讯云官方文档显示,通用票据识别(高级版)支持 PDF 多页和多类型票据混合识别;混贴票据识别也覆盖多类标准报销票据。参考:[通用票据识别(高级版)](https://cloud.tencent.com/document/product/866/90802)、[混贴票据识别](https://cloud.tencent.com/document/product/866/37835)、[增值税发票识别](https://cloud.tencent.com/document/product/866/36210)。
- 对 hyb-oa 的含义:图片 OCR、OFD 或更多票种在技术上具备可行性参考,但当前试运行仍保持 PDF-only;如要开放必须另拆 P2,补样票授权、脱敏、字段归一化、feature flag、真实 provider 回归和回滚策略。
- 企业微信:企业微信能力以本仓库 `docs/需求-企业微信基础设施规约.md`、`docs/需求-统一审批中心规约.md`、R7E live smoke 和代表真机反馈为准;企业微信只做入口、身份、消息和 deeplink,不作为正式审批、附件主库或业务主库。
## 6. P2 / R7E 收口映射
| 建议归属 | 建议事项 | 验收边界 |
| --- | --- | --- |
| `R7E-19` | 根据 R7E 真实反馈调整 P2 候选优先级 | 已于 2026-05-16 完成排序和分流,不改功能 |
| `R7E-20` | R7E CSV、报告和提交收口 | 已于 2026-05-16 完成阶段收口;未完成项进入后续合同 |
| `QAOPS8-19` | 上线硬化收口、测试数据稳定化、恢复演练准备、Go/No-Go 缺口登记 | 已于 2026-05-16 完成阶段分流;不执行破坏性恢复 |
| `QAOPS8-20` | QAOPS8 状态回填、文档索引和证据归档 | 已于 2026-05-16 完成阶段收口;registry、diff 和 CSV 校验作为交付门禁 |
| `UX8` | iPhone12 间距、详情字段扫读、财务摘要、列表卡片反馈、移动采购创建评估 | 真实反馈驱动;体验修复不新增后端字段 |
| 新 P2 财务合同 | 付款批次启用、复核、执行、导出和审计闭环 | 必须先决定 feature flag、角色、测试账号、回滚和公网验收窗口 |
| 新 P2 OCR 合同 | 图片 OCR、批量样票、OFD/多票种能力评估 | 样票授权和脱敏先行;无授权样票不得写 PASS |
| 新 P2 组织治理合同 | 主管缺失、停用审批人、角色混授、企业微信绑定异常巡检 | 先只读审计,再按批准方案修复 |
## 7. 建议 Issue 草案
后续如果启动 P2,可按以下顺序拆分:
| Issue | 标题 | 范围 | 不做 |
| --- | --- | --- | --- |
| `P2-FIN-1` | 付款批次启用决策与最小闭环 | `server/src/routes/paymentBatches.js`、`server/src/routes/apOperations.js`、`client/src/pages/PaymentBatchesPage.tsx`、财务回归 | 不接真实支付、不写 ERP 实时凭证 |
| `P2-OCR-1` | 图片 OCR 与样票治理预检 | OCR provider、样票授权、PDF-only 兼容、feature flag | 不默认开放拍照发票入口 |
| `P2-ORG-1` | 组织账号主数据持续巡检 | 只读脚本、管理员手册、账号/主管/绑定异常摘要 | 不直接写生产账号数据 |
| `P2-QA-1` | 公网业务流测试数据稳定化 | live smoke 账号链路、Playwright 初始化、证据归档 | 不用重试掩盖真实缺陷 |
| `P2-UX-1` | UX8 真机反馈批次 | 移动卡片、详情、财务摘要、采购移动创建评估 | 不新增后端业务域 |
| `P2-OPS-1` | 恢复演练和上线硬化 | 备份、恢复演练窗口、SLO 门禁、只读排障 | 未确认窗口不执行生产恢复 |
## 8. 验证记录
本轮交付应以 `FBA-6` 执行结果为准:
- `validate_issues_csv.py` 校验本 FBA CSV。
- `rg` 核对 `R7E-19`、`QAOPS8-19`、`UX8`、`P2T`、付款批次、图片 OCR、冻结、企业微信和功能边界关键词。
- `node scripts/qa/audit-docs.mjs --check-registry` 校验文档登记。
- `git diff --check` 校验空白和 diff。
本报告是审计证据,不产生用户可测试功能变更;未部署,公网状态不变。