# 4.7 库存

> **本文件是【库存 INV】模块需求的编辑入口。**
> 主文件 [`../Continental-Retail-APP-PRD.md`](../Continental-Retail-APP-PRD.md) 第 4.7 节已于 2026-08 从本文件回灌（V1.1），此后的需求变更仍改本文件、再回灌。
> **两者不一致时以本文件为准。** 目录约定见 [`README.md`](./README.md)。

| 项 | 值 |
| --- | --- |
| 模块码 | INV |
| V1.0 章节 | 4.7 |
| 描述粒度 | 6 维精简模板 |
| 需求依据 | 现状截图反推 |
| 现状承载系统 | O2O（库存查询、扫码入库）+ ROOS（条码库存、扫码出库） |
| 需求条数 | 11（待确认 9，完成度 18%） |
| 本次新增待确认 | 4（REQ-INV-008 / 009 / 010 见[附-5](#附-5-本次拆分新增发现待业务确认)；REQ-INV-011 见[附-1](#附-1-业务数据字典主文件附录-a)） |
| 配图 | 12 张（设计稿 1 / 现状-O2O 9 / 现状-ROOS 2） |

模块概要

---

> 底部导航的三版方案中，业务菜单版有「库存」tab、设计稿 5 tab 方案有「入库」tab（见[三版底部导航方案](./02-HOM-APP首页与导航.md#425-导航收敛与角色化配置)）。本节内容由现状截图反推。

**业务目标** —— 把「查得到货、扫得进库、对得上账」收敛到 App 内，解决[痛点 2.3](../Continental-Retail-APP-PRD.md#23-进销存--erp-数据)中「门店无法实时判断可售库存」的问题

**入口** —— 底部导航「库存 / 入库」tab；首页快捷入口「扫码入库」「扫码出库」；采购收货流程

**页面内容** —— 库存查询（SKU 列表 + 四级轮胎参数筛选）、扫码入库记录、扫码出库、条码库存（入库记录 / 出库记录 / 在库条码）

**主流程**：

- 查询：选择搜索类型 → 输入关键字或逐级筛选 → 查看 SKU 库存状态与结算价
- 入库：扫描轮胎条码 → 校验 → 写入在库条码 → 生成入库记录

**权限规则** —— 店长全量；技工可查询与扫码入/出库，`TODO(REQ-INV-001)` 确认技工是否可见结算价

**数据来源** —— O2O（库存查询、扫码入库）、ROOS（条码库存、扫码出库）

## 4.7.1 库存查询

![设计稿-库存查询](../app-design-images/库存查询.png)

**页面内容** —— App 目标形态：搜索框 + 一行**五个**下拉筛选（胎面宽 / 扁平比 / 直径 / 花纹 / **黑科技**），主体为 SKU 卡片列表，卡上含库存状态标签与小程序结算价（稿中含普利司通 / 米其林 / 倍耐力，规格与级别为占位数据）。

**关键交互** —— ①点搜索框输入关键字 → 检索；②点五个下拉任一 → 展开取值面板，逐级收窄；③上下滑动卡片列表。稿中**未画**搜索类型切换、未画筛选重置入口、未画分页或上拉加载。

**可用角色** —— 店长 ✅ 全量；技工 ✅ 可查询。卡片右下「小程序结算价」对技工是否可见未定 `TODO(REQ-INV-001)`——若判定不可见，本卡片布局需出一版无价格的技工态。

**需求关联** —— [REQ-INV-002](#474-业务规则) SKU 与产品编码、[REQ-INV-003](#474-业务规则) 库存状态覆盖、[REQ-INV-004](#474-业务规则) 筛选维度

![现状-O2O 库存查询](../mini-program-images/O2O/库存查询.png)

**页面内容** —— O2O 小程序现状：搜索行为「搜索类型下拉 + 输入框 + 搜索按钮」三段式，筛选行只有**四个**（无黑科技），列表为通栏分隔行含产品编码、库存状态、商品名与小程序结算价，**本图为测试环境数据**（编码多值且被截断、库存状态列大多为空）。

**关键交互** —— ①点「产品信息 ▾」→ 切换搜索类型（见下一张图）；②输入关键字点「搜索」→ 检索；③点四个筛选任一 → 展开取值面板；④上下滑动列表。

**可用角色** —— 店长 ✅；技工 ✅ 可查询，结算价可见性待定 `TODO(REQ-INV-001)`。

**需求关联** —— [REQ-INV-002](#474-业务规则)（一行多编码正是本图实证）、[REQ-INV-003](#474-业务规则)（库存状态大面积为空正是本图实证）、[REQ-INV-004](#474-业务规则)（促销标签的去留）

![现状-O2O 库存查询-搜索类型选择](../mini-program-images/O2O/库存查询-搜索类型选择.png)

**页面内容** —— 「产品信息」下拉的展开态，浮层给出**产品信息**（当前选中）与**产品code** 两个搜索类型，其余区域被遮罩。

**关键交互** —— ①点搜索行「产品信息 ▾」→ 展开 / 收起本浮层；②选「产品信息」→ 按商品名称检索；③选「产品code」→ 按产品编码检索；④点遮罩区 → 收起浮层。

**可用角色** —— 店长 ✅；技工 ✅。

**需求关联** —— [REQ-INV-002](#474-业务规则)——现状把「产品信息」与「产品code」做成两种并列的搜索类型，正是「主键到底是 SKU 还是产品编码」这一口径问题在交互层的外显；App 若统一为 SKU，这个下拉是保留还是取消需一并裁决。

**四级轮胎参数筛选**：胎面宽、扁平比、直径、花纹逐级收窄。以下四张图为四级筛选各自展开后的取值面板。

![现状-O2O 库存查询-筛选胎面宽](../mini-program-images/O2O/库存查询-筛选胎面宽.png)

**页面内容** —— 「胎面宽」的展开态，面板为 4 列 chip 网格、实测 20 项取值（`0`、`13`、`175`…`325`），底部并排「重置」「确认」。

**关键交互** —— ①点 chip 选取值（**单选还是多选本图无法确认**，图中无任何 chip 处于选中态）；②「重置」清空本级已选；③「确认」应用筛选并收起面板；④点遮罩收起。

**可用角色** —— 店长 ✅；技工 ✅。

**需求关联** —— [REQ-INV-004](#474-业务规则)；取值中的 `0` 与 `13` 不是合法胎面宽 → [REQ-INV-008](../Continental-Retail-APP-PRD.md#1027-库存inv)

![现状-O2O 库存查询-筛选扁平比](../mini-program-images/O2O/库存查询-筛选扁平比.png)

**页面内容** —— 「扁平比」的展开态，结构同上但取值远多于胎面宽（首屏可数 60 余项且可继续滚动，第 2、3 项即为 `ssss` 和 `测试`），**本图底部被截断**未拍到按钮。

**关键交互** —— ①上下滚动取值网格；②点 chip 选取值；③滚到底部使用重置 / 确认（本图未拍到该区域）。

**可用角色** —— 店长 ✅；技工 ✅。

**需求关联** —— [REQ-INV-004](#474-业务规则)；取值含 `ssss`、`测试` 两个非数值项，且 `107` / `120` / `255` 等远超乘用车胎扁平比常见区间（约 25–80）→ [REQ-INV-008](../Continental-Retail-APP-PRD.md#1027-库存inv)

![现状-O2O 库存查询-筛选直径](../mini-program-images/O2O/库存查询-筛选直径.png)

**页面内容** —— 「直径」的展开态，结构同前两级，取值同样 60 余项且可滚动（**首项即 `测试`**），底部截断。

**关键交互** —— 同扁平比：滚动网格 → 点 chip 选取值 → 底部重置 / 确认。

**可用角色** —— 店长 ✅；技工 ✅。

**需求关联** —— [REQ-INV-004](#474-业务规则)；**列表首项即为 `测试`**，且含 `348` 等远超乘用车轮辋直径区间（13–24 英寸）的取值 → [REQ-INV-008](../Continental-Retail-APP-PRD.md#1027-库存inv)

![现状-O2O 库存查询-筛选花纹](../mini-program-images/O2O/库存查询-筛选花纹.png)

**页面内容** —— 「花纹」的展开态，4 列 chip 网格完整拍到全部 42 项取值，超长名称在 chip 内以 `…` 截断。

**关键交互** —— ①点 chip 选取值；②「重置」/「确认」；③点遮罩收起。

**可用角色** —— 店长 ✅；技工 ✅。

**需求关联** —— [REQ-INV-004](#474-业务规则)；本图是四级筛选数据质量问题最集中的一张 → [REQ-INV-008](../Continental-Retail-APP-PRD.md#1027-库存inv)：测试残留（`bang123`、`cpsx`、`测试`、`自动化测试`、`CPC2自动…`、`CC7item` / `CSC5 item` / `MC6 item`）、疑似重复（`CCC LX2` 与 `CCCLX2`、`UC6 SUV` 出现两次）、字段串位（`123/45R` / `17` / `195/55R` 是规格串误入花纹字段）、以及长名截断导致的不可辨识。

**现状与目标的三处差异**（均需确认）：

| # | 现状（O2O） | 设计稿（App） | 说明 |
| --- | --- | --- | --- |
| 1 | 主键是**产品编码**，且一行可能是逗号分隔的多个编码 | 主键是 **SKU** | 两者是否同一概念、多编码如何在 SKU 视图下展示 —— `TODO(REQ-INV-002)` |
| 2 | 「库存状态」一列大多为空/置灰，仅个别显示「库存充足」 | 每条都有库存充足 / 紧张 / 缺货标签 | 库存状态数据是否已具备全量覆盖能力 —— `TODO(REQ-INV-003)` |
| 3 | 无「黑科技」筛选，有「促销」标签 | 有「黑科技」筛选，无促销标签 | 两个维度是否都保留 —— `TODO(REQ-INV-004)` |

库存查询现状与目标差异

## 4.7.2 扫码入库

![现状-O2O 扫码入库](../mini-program-images/O2O/扫码入库.png)

**页面内容** —— 入库**记录查询页**（非扫码页），筛选行为日期区间 `2026.04.01–2026.04.27` + 品牌下拉（**图中已选中「马牌」**），其下是橙色汇总条「总入：0 条」，**本图为空态**故记录行的字段构成无法确认。

**关键交互** —— ①点日期区间 → 打开日期筛选浮层（见下方第二张图）；②点品牌下拉 → 展开品牌筛选（见下方第一张图）；③汇总条「总入：N 条」随筛选条件变化；④页面本身**未见扫码按钮**——本页是入库**记录查询页**，扫码动作的入口在 O2O 首页而非此处。

**可用角色** —— 店长 ✅ 全量；技工 ✅ 可扫可查（一线高频操作）。

**需求关联** —— [REQ-INV-005](#474-业务规则) 入库写入目标、[REQ-INV-006](#474-业务规则) 扫码由 App 原生实现、[REQ-INV-007](#474-业务规则) 重复条码拒绝

![现状-O2O 扫码入库-筛选品牌](../mini-program-images/O2O/扫码入库-筛选品牌.png)

**页面内容** —— 品牌下拉的展开态，三个选项：`全部品牌` / `马牌`（✓ 当前选中）/ `维京`。

**关键交互** —— ①点品牌下拉 → 展开 / 收起；②点选项 → **单选**切换，选中项右端显示 ✓；③点遮罩 → 收起。

**可用角色** —— 店长 ✅；技工 ✅。

**需求关联** —— 品牌可选值只有马牌与维京两个 Continental 集团品牌，而 [4.7.1](#471-库存查询) 的库存查询里出现普利司通 / 米其林 / 倍耐力——两者覆盖范围不同，佐证「入库」与「库存查询」在现状下是两套口径不一致的数据，是 [REQ-INV-005](#474-业务规则) 需要一并裁决的部分。

![现状-O2O 扫码入库-自定义日期筛选](../mini-program-images/O2O/扫码入库-自定义日期筛选.png)

**页面内容** —— 日期区间的展开态，浮层有「月份选择」「自定义」两个 tab（当前停在**自定义**），其下为两个日期输入框构成区间，底部并排「全部日期」「确认」。

**关键交互** —— ①切换「月份选择」/「自定义」两种取期模式；②点任一日期框 → 唤起日期选择器；③「全部日期」→ 取消区间限制，查全部；④「确认」→ 应用区间并收起。

**可用角色** —— 店长 ✅；技工 ✅。

**需求关联** —— —（仅作现状佐证）。App 整合后是否保留「月份选择 / 自定义」双模式，随 [REQ-INV-005](#474-业务规则) 的入库页形态一并确定。

## 4.7.3 扫码出库与条码库存

![现状-ROOS 首页-扫码出库操作选择弹窗](../mini-program-images/ROOS/首页-扫码出库操作选择弹窗.png)

**页面内容** —— ROOS 首页扫码后弹出的模态弹窗「请选择需要执行的操作」，底部两个并排按钮 **「去延保」** 与 **「直接出库」**，背景可见 ROOS 首页与四宫格互跳入口，标题栏写明「MF ROOS **UAT 测试环境**」。

**关键交互** —— ①在 ROOS 首页点扫码入口扫描轮胎条码 → 弹出本弹窗；②点「去延保」→ 携该条码进入延保建单流程；③点「直接出库」→ 仅登记出库、不建延保单；④弹窗**未提供取消或关闭按钮**，能否点遮罩关闭本图无法确认。

**可用角色** —— 店长 ✅；技工 ✅（扫码出库属一线高频操作）。但「去延保」分支会创建延保单，而延保建单对技工是否开放尚未定 `TODO(REQ-WTY-003)`——**两处口径必须对齐**，否则会出现「技工能出库却在弹窗第二步被拦」的断流。

**需求关联** —— [REQ-INV-005](#474-业务规则)、[REQ-INV-006](#474-业务规则)；**出库时的「去延保 / 直接出库」二选一分支是本模块与[延保](./05-WTY-延保.md)的关键衔接点，现有 7 条需求中没有任何一条描述它** → [REQ-INV-009](../Continental-Retail-APP-PRD.md#1027-库存inv)

**条码库存**：在「我的」菜单中点击「条码库存」，进入「条码库存」，tab 为**入库记录、出库记录、在库条码**。

![现状-ROOS 条码库存-入库记录](../mini-program-images/ROOS/条码库存-入库记录.png)

**页面内容** —— 条码库存页：橙色头部含搜索框与一个独立的扫码图标，其下三个 tab（**入库记录**选中 / 出库记录 / 在库条码）与筛选行 品牌 / 选择日期 / **是否有效**，**本图为空态**故记录行的字段构成无法确认。

**关键交互** —— ①切换入库记录 / 出库记录 / 在库条码三个 tab；②搜索框按商品编号或名称检索；③点右侧扫码图标 → 扫码直接定位条码；④三个下拉分别按品牌、日期、有效性筛选；⑤「清除筛选」一键复位全部筛选条件。

**可用角色** —— 店长 ✅ 全量；技工 ✅ 可查。本页在 ROOS 中的入口位于「我的」菜单下，App 整合后入口位置需随[导航收敛](./02-HOM-APP首页与导航.md#425-导航收敛与角色化配置)重新安排。

**需求关联** —— [REQ-INV-005](#474-业务规则) 入库写入目标、[REQ-INV-007](#474-业务规则) 重复条码；「**是否有效**」这个筛选维度说明条码存在**有效 / 失效（作废）**两种状态，而现有需求未定义该状态、也未定义谁能作废条码 → [REQ-INV-010](../Continental-Retail-APP-PRD.md#1027-库存inv)

> **入库来源双写问题**：扫码入库在 O2O 和 ROOS 两侧都有记录（O2O 的「扫码入库」与 ROOS 的「条码库存-入库记录」），[经营业绩](./12-PRF-经营业绩与报表.md#412-经营业绩与报表)同时统计「扫码入库总数」与「扫码入库门店数」。整合后是一次扫码双写、还是以其中一侧为准 —— `TODO(REQ-INV-005)`，这是本模块的关键前置决策。

## 4.7.4 业务规则

**REQ-INV-001 结算价可见性** —— 技工是否可见小程序结算价待定 `TODO(REQ-INV-001)`

**REQ-INV-002 SKU 与产品编码** —— 主键口径待统一 `TODO(REQ-INV-002)`

**REQ-INV-003 库存状态覆盖** —— 库存状态标签的数据覆盖率与刷新频率待定 `TODO(REQ-INV-003)`

**REQ-INV-004 筛选维度** —— 黑科技 / 促销两个维度的取舍待定 `TODO(REQ-INV-004)`

**REQ-INV-005 入库写入目标** —— 扫码入库的权威写入目标待定 `TODO(REQ-INV-005)`

**REQ-INV-006 扫码实现** —— 入库/出库扫码均为 App 原生实现（[REQ-INT-003](../Continental-Retail-APP-PRD.md#73-f6-集成边界)）

**REQ-INV-007 重复条码** —— 同一条码重复扫描应拒绝并提示已入库时间与门店

**REQ-INV-008 筛选取值清洗** —— 品牌 / 花纹 / 规格 / 级别四级筛选的取值直接取自库存主数据，现状含测试残留、越界值、疑似重复与字段串位。App 是照搬现状取值还是由后端出清洗后的枚举，待定 `TODO(REQ-INV-008)`

**REQ-INV-009 扫码出库的延保分支** —— 现状扫码出库后弹窗强制在「去延保 / 直接出库」二选一，是库存与[延保](./05-WTY-延保.md#45-延保)的衔接点。App 是否保留该弹窗、传递哪些参数、技工能否走「去延保」，待定 `TODO(REQ-INV-009)`

**REQ-INV-010 条码有效性状态** —— 条码存在有效 / 失效两态，其流转规则、作废权限、作废后能否重新入库，以及与 REQ-INV-007 重复校验的关系待定 `TODO(REQ-INV-010)`

**REQ-INV-011 字段清单缺失** —— [附录 A](../Continental-Retail-APP-PRD.md#附录-a-业务数据字典) 未收录本模块的字段清单，需业务补齐后再定接口契约 `TODO(REQ-INV-011)`

## 4.7.5 验收标准

1. 四级参数筛选任意组合下，列表结果与筛选条件一致，清空筛选可一键还原；
2. 同一条码重复扫描时给出明确提示，不产生重复入库记录；
3. 扫码入库在断网时可暂存，恢复网络后批量提交且不重复；
4. 库存状态标签与结算价来自同一次查询，不出现价格已更新而状态未更新的错位。

---

## 附：本模块归拢信息

> 以下内容从主文件的其它章节归拢而来，便于本模块独立评审。**回灌主文件时不处理本分界线以下的部分**——主文件的附录仍是全局视图。

### 附-1 业务数据字典（主文件附录 A）

**主文件[附录 A 业务数据字典](../Continental-Retail-APP-PRD.md#附录-a-业务数据字典)未收录本模块。** 附录 A 现有 A.1 登录、A.2 首页、A.3 销售、A.4 提醒、A.5 采购、A.6 延保、A.7 门店管理、A.8 经营分析与财务、A.9 个人中心共 9 节，库存（INV）无对应节。

本模块涉及的字段（SKU / 产品编码、库存状态、小程序结算价、胎面宽 / 扁平比 / 直径 / 花纹、条码、入库时间、操作人、条码有效性等）目前散落在正文与截图中，**未形成字段清单，也未标注权威数据来源**。此处不自行编造字段表，需业务与架构补充 —— `TODO(REQ-INV-011)`。

同样缺失的还有返利中心（RBT）、营销与会员（MKT）、福利兑换（MSP）三个模块，见 [`README.md` 待办](./README.md#状态与待办)。

### 附-2 权限矩阵（主文件附录 B 本模块分行）

**图例**：✅ 完整权限 · 🔸 受限（详见备注）· ⚙️ 需店长/后台显式授权 · ✗ 无权限 · ❓ 待确认

| 功能 | 店长 | 技工 | 备注 / 待确认 |
| --- | --- | --- | --- |
| 库存查询 | ✅ | ✅ | |
| 查看小程序结算价 | ✅ | ❓ | `TODO(REQ-INV-001)` |
| 扫码入库 / 出库 | ✅ | ✅ | 一线高频操作 |

库存模块权限矩阵（摘自主文件[附录 B](../Continental-Retail-APP-PRD.md#附录-b-权限矩阵)）

适用的全局权限实施规则：接口层强制（REQ-ACC-004）；⚙️ 类由店长或后台经[人员管理「可用系统」](./09-STM-门店管理.md#49-门店管理)授予（REQ-ACC-005）；**🔸 与 ❓ 项在待确认关闭前，一律按更严格的一侧实现**（REQ-ACC-006）；权限变更后用户下次进入 App 即生效（REQ-ACC-007）。

> 本模块新增的三条待确认项也各带权限口径：[REQ-INV-009](#附-5-本次拆分新增发现待业务确认) 的「去延保」分支须与延保建单权限 `TODO(REQ-WTY-003)` 对齐；[REQ-INV-010](#附-5-本次拆分新增发现待业务确认) 的条码作废属高风险操作，建议默认仅店长。

### 附-3 待确认项（主文件 10.2.7）

| 编号 | 待确认内容 | 建议决策方 |
| --- | --- | --- |
| REQ-INV-001 | 技工是否可见小程序结算价 | 业务 |
| REQ-INV-002 | SKU 与产品编码的口径统一（一行多编码如何呈现） | 业务 / 架构 |
| REQ-INV-003 | 库存状态标签的数据覆盖率与刷新频率 | 业务 |
| REQ-INV-004 | 「黑科技」与「促销」两个筛选维度的取舍 | 产品 |
| REQ-INV-005 | **扫码入库的权威写入目标（O2O / ROOS / 双写）** | 架构 |

库存模块待确认项（摘自主文件 [10.2.7](../Continental-Retail-APP-PRD.md#1027-库存inv)，5 条）

**本次拆分新增 4 条**（回灌主文件时并入 10.2.7）：

| 编号 | 待确认内容 | 建议决策方 |
| --- | --- | --- |
| **REQ-INV-008** | **四级筛选取值需数据清洗** —— 现状取值含测试残留、越界值、疑似重复与字段串位，详见[附-5](#附-5-本次拆分新增发现待业务确认) | 业务 / 架构 |
| **REQ-INV-009** | **扫码出库的「去延保 / 直接出库」分支** —— 本模块与延保模块的衔接点，现有需求完全未描述 | 产品 / 业务 |
| **REQ-INV-010** | **条码有效性状态** —— 有效 / 失效（作废）两态的流转规则、作废权限与重新入库规则均未定义 | 业务 / 架构 |
| **REQ-INV-011** | **本模块字段清单缺失** —— 主文件附录 A 无库存节，字段与权威数据来源需业务与架构补齐，详见[附-1](#附-1-业务数据字典主文件附录-a) | 业务 / 架构 |

合计 9 条待确认（原 5 条 + 新增 4 条）。回灌时需同步[附录 D.2](../Continental-Retail-APP-PRD.md#d2-模块级追溯汇总) 的 INV 行（7 / 5 / 29% → 11 / 9 / 18%）与第 10.2 节总数。

### 附-4 配图清单（主文件附录 C 4.7 节）

| 序 | 说明 | 文件 |
| --- | --- | --- |
| 1 | 设计稿-库存查询（App 目标形态，五级筛选 + SKU 卡片） | `../app-design-images/库存查询.png` |
| 2 | 现状-O2O 库存查询（四级筛选 + 通栏行，多编码 / 库存状态空缺） | `../mini-program-images/O2O/库存查询.png` |
| 3 | 现状-O2O 库存查询（搜索类型选择：产品信息 / 产品code） | `../mini-program-images/O2O/库存查询-搜索类型选择.png` |
| 4 | 现状-O2O 库存查询（筛选胎面宽，20 项取值 + 重置/确认） | `../mini-program-images/O2O/库存查询-筛选胎面宽.png` |
| 5 | 现状-O2O 库存查询（筛选扁平比，含 `ssss` / `测试` 脏值） | `../mini-program-images/O2O/库存查询-筛选扁平比.png` |
| 6 | 现状-O2O 库存查询（筛选直径，首项即 `测试`） | `../mini-program-images/O2O/库存查询-筛选直径.png` |
| 7 | 现状-O2O 库存查询（筛选花纹，42 项，脏值 / 重复 / 串位最集中） | `../mini-program-images/O2O/库存查询-筛选花纹.png` |
| 8 | 现状-O2O 扫码入库（空态，日期区间 + 品牌筛选 +「总入：N 条」汇总条） | `../mini-program-images/O2O/扫码入库.png` |
| 9 | 现状-O2O 扫码入库（筛选品牌：全部品牌 / 马牌 ✓ / 维京） | `../mini-program-images/O2O/扫码入库-筛选品牌.png` |
| 10 | 现状-O2O 扫码入库（自定义日期筛选，月份选择 / 自定义双 tab） | `../mini-program-images/O2O/扫码入库-自定义日期筛选.png` |
| 11 | 现状-ROOS 首页扫码出库（「去延保 / 直接出库」操作选择弹窗，UAT 环境） | `../mini-program-images/ROOS/首页-扫码出库操作选择弹窗.png` |
| 12 | 现状-ROOS 条码库存（入库记录 tab，空态，含「是否有效」筛选） | `../mini-program-images/ROOS/条码库存-入库记录.png` |

库存模块配图清单，12 张（设计稿 1 / 现状-O2O 9 / 现状-ROOS 2）。说明较主文件[附录 C](../Continental-Retail-APP-PRD.md#附录-c-图表清单)已按实际截图内容补充，主文件附录 C 回灌时应一并更新。

### 附-5 本次拆分新增发现（待业务确认）

以下三条**不在主文件现有 7 条 INV 需求内**，是本次逐张核看 12 张截图时发现的、现有需求未覆盖的事项。编号接 REQ-INV-007 顺延，**尚未登记进主文件 10.2.7**，回灌时需一并并入并更新主文件的规模声明与附录 D.2 计数。

| 编号 | 待确认内容 | 证据 | 建议决策方 |
| --- | --- | --- | --- |
| REQ-INV-008 | **四级筛选取值需数据清洗**：现状取值直接取自库存主数据未做清洗，含测试残留（`ssss`、`测试`、`自动化测试`、`bang123`、`cpsx`、`CPC2自动…`、`*item`）、越界值（扁平比 `107`/`120`/`255`，直径 `348`，胎面宽 `0`/`13`）、疑似重复（`CCC LX2` vs `CCCLX2`、`UC6 SUV` ×2）、字段串位（`123/45R`、`195/55R` 落入花纹）。App 是照搬现状取值，还是由后端出清洗后的枚举？超长花纹名的截断展示如何处理？ | 本节图 4–7 | 业务 / 架构 |
| REQ-INV-009 | **扫码出库的「去延保 / 直接出库」分支**：ROOS 扫码出库后弹窗强制二选一，该分支是本模块与延保模块的衔接点，现有需求完全未描述。App 是否保留该弹窗？「去延保」传递哪些参数？技工能否走「去延保」（需与 `TODO(REQ-WTY-003)` 对齐）？弹窗能否取消？ | 本节图 11 | 产品 / 业务 |
| REQ-INV-010 | **条码有效性状态**：ROOS 条码库存有「是否有效」筛选，说明条码存在有效 / 失效（作废）两态。该状态的流转规则、谁有权作废、作废后是否可重新入库、与 [REQ-INV-007](#474-业务规则) 重复条码校验的关系均未定义。 | 本节图 12 | 业务 / 架构 |

本次拆分新增待确认项，3 条

> 另有一项非需求性观察：本模块 12 张截图中，`库存查询`、`库存查询-搜索类型选择` 的列表、以及 `首页-扫码出库操作选择弹窗`（标题栏写明「MF ROOS UAT 测试环境」）均取自**测试环境且含测试数据**，`扫码入库` 与 `条码库存-入库记录` 为**空态**。这些截图可用于确认页面结构与控件，**不可用于推断线上真实数据形态与字段取值**。
