供需整理

2018-11-04  本文已影响0人  夜魅zlp

供需业务的理解

老系统模块的交接

老系统补货流程以及需要关注的点
1. 初始化参数
2. 计算应补数量
    2.1 获取在售sku列表(不区分微仓)
        2.1.1 根据大区获取在售SKU (根据大仓获取原料列表)
        2.1.2 添加新品/促销品(大区维度,大区+城市维度,如果两者维度都配置了,并且有冲突,那么只取大仓维度的促销品,或者两者都取,城市需要根据微仓获取)
        2.1.3 去掉非当前补货批次的原料(需要根据原料+ 微仓过滤)
        2.1.4 去除指定原料的商品(过滤掉手推指定的原料) 
    2.2 判断大仓无库存不补货:
        2.2.1 调用atp,大仓确实没有库存
        2.2.2 大仓 - 预留库存(包括次日达预留+干仓预料) < 0 ,也不补货
    2.3 系统新品促销品补货逻辑:   
        2.3.1 获取sku数量(大区+原料),取不到赋值1 (实际上前面已经获取过大规格)
        2.3.2 原料周转天数取不到赋值为1
        2.3.3 先根据品类获取瓜分数量,如果没有那么根据微仓订单量获取瓜分数量(此处还不涉及瓜分,只是取出相应品类或微仓的单量),设置应有=应补=瓜分的量
        2.3.4 如果计算应有为空,那么会正常流程计算应补
    2.4 强制补货的逻辑: (以下规格是指SKU数量)
        2.4.1 如果七日平均销量为0
            2.4.1.1 对于蔬菜品类:   
                2.4.1.1.1 现有库存 < 规格数量
                    2.4.1.1.1.1 A类蔬菜强制补货,应有 = 规格数量 *2 (应有等于应补)
                    2.4.1.1.1.2 BC类成长期 应有 = 规格数量 * 2(应有等于应补)
                    2.4.1.1.1.2 BC类成熟期 应有 = 规格数量 *1(应有等于应补)
                2.4.1.1.2 否则不需要补货
            2.4.1.2 对于非蔬菜类
                2.4.1.2.1  现有库存 < 2 * 规格数量
                    2.4.1.2.1.1 应有 = 2 * 规格数量,应补 = (应有 -现有) % 规格数量 ?( (应有 -现有) / 规格数量 +1)  * 规格数量 : (应有 -现有 )
                2.4.1.2.2  不需要走强制补货逻辑   
    2.5 非新品促销品不补货:                 
        2.5.1 黑名单不补货
        2.5.2 辅料不补货
        2.5.3 大仓无货不补货
        2.5.4 周转天数为空不补货
        2.5.5 获取SKu数量为空不补货
3 平均分配库存
    3.1 分配库存大致逻辑
        3.1.1 如果大仓维度有促销品
            3.1.1.1 先按照促销平均分配,分配(促销品的补货量 * 本外阜比例)
            3.1.1.2 如果最终总分配量 > 大仓库存 * 本外阜比例,那么按照大仓库存*本外阜比例走强制补出逻辑
        3.1.2 非大仓维度活动品
            3.1.2.1 过滤城市维度的促销品,按城市促销维度量走促销平均分配(城市促销品量* 本外阜比例)
            3.1.2.2 如果城市维度的最终分配量+不需要分配的应有 > 大仓库存 * 本外阜比例,那么所有的补货单都按大仓库存*本外阜比例走强制补出
        3.1.3 如果配置了瓜分或者是库存不足
            3.1.3.1 走瓜分算法,继续瓜分,瓜分算法和按大仓平均分配的逻辑一直,除了获取比例不一样  
    3.2 保存 BuhuoDacangStockShortDto 补货大仓库存不足记录到Mongo 
4 过滤库容
5 生成补货单
    5.1 扣ATP库存,调用WMS生成补货单,插入补货数据,保存psmPurchase和psmPurchaseDetail,如果涉及人工干预,同时保存psmGanyuDetail
6 发送辅料信息
7 保存日志
    7.1 保存到mongo的psmBuHuoLog集合中
8 补货异常需要发送邮件
    8.1 线程异步发送邮件和消息(特定的接收人)
9 对于补货波次配置需要注意的点:
    9.1 外阜优先跑
    9.2 外阜单独跑
    9.3 以前没有的波次要检查
手推单相关流程及需要关注的点
1 补货单导入,按仓导入和按原料导入,都是直接生成补货申请单PurchaseByWarehouseRequest,需要注意的是补货单导入会过滤掉"品类是'包材'和属于补货黑名单的原料"
2 晚到货补货
    2.1 保存psm_buhuo_manual 
    2.2 补到(关注大仓下面微仓的库存,补到一定数量)
        2.2.1 取微仓订单量作为应有,应补取微仓订单量 
        2.2.2 按促销平均分配走,分配补到量
        2.2.3 如果计算的理论应补量 > 大仓总库存, 那么走强制补出,按大仓库存量
    2.3 补出(不关心微仓的库存,强制补出去一定数量的原料)
    2.4 补出V2    
        2.4.1 获取数据部的应有库存,如果有一个应有库存查不到,则取微仓订单量作为应有,应补取微仓订单量 
        2.4.2 调用数据部的水位算法(使用补出或者补到的量) 
        2.4.3 如果调用失败,那么走按大仓平均分配逻辑强制补出
        2.4.4 如果计算的理论应补量> 大仓总库存, 那么依然先走数据部的水位算法,失败的话走强制补出算法
3 新开站补货
    3.1 保存psm_buhuo_manual 
    3.2 如果没有选择克隆微仓,那么根据预估量找到城市下面最接近预估量的那一个微仓,如果找不到,那么默认取城市下面销量最低的那一个微仓
    3.3 应有库存 = 七日平均 * 周转天数,应补数量 = 应有库存 - 现有库存 - 今日已补数量
    3.4 生成补货申请单
手推单新需求优化
1. 改动点
     1.1 大仓+原料维度创建的手推单走之前的晚到货补货补到算法,不再使用数据库的水位算法
     1.2 微仓+原料维度创建的手推单走之前的按原料补货
     1.3 新仓+原料维度创建的手推单走之前的新开站点补货     
新系统补货流程优化的点
1. 获取在售商品,新品促销品区分按品类补货和按原料补货的补货类型,增加微仓灰度校验的判断
2. 七日平均,如果是配置了相似原料的新品,则取相似原料的七日平均
3. 如果是新品,并且设置了按预估销量计算应有库存,不用本外阜比例
4. 新品的应有库存 = 微仓品类销量 / 大仓品类销量 * 新品预估销量* 本外阜比例
5. 非新品的最大应有库存 = 过去14日销量峰值*品类系数*原料系数*调整系数*2,新品没有限制
6. 追加应补为0的微仓?因为之前的人工干预不考虑应补为0的仓,新系统增加这部分仓的分配  
7. 新系统新品促销品应补的计算逻辑?促销品走调整系数
8. 主辅料的获取不一致?  因为分区,故每个大区都需要自己增加主辅料

线上服务器部署情况,各种资源的使用情况,资源监控查看工具

常见细节的坑的整理,已经问题排查操作方法。对现有系统的可能的风险点暴露

已完成需求和未完成的需求

系统的优化点以及风险点

其它

上一篇下一篇

猜你喜欢

热点阅读