需要将已经使用的odm数量和oem数量存在一个字段中
假设在这张策略表里面添加odm_used_num和oem_used_num两个字段
表示该月累计要下发的odm数量和oem数量
表示该段时间内要下发的odm数量和oem数量
如果有那个月已经下发的,默认由资源经理来维护新的odm份额数量。程序不管这一块逻辑
那么每次计算的时候,如果
假设x表示这次分配给odm的数量,y表示这次分配给oem的数量,则需要满足:
(> (- odm_num odm_used_num) 0)
先扣减数量
数量足够扣减
x=num,y=0
odm_used_num+=x
数量还不足够扣减
先扣所能扣的odm
x0=(- odm_num odm_used_num)
剩下的按照份额来分配
根据下面的逻辑求的x1和y
那么x=x0+x1
(<= (- odm_num odm_used_num) 0)
直接按照份额来分配
x+y=num
(x+odm_used_num-odm_num)/(y+oem_used_num)=odm_share/oem_share
x四舍5入取整
y=num-x
odm_used_num+=x
oem_used_num+=y
也就是计算每一天的x,y,最终得到很多的x y值。
在跑完一次mrp之后将odm_used_num和oem_used_num清0