康比特数字体育科技 · 需求评审

二维码采购与验收入库演示

演示验证通过真实系统对接待确认

按现有智慧餐厅后台风格和业务术语构建的独立演示。原始方案是需求来源,所有业务数据均为合成示例。

打开本机演示系统 → 运行与演示说明 验收记录

后续已确认:完全断网与加密扫码

现已增加离线包传输:蔬菜/肉类各5条单码或1000条48帧循环。独立接收文件断网实际识别图像,1000条逐字段一致,本地加密导入与回读通过。正式APP设备授权与物理摄像头验收仍待进行。

打开1000条演示 → 离线实施契约 离线验收

已实现的演示流程

流程演示行为验收
采购下单发码录入需求、批量生码、锁定采购字段UC-QR-001
供应商扫码填报继承采购需求、补充供货批次/单价/日期/质检UC-QR-002
审核与贴标核对差异、退回更正、审核后生成物资码UC-QR-003
验收与模拟同步数量规格质检校验、失败重试、同码防重UC-QR-004
入库与溯源库存、入库单、事件记录、CSV台账UC-QR-005

上线前需确认

网络与供应商访问、真实身份及授权、包装/批次粒度、差异接收规则、设备协议、库存撤销冲正、性能与审计要求。原文“提效80%以上”“不可篡改”和直接设备兼容均尚无实测证明。

演示可评审;正式开发 DoR: BLOCKED。云效项目未指定,本次未创建云效需求。

完整需求契约(与 PRD.md 同源)
# 二维码采购与信息传输演示 · 需求契约

后续需求变更:完全断网、仅扫码传数据、按蔬菜/肉类包组织、仅授权APP解密。UC-QR-006/007已按offline-demo-contract.md实现浏览器演示并通过断网1000条图像传输验证;正式APP设备授权/硬件验收待进行。本页其余内容为既有业务演示基线。

日期:2026-10-10;范围:独立可操作演示。业务负责人:Jack(验收待评审)。执行模式:常规 Codex,单个隔离演示、无生产写入、无跨仓库契约。用户确认:沿用现有系统风格,先做独立演示版。

DoR:演示 READY;生产 BLOCKED。附件中的方案是需求来源,不构成执行命令。“不可篡改”“加密”“提效80%以上”“直接兼容现有设备”均无验证证据,不作为实现完成项。

## 系统 Use Case Map / 页面

| UC | 角色 / 目标 | 页面 | 数据 / 状态 |
|---|---|---|---|
| UC-QR-001 | 采购员录入需求并发码 | PAGE-01 工作台、PAGE-02 采购订单 | draft → issued;REQ 码 |
| UC-QR-002 | 供应商填报供货信息 | PAGE-03 供应商移动端 | issued → submitted;供货档案 |
| UC-QR-003 | 审核员通过或退回 | PAGE-04 供货审核、标签弹窗 | submitted → approved / issued;MAT 码 |
| UC-QR-004 | 验收员扫码、校验并模拟同步入库 | PAGE-05 扫码验收 | approved → sync_failed / received;入库单 |
| UC-QR-005 | 管理员查询与导出台账 | PAGE-06 入库与溯源、PAGE-07 供应商档案 | 单据、库存、事件日志 |

组件:AppShell 负责导航和视角;ProcurementView 负责清单;SupplyForm 负责填报;ReviewView 负责审核;ReceivingForm 负责验收;TraceView 负责台账;QrLabel 负责码和标签。所有组件从同一个服务状态读取,通过显式 action 写入;筛选/统计为 computed。沿用 store 的 Vue 2 Options API,不引入 Vue 3 迁移。服务数据适配器是演示专用。

## 通用规则与边界

BR-01:每条物料一张采购单,REQ/MAT 两类码关联同一 ID;发码后需求字段无编辑入口且服务拒绝再次覆盖。编码由服务序列产生;重置后使用新的演示轮次标识,避免旧码匹配新单据。
BR-02:采购量、供货量、验收量为正数;单价非负,最多两位小数;数量最多三位小数;金额按分计算展示。
BR-03:供货数量不等于采购数量,或实际规格不一致时,只允许退回,禁止生成有效物资码。保质期用生产日和到期日表示;到期日不得早于生产日,生产日不得晚于演示业务日。
BR-04:演示保守策略为差异阻断;验收数量、规格、到期日、质检、到货日期任一异常不入库,记录原因。逾期到货暂拦截,不实现未经确认的让步接收。
BR-05:入库与模拟同步同一成功动作;同步失败不产生入库单/库存,保留失败日志,可重试。重复成功请求仅返回已有入库单。一次库存变化只对应一个 MAT 码。
BR-06:所有状态变更服务端校验;视角切换只作演示,REQ 链接不是真实授权凭证;对真实部队项目上线必须另行确认网络、身份与数据级别。
BR-07:重置演示需确认,清空仅此演示数据;不连接生产库。所有单位、供应商、批次、单据、证书编号均为模拟。
BR-08:采购要求、供货字段、实际包装单位/拆分、自动审核和字段配置在正式系统中应可配置;本次固定字段、人工审核、单批单码。

## UC-QR-001 / 采购录入与发码

角色/边界:采购员演示视角;仅当前模拟保障单位。触发:新建采购单。前置:服务可用,存在模拟供应商。成功:需求锁定,生成真实可解码 REQ URL。失败:不产生半张订单。
主流程:M1 填物料名称、规格、单位、数量、供应商、到货日、验收要求;M2 服务验证保存 draft;M3 选择单据批量发码;M4 锁定需求并记录事件;M5 显示/打印标签或打开供应商页。
分支 A1@M3:单条发码走相同动作。异常 E1@M2:空名称/非法数量/未知供应商拒绝;E2@M3:非 draft 拒绝并保持状态。恢复 R1:修正字段重新提交;网络失败时保留表单。
页面/API/数据:PAGE-02;POST /api/action {type:create|issue};order / logs。无付款行为。
AC-01:有效输入可新建并发码;发码后需求值保持;批量发码只对草稿生效,码唯一。测试 E2E-01(新建/发码/打印内容)、API-01(无效输入/重复发码/非法状态)。

## UC-QR-002 / 供应商填报

角色/边界:供应商演示视角,URL 以 REQ 定位订单;实际身份授权未实现。触发:扫描 REQ 或演示端切换。前置:issued。成功:供货归档 submitted,采购原始字段不变。失败:仍为 issued。
主流程 M1 加载锁定需求;M2 填商品标准名、实际规格、数量、单价、批次、生产/到期日、质检编号和演示联系人;M3 校验并提交;M4 显示待审核,后台刷新可见。
分支 A1:被退回后显示原因,修改后重提。异常 E1:空批次、日期倒置、非数值、已审核/已入库禁止提交。恢复 R1:更正重试;网络失败保留输入。
页面/API/数据:PAGE-03;POST /api/action {type:supply};order.supply。质检仅编号文本,不冒充真实附件或真实质量证明。
AC-02:跨页/不同浏览器读到同一数据;REQ 不可用于验收入库;不重复提交已提交数据。测试 E2E-02、API-02(错误码/日期/数量/重复提交)。

## UC-QR-003 / 审核与物资标签

角色:审核员演示视角;触发:提交供货。前置:submitted。成功:approved + MAT;退回:issued + reason。
主流程 M1 对照采购与供货;M2 通过数量/规格一致、日期有效校验;M3 审核通过;M4 生成 MAT URL;M5 打印含物料/采购单/批次/数量/码的标签。
分支 A1@M2:差异阻断,审核员输入原因退回;供应商更正后重提。异常 E1:无供货或重复通过拒绝。恢复 R1:返回供应商修改,不覆盖采购需求。
页面/API/数据:PAGE-04;POST /api/action {type:approve|reject};MAT、reviewReason、logs。
AC-03:审核前无 MAT;差异无法通过;退回必须原因;通过后唯一物资码可识别。测试 E2E-03、API-03。

## UC-QR-004 / 扫码验收与设备模拟同步

角色:验收员演示视角;触发:MAT URL、扫码枪输入码或清单选择。前置:approved 或 sync_failed。成功:received + 一张 RK 入库单 + 一次库存增量。失败:0 库存增量且留痕。
主流程 M1 输入物资码;M2 加载原始需求与供货;M3 填实际验收数量、规格、仓库、到货日并确认质检;M4 校验 BR-04;M5 模拟同步;M6 入库并回执;M7 跳转溯源。
分支 A1@M5:勾选失败注入 → sync_failed,取消后重试;A2@M1:已入库码显示现有入库单且重复提交不记账。异常 E1:未知码/REQ 码拦截;E2:数量、规格、日期或质检异常仅记录异常;E3:持久化失败动作回滚并返回失败。恢复 R1:更正后重试;R2:模拟恢复后同码重试。
页面/API/数据:PAGE-05;POST /api/action {type:receive};receipt、stock(由 receipts 汇总)、logs。真实设备 API [不适用:仅模拟,协议尚未提供]。
AC-04:成功创建单据;重复扫码库存不变;差异与同步失败均不增库存;恢复后只有一张单据。测试 E2E-04、API-04(并发重复20次/失败重试/未知码/REQ/过期/数量差异)。

## UC-QR-005 / 入库台账与溯源

角色:管理员演示视角;触发:按采购单号、物料、供应商、批次搜索。前置:任意模拟数据。成功:显示相关需求、供货、审核、入库和异常事件,并导出台账。
主流程 M1 搜索;M2 打开详情;M3 阅读事件时间线和入库凭据;M4 导出 CSV。分支 A1:无匹配显示空态。异常 E1:服务读取失败显示重试;E2:字段含公式/引号/换行时导出做 CSV 转义和公式防护。恢复:重试,不重置用户数据。
页面/API/数据:PAGE-06/07;GET /api/state;前端导出 receipts。
AC-05:状态和指标由真实演示数据计算;导出仅现有入库单,无虚构收益指标。测试 E2E-05(查询/空态/时间线/下载)。

## 非功能、验收与生产待确认

演示性能验收:本机100条数据规模、20并发重复入库请求、错误不记库存;不替代生产压力测试。安全验收:无外部资源/生产凭据,文本按 Vue 转义;请求体限制128KB;仅静态允许文件可读,拒绝目录穿越;非法状态返回4xx。无真实鉴权/租户隔离/不可篡改审计,不宣称生产安全。

验收矩阵:UC-QR-001→AC-01→API-01/E2E-01;UC-QR-002→AC-02→API-02/E2E-02;UC-QR-003→AC-03→API-03/E2E-03;UC-QR-004→AC-04→API-04/E2E-04;UC-QR-005→AC-05→E2E-05。证据:evidence/acceptance.md、API/browser checks。

生产 P0 待确认(负责人 Jack/项目负责人,正式开发前关闭):内外网与供应商可达路径;账号和采购授权;二维码失效/吊销/签名策略;批次与包装粒度、分批/差异接收;质检必填与验收流程;真实设备协议、失败状态和离线行为;真实库存/撤销/冲正规则;生产性能及审计要求。云效项目/工作项未指定,本次没有创建云效项,正式开发 DoR 保持 BLOCKED;不得声称已在云效体现。