递归算法实践--到仓合单助力京东物流提效增收
一、背景 京东物流到仓业务「对商家」为了减少商家按照京东采购单分货备货过程,对齐行业直接按照流向交接,提升商家满意度;「对京东」揽收操作APP提效;到仓合单功能应运而生; 二、问题 一次批量采购单(一次50或者100个采购单)需要根据不同的规则合并成多个订单; 每一个采购单可以是不同的来源类型(自营和非自营)、不同的收货类型,每一个采购单会有多个SKU,同一个SKU只有一个等级,一批采购单会有多个SKU,同一个SKU会有多个等级; 合单规则: 1. 自营和非自营不能合; 2. 实物收货和单据收货的采购单不能合并; 3. 相同收获仓和配送中心的采购单可以合并; 4. 两个采购单如果合并之后同一个SKU拥有多个等级,则不可以合单; 三、打法 A、思路 1. 首先认为这一批单子可以合单,后续就是根据合单规则将不符合规则转换成拆单的过程; 2. 根据合单规则1、2、3可以将这一批单子拆成多个需要执行规则4的待合单集合List; 3. 举个极端例子,规则1、2、3这些采购单都是相同的,则该List数量为1,这100个单子进行后续根据SKU+等级维度的合单; 4. 由于相同SKU不同等级不可以合单...