一、 背景
批发单按单品销售,不会销售小数个商品;销售金额指定了现款多少,赊销多少,但销售商品不区分现款商品与赊销商品;现款金额与赊销金额存在可能,各自无法分摊到单品整数;现款结算金额与赊销结算金额都不能超过销售指定现款金额与赊销金额,结算存在一单多结,多单一结场景;结算数量必须等于销售数量。
二、 问题
现款金额与赊销金额都存在可能,各自无法分摊到单品整数。
例一:单品价格3.0元,销售数量5,销售金额15,用户指定现款10元,赊销5元,按结算类型结算时,无法按单品结算。
事情可能更复杂,销售不同商品,存在不同价格,按商品的某种组合,可以按单品结算,但换一种组合就无法按单品结算。
例二:销售A商品4个,每个价格3元,销售B商品2个,每个价格2元,销售金额为16元,买家指定现款10元,赊销6元。现款结算10元时,当结算2个A,2个B时,可以按单品结算;而换其它组合都没办法按单品结算,这种动态规划算法,计算复杂。
三、 分析
从上面问题可以看出,无论你怎么计算,都会存在可能无法按单品计算。
注:存在另一种尾差,如商品单价3元,