仓库系统货物入库分配区域?

一个仓库有若干个区域,每个区域限定保存一定数量的货物,每条货物信息上有一个数量字段。插入一条货物信息对应区域的库存就会加上这个数量,我让用户可以先选择一个区域存放信息。但是如果用户选择的区域,或者说每个区域都不能一次性存放所有货物。我是想着先让用户选择的那个区域存放能存放的数量,然后剩下的自动分配区域。但是这个逻辑怎么写呢?写不出来。。。。求教,或者给点思路。

2个回答

这个貌似,不久前有研究过,可以这样,首先,将若干的区域和所存数量阀值使用一个配置文件配置好或者使用数据库存起来,每个区域使用一个哈希或者map,key 值初始化好,当用户选择某个区域,并存入一定数量X,如果X > 该区域, 则 取该区域最大阀值存进去,
并 rand()% 若干区域数量, 取得key值,然后存入 其他 区域对应的map或者哈希表,一次类推,直到存满

JonSmiths
JonSmiths 回复风之殇love: 初步写了一可以基本完成需要,但是有个大bug实在不会写,就是当我拆分了,一条是当前区域所能存储得下的数量,另外一条数据的数量通过比较遍历所有区域满足数量<=区域剩余数量就可存进去,可是如果遍历全部数量都都不满足就没办法了。需要继续循环判断并继续不断拆分才行。不会写。。。
3 年多之前 回复
feng1790291543
鱼弦 回复JonSmiths: A1大于A 的时候,就直接往该区域存A, (A1-A)存在其他 区域,其他的区域,上面提示了,使用随机取,如果随机的满了,再找其他的,一次类推;其他的 不满,则直接存进去
3 年多之前 回复
JonSmiths
JonSmiths 我现在是插入的一条数据中有一个数量字段,我插入前判断这个数量大于区域剩余可存数量的时候,那么我就要把这条数据拆分成两条数据。分开来存。。。然后我觉得我还是没太懂。。。
3 年多之前 回复

主要就是没懂当区域满了的时候如何划分新区域,新区域又满了,如何去找下一个区域。用递归好像又不会。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问