Files
conti-docs/prd/modules/07-INV-库存.md
T

297 lines
25 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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%) |
| 本次新增待确认 | 4REQ-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.012026.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 测试环境」)均取自**测试环境且含测试数据**,`扫码入库` 与 `条码库存-入库记录` 为**空态**。这些截图可用于确认页面结构与控件,**不可用于推断线上真实数据形态与字段取值**。