📋 需求规格文档

本文件记录了库存数据处理工具的全部业务规则,方便后续接手者理解和改进。

一、概述

处理两份库存 CSV 文件,生成一个包含两个 Sheet 的 Excel(.xlsx)。

二、文件自动识别

根据文件名判断类型:

文件名包含识别为
仓库仓库库存 (warehouse)
门店门店库存 (store)

上传前缀如 upload16676-1780889577- 会被自动忽略后再匹配。若文件名不含上述关键字则提示无法识别。

三、仓库库存处理规则

3.1 数据源列(原始 CSV 列名)

仓库编号、仓库名称、商品名称、SKU货号、国际条码、库存数、成本单价、库存金额、未税成本金额、可用库存、占用库存、在途库存、不可售卖数、大包装数、商品类别、主供应商、商品品牌、规格、单位、采购价、门店进价、毛利率、最后动销时间

3.2 筛选条件

列「仓库名称」的值必须包含以下关键字之一:

示例:中台宇培常温仓 命中「宇培」→ 保留

3.3 保留列

列名说明
SKU货号文本
国际条码文本
商品名称文本
可用库存数字(注意不是"库存数",是"可用库存"列)

四、门店库存处理规则

4.1 数据源列(原始 CSV 列名)

门店仓编号、门店仓名称、商品名称、SKU货号、国际条码、库存数、成本单价、库存金额、未税成本金额、可用库存、占用库存、在途库存、寄存数、不可售卖数、大包装数、商品类别、主供应商编号、主供应商名称、商品品牌、规格、单位、门店进价、门店售价、毛利率、门店编号、门店名称、最后动销时间

4.2 筛选条件

列「门店名称」的值必须包含以下关键字之一:

4.3 门店名称映射

原始名称映射为
折扣牛城市批发中心(中大门店)中大门
折扣牛城市批发中心(睿海中心店)睿海
万和城旗舰店万和

映射逻辑:先精确匹配 → 再模糊匹配(去括号后比对)→ 最后判断原始名称是否包含短名。

4.4 保留列(明细用)

列名说明
SKU货号文本
国际条码文本
商品名称文本
门店名称文本(已映射为短名)
库存数数字

五、门店库存透视表规则

六、Excel 输出结构

Sheet 名列数据来源
仓库库存筛选SKU货号、国际条码、商品名称、可用库存仓库 CSV 筛选后
门店库存透视SKU货号、国际条码、商品名称、{门店}库存门店 CSV 筛选 → 透视

七、修改指南

修改筛选关键字

仓库筛选:修改 processWarehouseFile() 中的 name.includes('宇培') || name.includes('冷冻')

门店筛选:修改 processStoreFile() 中的 storeName.includes('中大门') || ...

修改门店名称映射

修改 mapStoreName() 函数中的 map 对象和兜底逻辑。

修改保留列

仓库:修改 idx 和 warehouseData.push(),以及 Excel 导出中的 ws1Data 表头。

门店:修改 idx 和 storeData.push(),透视逻辑在 pivotMap 构建环节。

修改文件识别规则

修改 detectFileType() 函数中的关键字匹配逻辑。

八、依赖

最后更新:2026-06-08 | 版本:v2.0 | 初始来源:用户口述需求,WorkBuddy 整理实现

📦 库存数据处理

拖入两个 CSV · 自动识别 · 一键下载 Excel

📂
拖拽 CSV 文件到此处,或点击选择
支持一次性拖入「仓库库存导出」和「门店库存导出」
根据文件名自动识别类型(含"仓库"→仓库,含"门店"→门店)
🏭
仓库库存
等待上传…
🏪
门店库存
等待上传…
Excel 包含两个 Sheet:仓库库存筛选(宇培/冷冻筛选后明细)、门店库存透视(中大门/睿海/万和)