以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 批次库存发货处理问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=74612) |
||||
-- 作者:supwork -- 发布时间:2015/9/15 13:46:00 -- 批次库存发货处理问题 进行库存批次发货处理
发货数据模型
库存表 产品 批次 数量 ID A P1 200 1 A P2 200 2 A P3 200 3 A P4 100 4 B P5 50 5 B P6 130 6 B P7 100 7 B P8 30 8 B P9 60 9
发货计划表 产品 计划数量 计划日期 A 500 2015-9-15 B 90 2015-9-15
现要求发货原则是 按批次先进先出为总原则。
为实现这一总原则可能有四个补充选项
选项1,严格先进先出,可多出(但不超过一批)。如A要出500,则出P1,P2,P3 三批600 多出了100.(100不足一箱可接受) 选项2,严格先进先出,可少出 如A要出500,则出P1,P2共二批 则少出100 选项3,严格先进先出,最后一箱补数时,不遵循批次先后。 如A要出500,则出P1,P2,P4 跳过P3 刚好500. 如果都不符合要求,则出余下 的最小一批次。 选项4,先进先出原则下,拼数量。 如 B 出90 则 出 P8,P9
|
||||
-- 作者:大红袍 -- 发布时间:2015/9/15 21:03:00 -- 1、排序,累加数量,如果>=500,就是累加的那些行;
2、排序,累加数量,如果>500,那么,就去最后一次累加之前的数据;
3、参考2,得出累加量,然后循环剩余所有行的可能性,哪个更接近500,就取哪个;
4、这个要就要用到排列组合了,列举所有的可能性,论坛搜索 排列组合 |