CN109948917A - 一种订餐系统的保温箱的自动分配方法及系统 - Google Patents
一种订餐系统的保温箱的自动分配方法及系统 Download PDFInfo
- Publication number
- CN109948917A CN109948917A CN201910175870.5A CN201910175870A CN109948917A CN 109948917 A CN109948917 A CN 109948917A CN 201910175870 A CN201910175870 A CN 201910175870A CN 109948917 A CN109948917 A CN 109948917A
- Authority
- CN
- China
- Prior art keywords
- incubator
- fast food
- teams
- groups
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Medical Treatment And Welfare Office Work (AREA)
- Devices For Warming Or Keeping Food Or Tableware Hot (AREA)
Abstract
本发明公开了一种订餐系统的保温箱的自动分配方法及系统,该方法包括:步骤S1,依据下单信息筛选相应区域下保温柜信息,若存在可用的保温柜,则获取相应保温箱信息;步骤S2,计算该保温柜下可用保温箱的存放总容积,并将保温箱可用存放快餐的总容积与所需分配的快餐总数进行比较;步骤S3,若保温箱可用快餐存放容积大于用户下单快餐总数,则进入步骤S4;步骤S4,对用户下单快餐依据班组执行分类,根据不同班组快餐数按照数量进行排序;步骤S5,遍历各班组的数据,利用核心分箱算法对各班组的快餐进行保温箱分配,以对各班组的快餐找到刚刚好或者最少浪费保温箱存放空间的保温箱列表。
Description
技术领域
本发明涉及餐饮管理技术领域,特别是涉及一种订餐系统的保温箱的自动分配方法及系统。
背景技术
餐饮业是个服务性行业,在餐饮的业务流程中,一般包括点餐、下单、餐品制作、餐品定位、餐品投递、收银等环节,当前很多工作还是依靠人工来完成。在一些餐厅,顾客完成点餐并就座后由服务员上门记下顾客的位置,以便餐品准备好以后能够顺利送达到顾客。
目前,单位或学校食堂的就餐方式是食堂事先预估每天的就餐状态,再根据预估的就餐状态准备食材,并在就餐人员就餐前将菜肴、饮料、甜品等食品陈列在固定的餐台上,等待就餐人员排队点餐、刷卡,这些仍需食堂工作人员人工完成,一来浪费人力资源,二来由于点餐过程中因人较多,食堂工作人员在记录点餐信息时容易出现点错、记错等错误的现象,进而引起不必要的麻烦。
对此,随着网络技术的发展,出现了网上订餐系统,也就是说,食堂就餐人员可以通过食堂的订餐平台实现网上订餐,食堂配送员根据网上订餐的订单将相应的餐品送至相应地址区域的保温箱内,就餐人员凭取餐信息至相应的保温箱获取相应的餐品,这种方式不仅可节省就餐人员的订餐时间和精力,而且可降低餐饮企业的运营成本。
然而,现有技术仍存在如下缺点:
一、对于大型食堂来说,为了便于管理,一般都分为多个班组,对于不同班组之间,存在跨班组快餐组合装配流程繁琐,拣货员人力成本投入大的问题
二、目前的订餐系统对于保温箱没有合理的分配方案,容易造成保温箱存放空间资源浪费的问题。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种订餐系统的保温箱的自动分配方法及系统,以解决食堂跨班组快餐组合装配流程繁琐,拣货员人力成本投入大以及保温箱存放空间资源浪费的问题。
为达上述目的,本发明提出一种订餐系统的保温箱的自动分配方法,包括:
步骤S1,依据订单信息筛选相应区域下保温柜信息,若无可用的保温柜存在,则返回无可用保温柜的提示信息,若存在可用的保温柜,则获取相应保温箱信息,并进入步骤S2;
步骤S2,计算该保温柜下可用保温箱的存放总容积,并将保温箱可用存放快餐的总容积与所需分配的快餐总数进行比较;
步骤S3,若保温箱可用快餐存放容积为0,返回保温箱已占满信息;若保温箱可用快餐存放容积小于用户下单快餐总数,返回保温箱不足信息;若保温箱可用快餐存放容积大于用户下单快餐总数,则进入步骤S4;
步骤S4,对用户下单快餐依据班组执行分类,根据不同班组快餐数按照数量进行排序;
步骤S5,遍历各班组的数据,利用核心分箱算法对各班组的快餐进行保温箱分配,以对各班组的快餐找到刚刚好或者最少浪费保温箱存放空间的保温箱列表。
优选地,于步骤S5之后,还包括如下步骤:
于分配之后对保温箱的分箱链对象进行数据复查。
优选地,于复查结果为数据正确时,将订单下单链与分箱链对象进行持久化操作,并异步发布订单延迟消息。
优选地,所述核心分箱算法进一步包括:
步骤S500,构造一个三重List嵌套的对象,用来存放各班组下各保温箱下的各快餐信息;
步骤S501,逐个对班组下的快餐进行保温箱分配,并行计算各班组下快餐总数和该区域内可用保温箱存放容积总数,并对各班组快餐总数按规格大小排列,对可用保温箱按照存放容积排序;
步骤S503,比较当前班组快餐总数与最大保温箱的关系,根据比较结果分以下两种情况处理:
a.若该班组快餐总数大于最大保温箱可容纳的快餐数,则对该班组快餐进行拆分;
b.若该班组快餐总数小于最大保温箱可容纳的快餐数时,则对其寻找最合适的保温箱。
优选地,所述拆分步骤如下;
步骤S503a,根据保温箱容积将保温箱按照从大到小排列,比较可用的最大保温箱存放容积T与该班组旗下当前规格快餐数量S的大小关系;
步骤S503b,若该保温箱存放容积T小于该当前规格快餐数量S,则修改该当前规格快餐数为(原数量S-保温箱容积T),并更新保温箱状态为已分配,继续递归该核心分箱算法;若该保温箱存放容积T等于当前规格快餐数量S,则将该班组当前规格快餐向后偏移,并更新保温箱状态为已分配,继续递归该核心分配算法;若该保温箱存放容积T大于该当前规格快餐数量S,进入步骤S503c;
步骤S503c,设置并记录三个变量,分别为快餐偏移位置、保温箱是否溢出、溢出的数量;判断是否溢出,若不溢出,则将偏移位置之前的快餐存入保温箱,并修改保温箱的状态,若溢出,则修改偏移位置的快餐规格,并将当前规格快餐从中断处执行分配保温箱。
优选地,所述寻找最合适保温箱的步骤如下:
于起始位置创建一个存储最合适保温箱List对象,遍历保温箱List集合对象;
将当前保温箱存储容积与该班组快餐总数进行比较,分为如下三种情况:
第一种情况:当前保温箱存储容积等于该班组快餐总数,把当前保温箱对象存放入最合适保温箱List对象并返回;
第二种情况:当前保温箱存储容积小于该班组快餐总数,需要前后规格保温箱进行一个存储容积差值比较,若后者不大于前者,将前一个(i-1)位置的保温箱添加入最合适保温箱List对象并放回,反之,判断后续是否仍有可用保温箱,如果没有则将前一个(i-1)位置的保温箱添加入最合适保温箱List对象并放回,如果有就将当前保温箱对象加入目标集合,剩下的快餐数再继续找一个合理的保温箱继续添加入目标集合对象,直至全部快餐分配完毕,返回目标对象;
第三种情况:若找不到以上两种情况,则添加最后一个保温箱入最适合保温箱List集合对象并返回。
优选地,于经过寻找最合适保温箱处理获取到保温箱目标集合对象后,将目标保温箱对象集合与快餐集合搭建关联。
优选地,所述关联步骤如下:
记录快餐班组快餐List偏移位移位置、临时保温箱List位移位置,进行内两层遍历获取最合适保温箱List,比较该保温箱存放容积与该规格快餐数量的大小;
根据规格快餐数与当前保温箱容积大小关系进行如下三种情况处理:
第1种:该规格快餐数等于当前保温箱存放容积,关联对象添加当前的保温箱与该规格全部快餐,班组快餐List集合往后偏移一位;
第2种:该规格快餐数大于当前保温箱存放容积,修改该规格快餐数量为原数量减去保温箱存放容积,保温箱List位移一位,快餐List初始位置为当前快餐遍历位置;
第3种:该规格快餐数小于当前保温箱存放容积,保温箱位标不移动,快餐List偏移j+1;
返回该班组快餐与保温箱关联对象。
优选地,步骤S6的复查过程如下
判断保温箱存放的快餐的信息与之前用户的下单信息是否一致;
若不一致,则返回保温箱分配失败信息;若一致,则复查结果正确,进入步骤S7。
为达到上述目的,本发明还提供一种订餐系统的保温箱的自动分配系统,包括:
保温柜筛选单元,用于依据订单信息筛选相应区域下智能保温柜信息,若无可用的保温柜存在,则返回无可用保温柜的提示信息,若存在可用的保温柜,则获取相应保温箱信息,并进入计算比较单元;
计算比较单元,用于计算该保温柜下可用保温箱的存放总容积,并将保温箱可用存放快餐的总容积与所需分配的快餐总数进行比较;
比较结果处理单元,用于于保温箱可用快餐存放容积为0时,返回保温箱已占满信息;于保温箱可用快餐存放容积小于用户下单快餐总数时,返回保温箱不足信息;于保温箱可用快餐存放容积大于用户下单快餐总数,进入班组分类单元;
班组分类单元,用于对用户下单快餐依据班组执行分类,将不同班组快餐数按照数量进行排序;
分箱处理单元,用于遍历各班组的数据,利用核心分箱算法对各班组的快餐进行保温箱分配,以对各班组的快餐找到刚刚好或者最少浪费保温箱存放空间的保温箱列表。
与现有技术相比,本发明一种订餐系统的保温箱的自动分配方法及系统可解决食堂订单系统中食堂跨班组快餐保温柜保温箱分配问题,简化快餐组合装配流程,提高保温柜保温箱资源利用率。
附图说明
图1为本发明一种订餐系统的保温箱的自动分配方法的步骤流程图;
图2为本发明核心分配算法的流程图;
图3为本发明一种订餐系统的保温箱的自动分配系统的系统架构图;
图4为本发明具体实施例中的保温柜及保温箱分配主流程图;
图5为本发明具体实施例中核心分箱算法流程图;
图6为本发明具体实施例中寻找最合适保温箱的流程图;
图7为本发明具体实施例中合适保温箱列表与班组快餐建立关联的流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种订餐系统的保温箱的自动分配方法的步骤流程图。如图1所示,本发明一种订餐系统的保温箱的自动分配方法,包括:
步骤S1,依据订单信息筛选相应区域下保温柜信息,若无可用的保温柜存在,则返回无可用保温柜的提示信息,若存在可用的保温柜,则获取相应保温箱信息,并进入步骤S2。
具体地说,订餐系统接收用户的下单请求,根据下单请求生成订餐订单。在确认下单请求之前,会进行参数校验,包括:所处时间是否允许下单、参数符合传参规范、校验用户信息的有效性、快餐信息的合理性等,校验通过后生成订餐订单,并组装成下单链信息对象,订餐订单中一般会包括订餐人的相关信息,例如姓名、地址、区域、联系方式、餐品信息、订餐时间等等。当快餐制作好需要将餐品送至相应的保温箱存放时,则需对保温箱进行分配,于步骤S1,根据订单信息中的区域表示符筛选该区域下的保温柜信息,以判断该区域下是否有可用的保温柜,若有,并查询获得相应的保温箱信息,进入步骤S2,否则发出提示信息,提示该区域无可用保温柜,也就是说,一个区域对应若干保温柜,一个保温柜对应若干保温箱。
步骤S2,计算该保温柜下可用保温箱的存放总容积,并将保温箱可用存放快餐的总容积与所需分配的快餐总数进行比较。也就是说,当筛选出可用的保温柜时,会获取该保温柜下所有保温箱的信息,然后根据获取的保温箱信息计算可用保温箱的存放总容积,并将该总容积与所需分配的快餐总数(即所有订单信息中的区域标识符对应本区域的快餐数)进行比较。
步骤S3,若保温箱可用快餐存放容积为0,则返回保温箱已占满信息;若保温箱可用快餐存放容积小于用户下单快餐总数,则返回保温箱不足信息,也就是说,如果小于,就说明现有的可用保温箱没办法存放下用户的订单中的快餐,就相当于没有足够的保温箱,那么就返回保温箱信息不足,用户下单不成功;若保温箱可用快餐存放容积大于用户下单快餐总数,则进入步骤S4。
步骤S4,对用户下单快餐依据班组执行分类,并根据不同班组快餐数按照数量进行排序,这里的班组相当于商家,也就是说,本发明之订餐系统可以用于多个商家,在本发明具体实施例中,该自动分配方法应用于学校食堂的订餐系统,食堂包括不同的班组(即商家),不同的班组有不同的餐食特色及不同的菜品。具体地,于步骤S4中,将用户下单的快餐按照班组归置并利用Map<key,value>数据存储结构,以key作为班组标识符,value是存放该班组的快餐数,提取订单链对象并获取快餐的班组Id作为分组Map的key标识,将不同班组快餐数按照数量进行降序操作。
步骤S5,遍历各班组的数据,利用核心分箱算法对各班组的快餐进行保温箱分配,以对各班组的快餐找到刚刚好或者最少浪费保温箱存放空间的保温箱列表。
具体地,如图2所示,所述核心分箱算法进一步包括:
步骤S501,构造一个三重List嵌套的对象,用来存放各班组下各保温箱下的各快餐信息,即分配的保温箱进行合理的存放用户下单的快餐
步骤S502,逐个对班组下的快餐进行保温箱分配,并行计算各班组下快餐总数和该区域内可用保温箱存放容积总数,并对各班组快餐总数按规格大小排列,对可用保温箱按照存放容积排序。
步骤S503,比较当前班组快餐总数与最大保温箱的关系,根据比较结果分情况处理。
具体地,分为以下两种情况处理:
a.若该班组快餐总数大于最大保温箱可容纳的快餐数时,也就是说,最大保温箱都不够该班组快餐进行存放,也就是该班组的快餐需要占用几个保温箱,因此,该班组快餐必须进行拆分,则需对该班组快餐进行拆分。由于各班组下是有不同规格的快餐(如菜品),所以依次将不同的快餐放进保温箱中,因此这里存在一个保温箱刚好放进某个规格的快餐的情况,也包括一个保温箱放进一个规格的菜品还有空余空间,这时候要将下一个规格的快餐放进来,而这种时候又存在下一个规格放进来刚好够、还不够、只能放部分进来的集中情况。具体地,拆分过程如下;
步骤S503a,根据保温箱容积将保温箱按照从大到小排列,比较可用的最大保温箱存放容积T与该班组旗下当前规格快餐数量S的大小关系;
步骤S503b,若该保温箱存放容积T小于该当前规格快餐数量S,则修改该当前规格快餐数为(原数量S-保温箱容积T),并更新保温箱状态为已分配,继续递归该核心分箱算法,即剩下的快餐返回步骤S503再次进行分配,也就是说,当一份订单需要占据多个保温箱时,那么先放一部分进入某个保温箱,剩下的订单的快餐数则需要继续分配保温箱;若该保温箱存放容积T等于当前规格快餐数量S,则当前规格快餐正好可放在当前保温箱中,该班组当前规格快餐向后偏移(即下一菜品),并更新保温箱状态为已分配(班组下不同规格的快餐实际是以数组元素的结构形式存放),继续递归该核心分配算法;若该保温箱存放容积T大于该当前规格快餐数量S,也就是说,当前规格的快餐放进当前保温箱后,当前保温箱有空间剩余,该保温箱还能放入更多的快餐,进入步骤S503c;
步骤S503c,设置并记录三个变量,分别是快餐偏移位置(记录遍历剩下各规格的快餐什么时候和剩下容积相等的位置)、保温箱是否溢出、溢出的数量;判断是否溢出,若不溢出,则将偏移位置之前的快餐存入保温箱,并修改保温箱的状态,若溢出,则修改偏移位置的快餐规格,并将当前规格快餐从中断处执行分配保温箱。
b.若该班组快餐总数小于最大保温箱可容纳的快餐数时,也就是说,该班组快餐可全部放入,则应寻找最合适的保温箱。
具体地,寻找最合适保温箱的最终目标就是力求保温箱资源使用最大化,传入餐数为目标区域的保温箱List集合对象和该班组下快餐总数。寻找最合适保温箱的过程如下:
步骤S5030,于起始位置创建一个存储最合适保温箱List对象,遍历保温箱List集合对象。
步骤S5031,将当前保温箱存储容积与该班组快餐总数进行比较,分为如下三种情况:
第一种情况:当前保温箱存储容积等于该班组快餐总数,把当前保温箱对象存放入最合适保温箱List对象并返回;
第二种情况:当前保温箱存储容积小于该班组快餐总数,需要前后规格保温箱进行一个存储容积差值比较,若后者不大于前者,将前一个(i-1)位置的保温箱添加入最合适保温箱List对象并放回,反之,判断后续是否仍有可用保温箱,如果没有则将前一个(i-1)位置的保温箱添加入最合适保温箱List对象并放回,如果有就将当前保温箱对象加入目标集合,剩下的快餐数再继续找一个合理的保温箱继续添加入目标集合对象,直至全部快餐分配完毕,返回目标对象;
第三种情况:若找不到以上两种情况,则添加最后一个保温箱入最适合保温箱List集合对象并返回。
经过寻找最合适保温箱处理获取到保温箱目标集合对象,还需将目标保温箱对象集合与快餐集合搭建关联,具体地,关联步骤如下:
步骤1,记录快餐班组快餐List偏移位移位置、临时保温箱List位移位置,进行内两层遍历获取最合适保温箱List,比较该保温箱存放容积与该规格快餐数量的大小;
步骤2,根据规格快餐数与当前保温箱容积大小关系有以如下三种情况:
第1种:该规格快餐数等于当前保温箱存放容积,关联对象添加当前的保温箱与该规格全部快餐,班组快餐List集合往后偏移一位;
第2种:该规格快餐数大于当前保温箱存放容积,修改该规格快餐数量为原数量减去保温箱存放容积,保温箱List位移一位,快餐List初始位置为当前快餐遍历位置;
第3种:该规格快餐数小于当前保温箱存放容积,保温箱位标不移动,快餐List偏移j+1。
步骤3,返回该班组快餐与保温箱关联对象。
步骤S6,分配之后对保温箱的分箱链对象进行数据的复查,并于复查结果正确时进入步骤S7。具体地,步骤S6的复查过程如下
判断保温箱存放的快餐的信息与之前用户的下单信息是否一致;
若不一致,则返回保温箱分配失败信息;若一致,则复查结果正确,进入步骤S7;
步骤S7,将订单下单链与分箱链对象进行持久化操作(即将下单对象集合和分箱对象集合更新到数据库),并异步发布订单延迟消息。
在本发明具体实施例中,对于用户订单,设置了订单的付款时间是5分钟,超过5分钟没有付款,则分配的保温箱取消,重新返回到未分配中,为了保证数据的一致性并提高性能,本发明通过一个特殊的机制来验证和处理订单,对于订单采用异步延迟进行发布,延迟消息队列有发布者和消费者,消费者是转换器里的监听队列,消费者监听绑定的延迟队列,如果队列中某个消息时间5分钟到了,系统消费者消费消息,判断用户是否支付,如果没有支付则进行商品库存回退、保温箱资源释放,即在订单确认后就完成分箱,分箱后如果未支付或者订单不成功则再回收箱子,反之,进入下一个流程,即下一个订单流程,如食堂接单、打单、配餐以及用户取餐。
图3为本发明一种订餐系统的保温箱的自动分配系统的系统架构图,如图3所示,本发明一种订餐系统的保温箱的自动分配系统,包括:
保温柜筛选单元301,用于依据订单信息筛选相应区域下智能保温柜信息,若无可用的保温柜存在,则返回无可用保温柜的提示信息,若存在可用的保温柜,则获取相应保温箱信息,并进入计算比较单元302。
具体地说,订餐系统接收用户的下单请求,根据下单请求生成订餐订单。在确认下单请求之前,会进行参数校验,包括:所处时间是否允许下单、参数符合传参规范、校验用户信息的有效性、快餐信息的合理性等,校验通过后生成订餐订单,并组装成下单链信息对象,订餐订单中一般会包括订餐人的相关信息,例如姓名、地址、区域、联系方式、餐品信息、订餐时间等等。当快餐制作好需要将餐品送至相应的保温箱存放时,则需对保温箱进行分配,于步骤S1,根据订单信息中的区域表示符筛选该区域下的保温柜信息,以判断该区域下是否有可用的保温柜,若有,并查询获得相应的保温箱信息,进入计算比较单元302,否则发出提示信息,提示该区域无可用保温柜。也就是说,一个区域对应若干保温柜,一个保温柜对应若干保温箱。
计算比较单元302,用于计算该保温柜下可用保温箱的存放总容积,并将保温箱可用存放快餐的总容积与所需分配的快餐总数进行比较。也就是说,当筛选出可用的保温柜时,会获取该保温柜下所有保温箱的信息,然后根据获取的保温箱信息计算可用保温箱的存放总容积,并将该总容积与所需分配的快餐总数(即所有订单信息中的区域标识符对应本区域的快餐数)进行比较。
比较结果处理单元303,用于于保温箱可用快餐存放容积为0时,返回保温箱已占满信息;于保温箱可用快餐存放容积小于用户下单快餐总数时,返回保温箱不足信息,即说明现有的可用保温箱没办法存放下用户的订单中的快餐,就相当于没有足够的保温箱,那么就返回保温箱信息不足,用户下单不成功;于保温箱可用快餐存放容积大于用户下单快餐总数,进入班组分类单元304。
班组分类单元304,用于对用户下单快餐依据班组执行分类,将不同班组快餐数按照数量进行排序。这里的班组相当于商家,也就是说,本发明之订餐系统可以用于多个商家,在本发明具体实施例中,该自动分配系统应用于学校食堂的订餐系统,食堂包括不同的班组(即商家),不同的班组有不同的餐食特色及不同的菜品。具体地,班组分类单元304将用户下单的快餐按照班组归置并利用Map<key,value>数据存储结构,以key作为班组标识符,value是存放该班组的快餐数,提取订单链对象并获取快餐的班组Id作为分组Map的key标识,将不同班组快餐数按照数量进行降序操作。
分箱处理单元305,用于对用户订单按班组类别的快餐集合Map逐一利用核心分箱算法进行保温箱分配,并于分配后将保温箱列表与班组快餐建立关联。
具体地,所述核心分箱算法进一步包括:
传入参数,包括获取的分配保温箱目标List对象,收货区域标识,微信支付单号,班组快餐List对象,构建最终结果目标List<List<BoxTypeContainerDTO):各班组下各保温箱集合下快餐;
逐个对班组下的快餐进行保温箱分配,并行计算各班组下快餐总数和该区域内可用保温箱存放容积总数,并对各班组快餐总数按规格大小排列,对可用保温箱按照存放容积排序;
比较当前班组快餐总数与最大保温箱的关系,根据比较结果分情况处理。具体地,分为以下两种情况处理:
a.若该班组快餐总数大于最大保温箱可容纳的快餐数时,也就是说,最大保温箱都不够该班组快餐进行存放,因此,该班组快餐必须进行拆分,则需对该班组快餐进行拆分。由于各班组下是有不同规格的快餐(如菜品),所以依次将不同的快餐放进保温箱中,因此这里存在一个保温箱刚好放进某个规格的快餐的情况,也包括一个保温箱放进一个规格的菜品还有空余空间,这时候要将下一个规格的快餐放进来,而这种时候又存在下一个规格放进来刚好够、还不够、只能放部分进来的集中情况。具体地,拆分过程如下:
根据保温箱容积将保温箱按照从大到小排列,比较可用的最大保温箱存放容积T与该班组旗下当前规格快餐数量S的大小关系;
若该保温箱存放容积T小于该当前规格快餐数量S,则修改该当前规格快餐数为(原数量S-保温箱容积T),并更新保温箱状态为已分配,继续递归该核心分箱算法,即剩下的快餐返回步骤S503再次进行分配,也就是说,当一份订单需要占据多个保温箱时,那么先放一部分进入某个保温箱,剩下的订单的快餐数则需要继续分配保温箱;若该保温箱存放容积T等于当前规格快餐数量S,则当前规格快餐正好可放在当前保温箱中,该班组当前规格快餐向后偏移(即下一菜品),并更新保温箱状态为已分配(班组下不同规格的快餐实际是以数组元素的结构形式存放),继续递归该核心分配算法;若该保温箱存放容积T大于该当前规格快餐数量S,也就是说,当前规格的快餐放进当前保温箱后,当前保温箱有空间剩余,该保温箱还能放入更多的快餐,则设置并记录三个变量,分别是快餐偏移位置(记录遍历剩下各规格的快餐什么时候和剩下容积相等的位置)、保温箱是否溢出、溢出的数量;判断是否溢出,若不溢出,则将偏移位置之前的快餐存入保温箱,并修改保温箱的状态,若溢出,则修改偏移位置的快餐规格,并将当前规格快餐从中断处执行分配保温箱。
b.若该班组快餐总数小于最大保温箱可容纳的快餐数时,也就是说,该班组快餐可全部放入,则应寻找最合适的保温箱。
具体地,寻找最合适保温箱的最终目标就是力求保温箱资源使用最大化,传入餐数为目标区域的保温箱List集合对象和该班组下快餐总数。寻找最合适保温箱的过程如下:
于起始位置创建一个存储最合适保温箱List对象,遍历保温箱List集合对象。
将当前保温箱存储容积与该班组快餐总数进行比较,分为如下三种情况:
第一种情况:当前保温箱存储容积等于该班组快餐总数,把当前保温箱对象存放入最合适保温箱List对象并返回;
第二种情况:当前保温箱存储容积小于该班组快餐总数,需要前后规格保温箱进行一个存储容积差值比较,若后者不大于前者,将前一个(i-1)位置的保温箱添加入最合适保温箱List对象并放回,反之,判断后续是否仍有可用保温箱,如果没有则将前一个(i-1)位置的保温箱添加入最合适保温箱List对象并放回,如果有就将当前保温箱对象加入目标集合,剩下的快餐数再继续找一个合理的保温箱继续添加入目标集合对象,直至全部快餐分配完毕,返回目标对象;
第三种情况:若找不到以上两种情况,则添加最后一个保温箱入最适合保温箱List集合对象并返回。
经过寻找最合适保温箱处理获取到保温箱目标集合对象,还需将目标保温箱对象集合与快餐集合搭建关联,具体地,关联过程如下:
记录快餐班组快餐List偏移位移位置、临时保温箱List位移位置,进行内两层遍历获取最合适保温箱List,比较该保温箱存放容积与该规格快餐数量的大小;
根据规格快餐数与当前保温箱容积大小关系进行如下:
第1种:该规格快餐数等于当前保温箱存放容积,关联对象添加当前的保温箱与该规格全部快餐,班组快餐List集合往后偏移一位;
第2种:该规格快餐数大于当前保温箱存放容积,修改该规格快餐数量为原数量减去保温箱存放容积,保温箱List位移一位,快餐List初始位置为当前快餐遍历位置;
第3种:该规格快餐数小于当前保温箱存放容积,保温箱位标不移动,快餐List偏移j+1;
返回该班组快餐与保温箱关联对象。
验证单元306,用于分配之后对保温箱的分箱链对象进行数据的复查,并于复查结果正确时进入异步发布单元307。具体地,验证单元306的复查过程如下
判断保温箱存放的快餐的信息与之前用户的下单信息是否一致;
若不一致,则返回保温箱分配失败信息;若一致,则复查结果正确,进入异步发布单元307;
异步发布单元307,用于将订单下单链与分箱链对象进行持久化操作,并异步发布订单延迟消息。
在本发明具体实施例中,对于用户订单,设置了订单的付款时间是5分钟,超过5分钟没有付款,则分配的保温箱取消,重新返回到未分配中,为了保证数据的一致性并提高性能,本发明通过一个特殊的机制来验证和处理订单,对于订单采用异步延迟进行发布,延迟消息队列有发布者和消费者,消费者是转换器里的监听队列,消费者监听绑定的延迟队列,如果队列中某个消息时间5分钟到了,系统消费者消费消息,判断用户是否支付,如果没有支付则进行商品库存回退、保温箱资源释放,即在订单确认后就完成分箱,分箱后如果未支付或者订单不成功则再回收箱子,反之,进入下一个流程,即下一个订单流程,如食堂接单、打单、配餐以及用户取餐。
以下将通过具体实施例来说明本发明之保温箱的自动分配方法:
图4为本发明具体实施例中的保温柜及保温箱分配主流程图。如图4所示,保温柜及保温箱分配主流程如下:
步骤1-1,依据订单信息中所选的区域标识符筛选该区域下智能保温柜信息,并查询相应保温箱信息,判断并返回:1.null(该区域没有可用的保温柜),2.List<Thermalbox>(目标保温箱对象);如果为null,返回该区域没有可用的保温柜信息,反之执行1-2操作。
步骤1-2,计算可用保温箱存放总容积。依据保温箱可用存放快餐总容积与快餐总数进行比较:a.保温箱可用快餐存放容积为0,则返回保温箱已占满信息;b.保温箱可用快餐存放容积小于用户下单快餐总数,返回保温箱不足信息;c.保温箱可用快餐存放容积大于用户下单快餐总数,执行步骤1-3操作。
步骤1-3,对用户下单快餐依据班组执行分类。用户下单的快餐按照班组归置利用Map<key,value>数据存储结构,以key作为班组标识符,value是存放该班组的快餐数。提取订单链对象并获取快餐的班组Id作为分组Map的key标识,将不同班组快餐数按照数量进行降序操作。之后按照班组进行快餐保温箱分配,执行步骤1-4。
步骤1-4,进入核心分箱算法流程(具体核心分箱算法流程如图5所示),并于分配之后对保温箱的分箱链对象进行数据的复查:a.保温箱存放快餐信息与之前用户下单信息不一致,返回保温箱分配失败信息;b.保温箱存放快餐信息与之前用户下单信息一致,将订单下单链与分箱链对象进行持久化操作和异步发布5分钟订单延迟消息,进入步骤1-5,并返回下单成功。
步骤1-5,延迟消息队列有发布者和消费者,消费者是转换器里的监听队列,消费者监听绑定的延迟队列,如果队列中某个消息时间5分钟到了,系统消费者消费消息,判断用户是否支付,如果没有支付则进行商品库存回退、保温箱资源释放,反之,进入下一个流程。
图5为本发明具体实施例中核心分箱算法流程图。如图5所示,核心分箱算法如下:
步骤2-1,构建三重List嵌套的保温箱分配对象,用来存放各班组下各保温箱下的各快餐信息,包括获取的分配保温箱目标List对象,收货区域标识,微信支付单号,班组快餐List对象。构建最终结果目标List<List<BoxTypeContainerDTO):各班组下各保温箱集合下快餐。
步骤2-2/2-3,逐个对班组下的快餐进行保温箱分配,并行计算该班组下快餐总数和该区域内可用保温箱存放容积总数,即计算该班组快餐总数并按各规格按大小排列(步骤2-2),获取可用保温箱,并按照存放容积排序(步骤2-3)。
步骤2-4,比较班组快餐总数与最大保温箱的关系,进行分情况处理:a.该班组快餐大于最大保温箱可容纳的快餐数时,该班组快餐必须进行拆分,且拆分需要按情况处理,进入步骤2-5;b.该班组快餐小于最大保温箱可容纳的快餐数时,需要寻找最合适的保温箱,进入2-6(具体寻找最合适保温箱算法流程如图6所示)。
步骤2-5,比较可用的最大保温箱存放容积与班组旗下第一种规格数量大小关系,如果该保温箱存放容积小于该规格快餐数,则进入步骤2-8,修改该规格快餐数为(原数量-保温箱容积),更新保温箱状态为使用,继续递归核心分配算法;如果该保温箱存放容积等于该规格快餐数,则进入步骤2-10,将快餐规格列表向后偏移,更新保温箱状态为使用,班组快餐列表对象替换偏移之后的班组快餐列表对象,继续递归核心分配算法;如果该保温箱存放容积大于该规格快餐数,可以换一种说法就是保温箱还能放入更多的快餐,则进入步骤2-9,此时需要记录快餐偏移位置、快餐是否完整装入该规格下所有快餐、囊括偏移位置累积的快餐数。先判断如果完整装入,则进入步骤2-11,只需更新当前保温箱状态为使用,快餐规格列表偏移至中断位置形成新的班组快餐对象餐数,继续递归核心分配算法;反之不能完整装入,需要进行所处规格快餐进行数量拆分,则进入步骤2-12,修改该班组快餐列表偏移至中断位置规格快餐数量并偏移到此处,将偏移之后的新班组快餐列表对象替代之前班组快餐,并继续递归核心分配算法。
步骤2-6,寻找最合适保温箱,如图6所示。
步骤2-7,将合适保温箱列表与班组快餐进行建立关联,建立完成之后返回分配保温箱构建对象。
图6为本发明具体实施例中寻找最合适保温箱的流程图。寻找最合适保温箱的最终目标就是力求保温箱资源使用最大化,传入餐数为目标区域保温箱List集合对象和该班组下快餐总数。
步骤3-1,起始位置需要创建一个存储最合适保温箱List对象,进行遍历保温箱List集合对象,将当前保温箱存储容积与该班组快餐总数进行比较,此比较有三种情况发生:
步骤3-2,为第一种情况,当前保温箱存储容积等于该班组快餐总数,把当前保温箱对象存放入最合适保温箱List对象并返回;
步骤3-3,为第二种情况,当前保温箱存储容积小于该班组快餐总数,需要将前后规格保温箱进行一个存储容积差值比较,如果后者不大于前者,则进入步骤3-5,将i-1位置的保温箱添加入最合适保温箱List对象并放回(步骤3-5操作),反之进入步骤3-6,判断后续是否仍有可用保温箱,如果没有则进入步骤3-5,如果有就进入步骤3-7,更新快餐总数,并将当前保温箱对象加入目标集合;步骤3-8,将剩下的快餐数再继续找一个合理的保温箱继续添加入目标集合对象,直至全部快餐分配完毕(3-9操作),返回目标对象;
步骤3-4,为第三种情况,即找不到以上两种情况,则添加最后一个保温箱入最适合保温箱List集合对象并返回。
图7为本发明具体实施例中合适保温箱列表与班组快餐建立关联的流程图。经过寻找最合适保温箱处理获取到保温箱目标集合对象,接下来就是如何将目标保温箱对象集合与快餐集合搭建关联,其步骤如下:
步骤4-1,流程起始需要记录快餐班组快餐List偏移位移位置、临时保温箱List位移位置,进行内两层遍历获取最合适保温箱List,比较该保温箱存放容积与该规格快餐数量的大小。
根据规格快餐数与当前保温箱容积大小关系有以下三种情况:第1种该规格快餐数等于当前保温箱存放容积,关联对象添加当前的保温箱与该规格全部快餐,班组快餐List集合往后偏移一位(步骤4-2);第2种该规格快餐数大于当前保温箱存放容积,修改该规格快餐数量为原数量减去保温箱存放容积,保温箱List位移一位,快餐List初始位置为当前快餐遍历位置(步骤4-3);第3种该规格快餐数小于当前保温箱存放容积,保温箱位标不移动,快餐List偏移j+1(步骤4-4)。
返回该班组快餐与保温箱关联对象。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种订餐系统的保温箱的自动分配方法,包括:
步骤S1,依据订单信息筛选相应区域下保温柜信息,若无可用的保温柜存在,则返回无可用保温柜的提示信息,若存在可用的保温柜,则获取相应保温箱信息,并进入步骤S2;
步骤S2,计算该保温柜下可用保温箱的存放总容积,并将保温箱可用存放快餐的总容积与所需分配的快餐总数进行比较;
步骤S3,若保温箱可用快餐存放容积为0,返回保温箱已占满信息;若保温箱可用快餐存放容积小于用户下单快餐总数,返回保温箱不足信息;若保温箱可用快餐存放容积大于用户下单快餐总数,则进入步骤S4;
步骤S4,对用户下单快餐依据班组执行分类,根据不同班组快餐数按照数量进行排序;
步骤S5,遍历各班组的数据,利用核心分箱算法对各班组的快餐进行保温箱分配,以对各班组的快餐找到刚刚好或者最少浪费保温箱存放空间的保温箱列表。
2.如权利要求1所述的一种订餐系统的保温箱的自动分配方法,其特征在于,于步骤S5之后,还包括如下步骤:
于分配之后对保温箱的分箱链对象进行数据复查。
3.如权利要求2所述的一种订餐系统的保温箱的自动分配方法,其特征在于:于复查结果为数据正确时,将订单下单链与分箱链对象进行持久化操作,并异步发布订单延迟消息。
4.如权利要求1所述的一种订餐系统的保温箱的自动分配方法,其特征在于,所述核心分箱算法进一步包括:
步骤S500,构造一个三重List嵌套的对象,用来存放各班组下各保温箱下的各快餐信息;
步骤S501,逐个对班组下的快餐进行保温箱分配,并行计算各班组下快餐总数和该区域内可用保温箱存放容积总数,并对各班组快餐总数按规格大小排列,对可用保温箱按照存放容积排序;
步骤S503,比较当前班组快餐总数与最大保温箱的关系,根据比较结果分以下两种情况处理:
a.若该班组快餐总数大于最大保温箱可容纳的快餐数,则对该班组快餐进行拆分;
b.若该班组快餐总数小于最大保温箱可容纳的快餐数时,则对其寻找最合适的保温箱。
5.如权利要求4所述的一种订餐系统的保温箱的自动分配方法,其特征在于,所述拆分步骤如下;
步骤S503a,根据保温箱容积将保温箱按照从大到小排列,比较可用的最大保温箱存放容积T与该班组旗下当前规格快餐数量S的大小关系;
步骤S503b,若该保温箱存放容积T小于该当前规格快餐数量S,则修改该当前规格快餐数为原数量S-保温箱容积T,并更新保温箱状态为已分配,继续递归该核心分箱算法;若该保温箱存放容积T等于当前规格快餐数量S,则将该班组当前规格快餐向后偏移,并更新保温箱状态为已分配,继续递归该核心分配算法;若该保温箱存放容积T大于该当前规格快餐数量S,进入步骤S503c;
步骤S503c,设置并记录三个变量,分别为快餐偏移位置、保温箱是否溢出、溢出的数量;判断是否溢出,若不溢出,则将偏移位置之前的快餐存入保温箱,并修改保温箱的状态,若溢出,则修改偏移位置的快餐规格,并将当前规格快餐从中断处执行分配保温箱。
6.如权利要求4所述的一种订餐系统的保温箱的自动分配方法,其特征在于,所述寻找最合适保温箱的步骤如下:
于起始位置创建一个存储最合适保温箱List对象,遍历保温箱List集合对象;
将当前保温箱存储容积与该班组快餐总数进行比较,分为如下三种情况:
第一种情况:当前保温箱存储容积等于该班组快餐总数,把当前保温箱对象存放入最合适保温箱List对象并返回;
第二种情况:当前保温箱存储容积小于该班组快餐总数,需要前后规格保温箱进行一个存储容积差值比较,若后者不大于前者,将前一个(i-1)位置的保温箱添加入最合适保温箱List对象并放回,反之,判断后续是否仍有可用保温箱,如果没有则将前一个(i-1)位置的保温箱添加入最合适保温箱List对象并放回,如果有就将当前保温箱对象加入目标集合,剩下的快餐数再继续找一个合理的保温箱继续添加入目标集合对象,直至全部快餐分配完毕,返回目标对象;
第三种情况:若找不到以上两种情况,则添加最后一个保温箱入最适合保温箱List集合对象并返回。
7.如权利要求6所述的一种订餐系统的保温箱的自动分配方法,其特征在于,于经过寻找最合适保温箱处理获取到保温箱目标集合对象后,将目标保温箱对象集合与快餐集合搭建关联。
8.如权利要求7所述的一种订餐系统的保温箱的自动分配方法,其特征在于,所述关联步骤如下:
记录快餐班组快餐List偏移位移位置、临时保温箱List位移位置,进行内两层遍历获取最合适保温箱List,比较该保温箱存放容积与该规格快餐数量的大小;
根据规格快餐数与当前保温箱容积大小关系进行如下三种情况处理:
第1种,该规格快餐数等于当前保温箱存放容积,关联对象添加当前的保温箱与该规格全部快餐,班组快餐List集合往后偏移一位;
第2种,该规格快餐数大于当前保温箱存放容积,修改该规格快餐数量为原数量减去保温箱存放容积,保温箱List位移一位,快餐List初始位置为当前快餐遍历位置;
第3种,该规格快餐数小于当前保温箱存放容积,保温箱位标不移动,快餐List偏移j+1;
返回该班组快餐与保温箱关联对象。
9.如权利要求2所述的一种订餐系统的保温箱的自动分配方法,其特征在于,步骤S6的复查过程如下
判断保温箱存放的快餐的信息与之前用户的下单信息是否一致;
若不一致,则返回保温箱分配失败信息;若一致,则复查结果正确,进入步骤S7。
10.一种订餐系统的保温箱的自动分配系统,包括:
保温柜筛选单元,用于依据订单信息筛选相应区域下智能保温柜信息,若无可用的保温柜存在,则返回无可用保温柜的提示信息,若存在可用的保温柜,则获取相应保温箱信息,并进入计算比较单元;
计算比较单元,用于计算该保温柜下可用保温箱的存放总容积,并将保温箱可用存放快餐的总容积与所需分配的快餐总数进行比较;
比较结果处理单元,用于于保温箱可用快餐存放容积为0时,返回保温箱已占满信息;于保温箱可用快餐存放容积小于用户下单快餐总数时,返回保温箱不足信息;于保温箱可用快餐存放容积大于用户下单快餐总数,进入班组分类单元;
班组分类单元,用于对用户下单快餐依据班组执行分类,将不同班组快餐数按照数量进行排序;
分箱处理单元,用于遍历各班组的数据,利用核心分箱算法对各班组的快餐进行保温箱分配,以对各班组的快餐找到刚刚好或者最少浪费保温箱存放空间的保温箱列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910175870.5A CN109948917B (zh) | 2019-03-08 | 2019-03-08 | 一种订餐系统的保温箱的自动分配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910175870.5A CN109948917B (zh) | 2019-03-08 | 2019-03-08 | 一种订餐系统的保温箱的自动分配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109948917A true CN109948917A (zh) | 2019-06-28 |
CN109948917B CN109948917B (zh) | 2022-12-06 |
Family
ID=67008529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910175870.5A Active CN109948917B (zh) | 2019-03-08 | 2019-03-08 | 一种订餐系统的保温箱的自动分配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109948917B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717606A (zh) * | 2019-10-21 | 2020-01-21 | 中国民航信息网络股份有限公司 | 一种可预定餐食数量确定方法及系统 |
CN110751440A (zh) * | 2019-10-21 | 2020-02-04 | 中国民航信息网络股份有限公司 | 一种餐食库存分配方法及系统 |
CN111062505A (zh) * | 2019-11-29 | 2020-04-24 | 合肥美的智能科技有限公司 | 柜格分配方法、柜格分配装置、柜格设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060143030A1 (en) * | 2004-12-23 | 2006-06-29 | Oracle International Corporation (A California Corporation) | Systems and methods for best-fit allocation in a warehouse environment |
US20070251521A1 (en) * | 2006-04-28 | 2007-11-01 | Restaurant Technology, Inc. | RFID food production, inventory and delivery management system for a restaurant |
CN103955811A (zh) * | 2014-04-15 | 2014-07-30 | 冉浩 | 带杀菌功能的互联网快餐配送柜 |
CN107133842A (zh) * | 2017-04-21 | 2017-09-05 | 广东霁航科技有限公司 | 一种o2o式的校园自助餐饮系统及其运行方法 |
CN107248012A (zh) * | 2017-06-08 | 2017-10-13 | 北京惠赢天下网络技术有限公司 | 配送订单的处理方法、装置及终端设备 |
-
2019
- 2019-03-08 CN CN201910175870.5A patent/CN109948917B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060143030A1 (en) * | 2004-12-23 | 2006-06-29 | Oracle International Corporation (A California Corporation) | Systems and methods for best-fit allocation in a warehouse environment |
US20070251521A1 (en) * | 2006-04-28 | 2007-11-01 | Restaurant Technology, Inc. | RFID food production, inventory and delivery management system for a restaurant |
CN103955811A (zh) * | 2014-04-15 | 2014-07-30 | 冉浩 | 带杀菌功能的互联网快餐配送柜 |
CN107133842A (zh) * | 2017-04-21 | 2017-09-05 | 广东霁航科技有限公司 | 一种o2o式的校园自助餐饮系统及其运行方法 |
CN107248012A (zh) * | 2017-06-08 | 2017-10-13 | 北京惠赢天下网络技术有限公司 | 配送订单的处理方法、装置及终端设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717606A (zh) * | 2019-10-21 | 2020-01-21 | 中国民航信息网络股份有限公司 | 一种可预定餐食数量确定方法及系统 |
CN110751440A (zh) * | 2019-10-21 | 2020-02-04 | 中国民航信息网络股份有限公司 | 一种餐食库存分配方法及系统 |
CN110717606B (zh) * | 2019-10-21 | 2023-09-01 | 中国民航信息网络股份有限公司 | 一种可预定餐食数量确定方法及系统 |
CN110751440B (zh) * | 2019-10-21 | 2023-11-24 | 中国民航信息网络股份有限公司 | 一种餐食库存分配方法及系统 |
CN111062505A (zh) * | 2019-11-29 | 2020-04-24 | 合肥美的智能科技有限公司 | 柜格分配方法、柜格分配装置、柜格设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109948917B (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sengul Orgut et al. | Achieving equity, effectiveness, and efficiency in food bank operations: Strategies for feeding America with implications for global hunger relief | |
CN109948917A (zh) | 一种订餐系统的保温箱的自动分配方法及系统 | |
US20090106124A1 (en) | Method and apparatus for ordering and delivering of meals | |
US20070150375A1 (en) | Method and apparatus for efficient meal delivery | |
CN107506964A (zh) | 一种基于标准箱的配送物流网络共享方法、系统及终端 | |
JP5965332B2 (ja) | 棚割管理システム | |
CN109389438A (zh) | 一种具有时效性的计算商品爆款指数的方法及系统 | |
Akkerman et al. | Dealing with donations: Supply chain management challenges for food banks | |
CN111325573A (zh) | 一种多维共享服务平台营销管理模式 | |
Luo et al. | Online-to-offline on the railway: Optimization of on-demand meal ordering on high-speed railway | |
AU2013201074B2 (en) | System and method for management of event attendance packages and event attendance inventory | |
Wu et al. | Reducing waste and achieving sustainable food security through optimizing surplus-food collection and meal distribution | |
CN113673960A (zh) | 基于智慧云和ai技术的智慧食堂服务系统 | |
CN115116609A (zh) | 基于区块链的餐饮人员身体数据共享系统 | |
JP2008009670A (ja) | 料理・食材の受注・配送方法及び配送システム | |
Özgür Göde et al. | A New Menu Analysis Approach: Time-Driven Menu Engineering (TDME) | |
JP7270893B2 (ja) | 低糖質食品提供システム | |
Shenoy et al. | Inventory Models for Perishable Items and Style Goods | |
Drogan et al. | A general model for food purchasing in captive food service institutions | |
Olsen | A study of the e-grocery market in the region of Stavanger | |
Bozer et al. | Analysis of patient-mover dispatching and equipment-marshalling areas: a simulation study at the University of Michigan Hospital | |
Mitra et al. | Akshay Patra, Gandhinagar: Supply Chain Challenges | |
Dietz et al. | Exercise: Case Pizzeria | |
Mahmoudi | Fighting Hunger and Reducing Waste in Michigan by Addressing Strategic and Operational Challenges in Measuring Food Accessibility | |
Regulation | The Army Food Program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |