docs(P21PWA1-5): PWA-1矩阵边界与回归清单收口
这个提交包含在:
@@ -1,8 +1,8 @@
|
||||
# 集成边界冻结(P19 / P19+IM-1 / P19+ERP-3 / R10 / P19+MCP-1 / P19+AI-1 / P20+TRAVEL-1 / P20+TRAVEL-2 / P20+TRAVEL-3)
|
||||
# 集成边界冻结(P19 / P19+IM-1 / P19+ERP-3 / R10 / P19+MCP-1 / P19+AI-1 / P20+TRAVEL-1 / P20+TRAVEL-2 / P20+TRAVEL-3 / P21+PWA-1)
|
||||
|
||||
**快照日期**:2026-03-10
|
||||
**当前基线**:`P19+IM-1`、`P19+ERP-1`、`P19+ERP-2`、`P19+ERP-3`、`P19+MCP-1`、`P19+AI-1` 与 `P20+TRAVEL-1`、`P20+TRAVEL-2`、`P20+TRAVEL-3` 已完成;当前运行时已落地企微群机器人 + 深链 + Outbox 异步派发的一期协同适配,以及 ERP 主数据 Pull、报销付款凭证切片、采购双阶段 journal / 归档摘要出站、资产台账摘要出站、Postgres MCP 只读工具基线、报销 / 采购 / 资产详情页 AI 只读建议挂件,以及差旅申请主单 / 行程段 / 审批预算锁定 / `travel_orders` 关联入站、混合双轨对公支付闭环与批次级对账摘要桥的三期差旅基线。
|
||||
**目标**:在保持核心域稳定的前提下,冻结 ERP / IM / AI / MCP / TRAVEL 的长期边界,并记录 IM 一期、ERP 三期、AI 一期与差旅一期的已实现范围、禁入规则以及 R10 之后的固定主线顺序。
|
||||
**快照日期**:2026-03-11
|
||||
**当前基线**:`P19+IM-1`、`P19+ERP-1`、`P19+ERP-2`、`P19+ERP-3`、`P19+MCP-1`、`P19+AI-1`、`P20+TRAVEL-1`、`P20+TRAVEL-2`、`P20+TRAVEL-3` 与 `P21+PWA-1` 已完成;当前运行时已落地企微群机器人 + 深链 + Outbox 异步派发的一期协同适配,以及 ERP 主数据 Pull、报销付款凭证切片、采购双阶段 journal / 归档摘要出站、资产台账摘要出站、Postgres MCP 只读工具基线、报销 / 采购 / 资产详情页 AI 只读建议挂件、差旅申请主单 / 行程段 / 审批预算锁定 / `travel_orders` 关联入站、混合双轨对公支付闭环与批次级对账摘要桥的三期差旅基线,以及浏览器 PWA 下的移动资产扫码、盘点快捷录入与离线队列重放。
|
||||
**目标**:在保持核心域稳定的前提下,冻结 ERP / IM / AI / MCP / TRAVEL / PWA 的长期边界,并记录 IM 一期、ERP 三期、AI 一期、差旅三期与 PWA 一期的已实现范围、禁入规则以及 R10 之后的固定主线顺序。
|
||||
|
||||
## 1. 总体原则
|
||||
|
||||
@@ -183,6 +183,19 @@
|
||||
- 不做真实商旅供应商清结算、拒付、退款回调、税分摊、复杂票规,也不新增 workflow 审批实例。
|
||||
- 若源数据变化,只允许新建下一批 reconciliation batch,不回刷已 finalized 的历史批次快照。
|
||||
|
||||
### 5.7 P21+PWA-1 已实现范围
|
||||
- 已新增 `/mobile/assets/scan`、导航入口与 `MobileAssetScanPage`,固定采用“相机扫码 + 手工输入兜底”的移动资产查找体验,不新增独立原生壳或平台私有 SDK。
|
||||
- 已固定扫码引擎优先使用浏览器 `BarcodeDetector`,不支持时回退到 `@zxing/browser`;相机不可用时仍允许通过 `assetNo / serialNo / name` 手工检索。
|
||||
- 已对现有 `GET /api/assets` 做最小扩展,新增 `q` 查询参数;匹配规则固定为 `asset_no` 精确匹配、`serial_no` 精确匹配、`name contains` 兜底模糊匹配,继续沿用现有资产读权限与 `mine` 语义。
|
||||
- 已把盘点录入固定在 `inventoryCheckId` 上下文内复用现有 `fetchInventoryChecks / startInventoryCheck / recordInventoryItems`,实现 `draft -> start`、`counting -> record`、`completed -> readonly` 三态,不新增移动专用后端协议。
|
||||
- 已新增 `IndexedDB` 离线队列,仅缓存“已解析出 `assetId` 的盘点结果”;联网后自动或手动重放,且以 `inventoryCheckId + assetId` 做 last-write-wins 去重。
|
||||
|
||||
### 5.8 PWA 一期明确不做
|
||||
- 不做原生 App、小程序、双栈移动壳,也不接企微 / 钉钉 / 浏览器私有扫码 SDK。
|
||||
- 不做 NFC、蓝牙、RFID、资产主数据全量离线镜像或完整离线盘点引擎。
|
||||
- 不做企微 / 钉钉深链直达、后台持续同步、复杂冲突合并;这些能力继续留给 `P21+PWA-2`。
|
||||
- 不改写现有资产台账详情路由,不新增 `/api/assets/lookup` 或其他移动专用后端路由。
|
||||
|
||||
## 6. 事件与通知交付规范
|
||||
|
||||
### 6.1 事件最小结构
|
||||
@@ -241,7 +254,7 @@
|
||||
## 9. R10 后续路线冻结
|
||||
|
||||
### 9.1 固定主线顺序
|
||||
- `P20+TRAVEL-3` 已完成后,当前固定后续主线顺序为:`P21+PWA-1 -> P21+PWA-2`。
|
||||
- `P21+PWA-1` 已完成后,当前固定后续主线顺序为:`P21+PWA-2`。
|
||||
- 历史主线顺序仍保持:`P19+MCP-1 -> P19+AI-1 -> P20+TRAVEL-1 -> P20+TRAVEL-2 -> P20+TRAVEL-3 -> P21+PWA-1 -> P21+PWA-2`。
|
||||
- 后续阶段继续遵循“先治理,再工具,再建议,再业务,再移动”的总顺序,不并行开启两个重业务 phase。
|
||||
- 每个 phase 固定遵循:`执行合同 CSV -> 方案批准 -> 开发 -> 测试 -> 文档矩阵收口 -> 合并 main`。
|
||||
@@ -258,8 +271,8 @@
|
||||
- `P20+TRAVEL-3` 固定负责核销闭环与 ERP / AP 摘要桥接;个人垫资报销继续与对公统付并存,不互相替代。
|
||||
|
||||
### 9.4 PWA 兑现顺序
|
||||
- `P21+PWA-1` 固定先做移动资产扫码与盘点增强,优先兑现一线资产作业的生产价值。
|
||||
- `P21+PWA-2` 固定后做离线动作队列与企微深链增强,继续复用现有 `APP_ORIGIN + targetPath` 深链规范。
|
||||
- `P21+PWA-1` 已完成移动资产扫码与盘点增强,优先兑现一线资产作业的生产价值,并固定采用浏览器 PWA + 离线队列重放路线。
|
||||
- `P21+PWA-2` 固定后做离线动作队列增强与企微深链增强,继续复用现有 `APP_ORIGIN + targetPath` 深链规范。
|
||||
- PWA 路线继续限定在浏览器 / PWA 栈内,不引入原生 App、小程序或双栈移动壳。
|
||||
|
||||
### 9.5 后置 backlog
|
||||
|
||||
在新工单中引用
屏蔽一个用户