/** 拣选库位动销分析 —— 表头与口径说明 */ export const PICKING_BIN_COLUMNS = [ { key: 'warehouse', label: '仓库', tip: '聚水潭主仓(按 wms_co_id 单仓独立统计,不合并分仓)', }, { key: 'binName', label: '仓位', tip: '系统仓位编码(jst_packInventoryInfo.bin)', }, { key: 'binType', label: '类型', tip: '拣选 = 拣货位(bin_group 为空);存货 = 存货位(bin_group=存货)', }, { key: 'stockQty', label: '库存数量', tip: '该仓位当前库存件数(jst_packInventoryInfo 按 wms_co_id + 仓位 汇总 qty)', }, { key: 'skuCount', label: 'SKU数', tip: '该仓位内存放且有库存的 SKU 个数', }, { key: 'salesQty', label: '销量', tip: '近 N 天该仓位的分摊销量:Σ(仓位内各 SKU 销量 ÷ 该 SKU 占用的同类型仓位数)', }, { key: 'dailySales', label: '日销', tip: '分摊销量 ÷ 统计天数,动销等级按此值划分', }, { key: 'gradeKey', label: '动销等级', tip: '爆款≥20 / 热卖款 10~20 / 平销款 3~10 / 滞销款-1 1~3 / 滞销款-2 0~1 / 销售=0', }, ]; export const PICKING_BIN_WINDOW_OPTIONS = [ { label: '近 7 天', value: 7 }, { label: '近 15 天', value: 15 }, { label: '近 30 天', value: 30 }, { label: '近 60 天', value: 60 }, ]; export const PICKING_BIN_DEFAULT_DAYS = 30; export const PICKING_BIN_TYPE_OPTIONS = [ { label: '拣选位', value: '拣选' }, { label: '存货位', value: '存货' }, ]; export const PICKING_BIN_DEFAULT_TYPES = ['拣选']; /** 动销等级展示色(与后端 key 对应) */ export const PICKING_BIN_GRADE_COLORS = { hot: 'red', best: 'volcano', normal: 'blue', slow1: 'gold', slow2: 'default', zero: 'default', }; export const PICKING_BIN_DESCRIPTION = [ '动销等级口径:按「单个仓位的日均销量(日销)」分档,日销 = 该仓位近 N 天销量 ÷ N。', ' 爆款:日销 ≥ 20;热卖款:10 ≤ 日销 < 20;平销款:3 ≤ 日销 < 10;', ' 滞销款-1:1 ≤ 日销 < 3;滞销款-2:0 < 日销 < 1;销售=0:窗口内该仓位所有 SKU 均无销量。', '默认统计窗口为近 30 天,可切换 7 / 15 / 30 / 60 天。', '', '【销量为什么要分摊】', ' 同一 SKU 常同时占用多个同类型仓位(崔桥工厂仓实测 3290 个拣选 SKU 中 1431 个跨多个拣选位,最多 24 个)。', ' 若直接把 SKU 销量累加到每个仓位,销量会被放大数倍。', ' 因此按「SKU 销量在其占用的同类型仓位数之间平均分摊」计算库位销量,', ' 恒等式已实测校验:全部库位销量之和 = 有库位记录的那些 SKU 的销量之和(差异 0)。', ' 注意该合计小于全仓销量:jst_packInventoryInfo 只覆盖部分 SKU 的仓位数据,无仓位记录的 SKU 销量不计入任何库位。', '', '数据来源:库存取 rpt.jst_packInventoryInfo(按仓库 + 仓位汇总);', '销量取 rpt.jst_Orders × rpt.jst_OrderItem(按 send_date,排除 Delete/Cancelled),与「每日进销存」发货口径一致。', '仓位类型:bin_group 为空视为拣选位,bin_group=存货 为存货位。', ];