一种多单拼车运单生成方法、装置及服务器与流程

文档序号:15934805发布日期:2018-11-14 02:13阅读:237来源:国知局

本发明涉及物流配送技术领域,具体而言,涉及一种多单拼车运单生成方法、装置及服务器。

背景技术

目前针对b2b多订单拼车的配载-配送,该类订单具有多品种、重量较重(50-400公斤)、时效性要求高的特征,多数情况下,一个订单不能构成一车运送,使得车辆不能满载或者是在满载的情况下在整个城市区域内无规律的送货,配送车辆全城跑,导致配送周期长,配送次数少,配送效率低,所以无法满足配送的时效性需求。



技术实现要素:

本发明提供的一种多单拼车运单生成方法、装置及服务器,以解决现有技术中的运单配载不合理,导致配送效率低的技术问题。

第一方面,本发明提供的一种多单拼车运单生成方法,包括:确定城市矩形配送区域中的初始矩形坐标区域,其中,所述初始矩形坐标区域的底边与所述城市矩形配送区域的第一条边重合或平行,所述初始矩形坐标区域的高度为预设高度增量;遍历所述城市矩形配送区域内的原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第一订单容器数量总和,并判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件;在所述第一订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

结合第一方面,第一方面的一种实施方式,在根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单之后,所述方法还包括:将所述第一订单容器数量总和对应的订单从所述原始订单表中删除;遍历删除后的所述原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第二订单容器数量总和,并判断所述第二订单容器数量总和是否满足另一预设车辆的预设盛装条件;在所述第二订单容器数量总和满足所述另一车辆的预设盛装条件时停止遍历,并根据所述第二订单容器数量总和对应的订单生成所述另一预设车辆的运单。

结合第一方面,第一方面的一种实施方式,所述计算遍历到的位于所述初始矩形坐标区域中的订单的第一订单容器数量总和,并判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件,包括:每次在查找到位于所述初始矩形坐标区域中的新订单时,将所述新订单的订单容器数量和当前的累加数量之和进行求和,并判断求和的结果是否大于所述预设车辆的预设最大盛装容器数量;其中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量;若所述求和的结果小于所述预设最大盛装容器数量时,判断所述求和的结果是否大于所述预设最小盛装容器数量。

结合第一方面,第一方面的一种实施方式,所述计算遍历到的位于所述初始矩形坐标区域中的订单的第一订单容器数量总和,并判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件,还包括:若所述求和的结果大于所述预设最大盛装容器数量时,则跳过所述新订单,继续遍历所述原始订单表,查找位于所述初始矩形坐标区域中的其余新订单。

结合第一方面,第一方面的一种实施方式,所述方法还包括:若所述求和的结果大于所述预设最大盛装容器数量时停止遍历,并根据所述当前的累加数量之和对应的订单生成所述预设车辆的运单。

结合第一方面,第一方面的一种实施方式,所述方法还包括:在遍历完所述原始订单表时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中还存在所述初始矩形坐标区域之外的其它坐标区域的订单,则通过将所述初始矩形坐标区域的高度增加所述预设高度增量,获得新的矩形坐标区域;遍历所述原始订单表,计算当前遍历过的位于所述新的矩形坐标区域中的订单的第三订单容器数量总和,并判断所述第三订单容器数量总和是否满足预设车辆的预设盛装条件;在所述第三订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第三订单容器数量总和对应的订单生成所述预设车辆的运单。

结合第一方面,第一方面的一种实施方式,所述方法还包括:在遍历完所述原始订单表时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中不存在所述初始矩形坐标区域之外的其它坐标区域的订单,则根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

结合第一方面,第一方面的一种实施方式,所述底边的长度小于或等于所述第一条边的二分之一长度。

第二方面,本发明提供的一种多单拼车运单生成装置,包括:确定单元,用于确定城市矩形配送区域中的初始矩形坐标区域,其中,所述初始矩形坐标区域的底边与所述城市矩形配送区域的第一条边重合或平行,所述初始矩形坐标区域的高度为预设高度增量;处理单元,用于遍历所述城市矩形配送区域内的原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第一订单容器数量总和,并判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件;生成单元,用于在所述第一订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

第三方面,本发明提供的一种服务器,所述服务器包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述多单拼车运单生成方法的步骤。

上述本发明提供的一种多单拼车运单生成方法、装置及服务器,通过确定城市矩形配送区域中的初始矩形坐标区域,其中,所述初始矩形坐标区域的底边与所述城市矩形配送区域的第一条边重合或平行,所述初始矩形坐标区域的高度为预设高度增量;遍历所述城市矩形配送区域内的原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第一订单容器数量总和,并判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件;在所述第一订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。从而实现了预设的最佳盛装运单生成,并且一辆车辆在一个相对全城区域而言较小的区域配送,所以从多个订单拼单以尽量达到满载和配送区域两方面同时优化,所以提高了配送效率,满足时效性较高的订单的配送。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明第一实施例提供的多单拼车运单生成方法的流程图;

图2为图1所示的多单拼车运单生成方法中的初始矩形坐标区域的示意图;

图3为图1所示的多单拼车运单生成方法中的一种新的初始矩形坐标区域的示意图;

图4为图1所示的多单拼车运单生成方法中的另一种新的始矩形坐标区域的示意图;

图5为图1所示的另一种多单拼车运单生成方法的流程图;

图6为图1所示的多单拼车运单生成方法的实施流程示意图;

图7为本发明第二实施例提供的多单拼车运单生成装置的功能模块示意图;

图8为本发明第三实施例提供的一种服务器的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,是本发明第一实施例提供的多单拼车运单生成方法的流程图。下面将对图1所示的具体流程进行详细阐述。

步骤s101,确定城市矩形配送区域中的初始矩形坐标区域,其中,所述初始矩形坐标区域的底边与所述城市矩形配送区域的第一条边重合或平行,所述初始矩形坐标区域的高度为预设高度增量。

其中,所述城市矩形配送区域是指例如,以城市为单位计算配送区域,将配送区域内的订单最南最北坐标位置间的距离作为一个边,将最东最西之间的距离作为另一边,两边构成的区域是配载计算的范围,即所述城市矩形配送区域。其中,可以将所述最南最北坐标位置间形成的一个边作为所述第一条边,也可以将所述最东最西之间的距离所形成的一个边作为所述第一条边。对于上述两种设置方式,本领域技术人员可以根据实际需要进行设置,在此,不作具体限定。

作为一种实施方式,将城市矩形配送区域按东西或南北划分为条块,条块的大小可以根据订单在地图上的位置密度设置。然后在条块中再形成初始矩形格子,初始矩形格子的底边按某个方位固定,例如,按照最南最北方位固定,另一条边不断增大,即通过设置的预设高度增量进行不断增大。此时,初始矩形格子的底边就与城市矩形配送区域的南北边重合,预设高度增量就会沿东西边增加。

其中,所述预设高度增量可以根据具体实际需求进行设置,通常,预设高度增量设置的尽量小,例如可以将预设高度增量设置为计算机可以处理的最小值。

作为一种实施方式,可以根据城市矩形配送区域的任意一个顶点为起点,以任意高度和长度为边设置所述初始矩形坐标区域,例如,如图2所示,以城市矩形配送区域的a点为起点,以a为高度,所述初始矩形坐标区域c的底边的长度为b,其中,城市矩形配送区域的第一条边为b,所述b大于所述b,可选的,所述初始矩形坐标区域c的底边与所述城市矩形配送区域的第一条边重合或平行。将所述初始矩形坐标区域的高度作为预设高度增量。

作为一种实施方式,可选地,所述底边的长度小于或等于所述第一条边的二分之一长度。通过这样的设置,一个运单会尽量在一个较小的矩形区域内,所以配送车辆也会在该矩形区域内配送,所以配送距离小,配送效率高,可以满足对时效性需求较高的订单。

需要说明的是,在步骤s101中,可以是由用户输入初始矩形坐标区域的起始点和坐标高度增量,然后根据用户输入的起始点和坐标高度增量在城市矩形配送区域中的初始矩形坐标区域。

在另一种实施方式中,步骤s101也可以是根据默认的起始点和默认的高度增量确定初始矩形坐标区域。

可选的,在另一种实施方式中,步骤s101也可以是根据前次运单生成停止的坐标点和预设的高度增量确定初始矩形坐标区域。

步骤s102,遍历所述城市矩形配送区域内的原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第一订单容器数量总和,并判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件。

其中,所述遍历是指先从原始订单表中取一个订单,计算该订单是否位于所述初始矩形坐标区域中,如果位于所述初始矩形坐标区域中,计算该订单的第一订单容器数量总和,再判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件。若不满足预设盛装条件,则重复执行上述步骤,若满足预设盛装条件,则停止遍历。

其中,所述原始订单表包括多个订单信息,每个订单信息包括容器数量和配送地址。在具体实施过程中,配送地址可以为订单坐标,订单坐标相较于街道地址更准确。

在本实施例中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量。例如,车辆的预设最大盛装容器数量为160,预设最小盛装容器数量为153,那么预设盛装条件可以设置为实际盛装容器数量大于或等于153,并且小于或等于160。换言之,若第一订单容器数量总和位于153-160(包括端点)的区间范围内,则认为第一订单容器数量总和满足该车辆的预设盛装条件。

在其它实施例中,预设盛装条件包括实际盛装容器数量等于预设的盛装容器数量值,该预设的盛装容量数量值可以根据实际需求进行配置,通常以使车辆达到满载的原则进行配置。

作为一种实施方式,步骤s102包括:遍历所述城市矩形配送区域内的原始订单表,每次在查找到位于所述初始矩形坐标区域中的新订单时,将所述新订单的订单容器数量和当前的累加数量之和进行求和,并判断求和的结果是否大于所述预设车辆的预设最大盛装容器数量;其中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量;若所述求和的结果小于所述预设最大盛装容器数量时,判断所述求和的结果是否大于所述预设最小盛装容器数量。

例如,所述原始订单表中有订单a、订单b、订单c、订单d和订单e。先从原始订单表遍历出一个位于初始矩形坐标区域中的订单,假如该订单为订单a,此时订单a的容器数量为a,订单b的容器为b,订单c的容器为c、订单d的容器为d和订单e的容器为e,所述预设最大盛装容器数量为m,所述预设最小盛装容器数量m,假设所述订单a的容器数量a小于所述预设最大盛装容器数量m且小于所述预设最小盛装容器数量m,则继续遍历该原始订单表,此时原始订单表中还剩余订单b、订单c、订单d和订单e没有遍历,则在第二次在查找到位于所述初始矩形坐标区域中的新订单b时,将所述新订单b的订单容器数量b和当前的累加数量之和a进行求和,则求和为a+b,并判断a+b的结果是否大于所述预设车辆的预设最大盛装容器数量m,若a+b小于所述m且小于m,则再次进行遍历,直到所求和的结果满足预设盛装条件时为止,或者是在求和的结果小于预设最大盛装容器数量m,但是已经遍历完所述原始订单表中的所有订单时为止。例如,可以设置一个程序,其中该程序包括一个容器变量,该容器变量初始为零,且该容器变量等于当前已经遍历到的容器变量之和。从而判断容器变量之和是否大于该车预设最大盛装容器数量m,直到所求和的结果满足预设盛装条件时为止,或者是在所求和的结果小于预设最大盛装容器数量m,但是已经遍历完所述原始订单表中的所有订单时为止。

在本实施例中,步骤s102还包括:若所述求和的结果大于所述预设最大盛装容器数量时,则跳过所述新订单,继续遍历所述原始订单表,查找位于所述初始矩形坐标区域中的其余新订单。

例如,当前已经遍历得到的求和结果为n,所述预设最大盛装容器数量为m,所述m大于所述n,所述原始订单表中剩余订单分别为订单1、订单2、订单3,此时继续进行遍历,以获取所述原始订单表中的位于初始矩形坐标区域中的订单,假设该订单为订单1,所述订单1的容器数量为x,此时求和结果为n+x,若n+x大于所述m,则跳过所述订单1,即将所述订单1排除,例如,可以预先设置一个临时订单表,将满足当前已经遍历到的订单且这些订单的求和结果小于预设最大盛装容器数量时,将这些订单加入到该临时订单表,将不满足的继续保留在原始订单表中,以实现跳过不满足的订单。其中,当将所述订单1跳过后,此时的n还是小于所述m,因此,继续遍历所述原始订单表,查找位于所述初始矩形坐标区域中的其余新订单,如查找下一个新订单,假设该新订单为订单2,若订单2的容器数量为a,此时求和结果为a+n,若a+n小于或等于所述预设最大盛装容器数量m时,将所述订单2再加入到该临时订单表。若a+n依然大于所述预设最大盛装容器数量m,则跳过订单2,继续遍历该原始订单表,直到所求和的结果满足预设盛装条件时为止,或者是在所求和的结果小于预设最大盛装容器数量m,但是已经遍历完所述原始订单表中的所有订单时为止。

作为一种实施方式,所述方法还包括:在所述第一订单容器数量总和大于所述预设最大盛装容器数量时停止遍历,并根据所述当前的累加数量之和对应的订单生成所述预设车辆的运单。

继续以前述例子为例来说,例如在当前的累加数量之和为n时,判断求和的结果n+a大于预设最大盛装容器数量m,在本实施例中,就不再跳过订单2,继续遍历原始订单表,而是停止遍历,并且以当前的累加数量之和n所对应的订单生成预设车辆的运单。此时n是小于预设最大盛装容器数量,有可能大于预设最小盛装容器数量,也有可能小于预设最小盛装容器数量。

例如,当前的累加数量之和对应的订单有订单a、订单b和订单c,则所生成的运单包括订单a、订单b和订单c的订单信息,以及运输订单a、订单b和订单c的车辆信息。例如,先创建一个运单;再创建一个盛装订单集合;把临时订单集合中的订单信息添加到盛装订单集合,如把订单a、订单b和订单c的订单信息添加到盛装订单集合;将盛装订单集合、车辆信息、驾驶员信息、订单容器数量、订单数量、订单重量绑定到运单中,从而生成所述运单。

需要说明的是,在该种情况下,因为没有跳过订单,所以在生成运单时,遍历过的位于初始矩形区域中的订单已生成运单,不会出现漏单的情况,所以生成下一个运单时,可以从新运单所对应的订单开始遍历,所以此时重复执行步骤s101时,确定出的初始矩形坐标区域的底边是与第一条边平行的。

步骤s103,在所述第一订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量。

其中,所述预设车辆可以是物流配送公司的任意一辆配送车辆,该车辆对应有预设最大盛装容器数量以及预设最小盛装容器数量。举例来说,可以获取物流配送公司的车辆集合,然后按照随机算法随机选择一辆车作为步骤s102中的预设车辆。

可选的,车辆还对应有车辆编号,例如车牌号,还对应有车型等。

可选的,车辆还对应有驾驶员信息,例如驾驶员的姓名,联系方式等。

作为一种实施方式,步骤s103包括:在所述第一订单容器数量总和等于所述预设最大盛装容器数量时停止遍历,并根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

假设,所述第一订单容器数量总和为n,所述预设最大盛装容器数量为x,则在所述n等于所述x时,将所述第一订单容器数量总和n所对应的订单a1、订单a2、订单a3和订单a4按照预设规则生成所述预设车辆的运单,例如,根据订单a1、订单a2、订单a3和订单a4的订单标识以及每个订单的容器数量以及订单坐标以及配送车辆信息和驾驶员信息生成所述运单。或者是根据订单a1、订单a2、订单a3和订单a4的订单标识以及每个订单的容器数量、订单坐标、配送车辆信息、驾驶员信息以及配送导航路径信息生成所述运单。在此,不作具体限定。

作为一种实施方式,步骤s103包括:在所述第一订单容器数量总和小于所述预设最大盛装容器数量且大于或等于预设最小盛装容器数量时停止遍历,并根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

当然,在其它实施例中,根据预设盛装条件的不同,步骤s103停止遍历的时机也不同,生成运单的订单也不同,在此不再详述。

可选的,在本实施例中,所述多单拼车运单生成方法还包括:

在遍历完所述原始订单表时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中还存在所述初始矩形坐标区域之外的其它坐标区域的订单,则通过将所述初始矩形坐标区域的高度增加所述预设高度增量,获得新的矩形坐标区域;遍历所述原始订单表,计算当前遍历过的位于所述新的矩形坐标区域中的订单的第三订单容器数量总和,并判断所述第三订单容器数量总和是否满足预设车辆的预设盛装条件;在所述第三订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第三订单容器数量总和对应的订单生成所述预设车辆的运单。

例如,如图3所示,在遍历完所述原始订单表中位于初始矩形坐标区域a的订单时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中还存在所述初始矩形坐标区域之外的其它坐标区域的订单时,则通过将所述初始矩形坐标区域的高度增加所述预设高度增量,获得新的矩形坐标区域b,若所述初始矩形坐标区域a的高度为x,则矩形坐标区域b的高度为2x,所述矩形坐标区域b的面积大于初始矩形坐标区域a,然后再遍历所述原始订单表,计算当前遍历过的位于所述新的矩形坐标区域b中的订单的第三订单容器数量总和,并判断所述第三订单容器数量总和是否满足预设车辆的预设盛装条件;在所述第三订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第三订单容器数量总和对应的订单生成所述预设车辆的运单。其中,重复遍历的过程可以参考前述详细说明,在此,不再赘述。

通过重新遍历包括初始矩形坐标区域之内的新的矩形坐标区域的订单,可以防止漏配订单。

作为一种实施方式,如图4所示,在遍历完所述原始订单表中位于初始矩形坐标区域a的订单时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中还存在所述初始矩形坐标区域之外的其它坐标区域的订单时,则通过将所述初始矩形坐标区域的高度增加所述预设高度增量,并且底边增加预设宽度增量,获得新的矩形坐标区域b2,若所述初始矩形坐标区域a的高度为x,则新的矩形坐标区域b2的高度为2x,新的矩形坐标区域b2的底边的长度等于所述初始矩形坐标区域a底边长度加预设宽度增量y。其中,x和y可以相同,也可以不相同。

需要说明的是,上述两种实施方式,本申请所属技术领域的技术人员可以根据需求,来选择第一种方式或第二种方式。

在本实施例中,所述多单拼车运单生成方法还包括:在遍历完所述原始订单表时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中不存在所述初始矩形坐标区域之外的其它坐标区域的订单,则根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

在本实施例中,通常是尾单或者原始订单数量较小的情况,发现已经遍历完原始订单表,但是第一订单容器数量总和小于预设最大盛装容器数量,甚至小于预设最小盛装容器数量,但是因为除了这些订单,已经没有其他订单了,所以也会生成运单。

请参考图5所示,在本实施例中,在所述步骤s103之后运单生成方法还包括如下步骤:

步骤s201,将所述第一订单容器数量总和对应的订单从所述原始订单表中删除。

步骤s202,遍历删除后的所述原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第二订单容器数量总和,并判断所述第二订单容器数量总和是否满足另一预设车辆的预设盛装条件。

步骤s203,在所述第二订单容器数量总和满足所述另一车辆的预设盛装条件时停止遍历,并根据所述第二订单容器数量总和对应的订单生成所述另一预设车辆的运单。

通过步骤s201,将已经生成运单的订单从原始订单表中删除,避免在步骤s202中被遍历到,避免了重复配单的情况。

步骤s202和步骤s203的具体实现过程请参考前述关于步骤s102和步骤s103以及相关的描述。通过步骤s201至步骤s203,可以为下一辆车生成运单。

为了便于本领域技术人员更加清楚的理解本发明实施例中的多单拼车运单生成方法,以下将举例说明多单拼车运单生成方法的实施过程,如图6所示,对于本实施例提供的多单拼车运单生成方法,可以先通过步骤s301从原始订单表中获取订单,如在确定的城市矩形配送区域的原始订单表进行遍历,以获取预设矩形坐标区间中的订单。

再通过步骤s302判断所述订单所在坐标是否位于预设坐标区间内,即判断从原始订单表中所获取到的订单是否位于所述初始矩形坐标区域或新的矩形坐标区域中。其中,所述预设坐标区间例如为前述的初始矩形坐标区域,或前述的新的矩形坐标区域或者是其它预设的坐标区域。

其中,若订单位于所述预设坐标区间中,执行步骤s303,判断所述订单所携带的第一订单容器数量总和是否满足预设盛装条件。如,通过计算当前遍历过的位于所述初始矩形坐标区域中的每个订单的容器数量之和,以获得第一订单容器数量总和,再判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件。如判断所述第一订单容器数量总和是否大于所述预设车辆的预设最大盛装容器数量;其中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量。

其中,在所述第一订单容器数量总和满足所述预设盛装条件时,作为一种实施方式,可以执行步骤s304,将所述订单加入预设临时订单集合,所述预设临时订单集合用于存储满足所述预设盛装条件所对应的所有订单,其中,步骤s304中所述的订单是指所述第一订单容器数量总和所对应的订单。当然,在实际运用过程中,也可以不使用预设临时订单集合,而是直接根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

其中,当所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中还存在所述初始矩形坐标区域之外的其它坐标区域的订单时,执行步骤s309,判断所述预设坐标区间与预设坐标增量之和是否超出目标运送区域,即通过将所述初始矩形坐标区域的高度增加所述预设高度增量,获得新的矩形坐标区域,再判断新的矩形坐标区域是否已经大于了所述目标运送区域,其中,所述目标运送区域是指上述城市矩形配送区域。

其中,在新的矩形坐标区域已经大于了所述目标运送区域时,执行步骤s310,基于所述预设临时订单集合生成运单。

其中,在新的矩形坐标区域小于所述目标运送区域时,再继续遍历所述原始订单表,计算当前遍历过的位于所述新的矩形坐标区域中的订单的第三订单容器数量总和,并判断所述第三订单容器数量总和是否满足预设车辆的预设盛装条件;在所述第三订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第三订单容器数量总和对应的订单生成所述预设车辆的运单。若在遍历完所述原始订单表时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中不存在所述初始矩形坐标区域之外的其它坐标区域的订单,则根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

其中,当所述第一订单容器数量总和不满足所述预设盛装条件时,执行步骤s305,在所述第一订单容器数量总和不满足预设盛装条件时,判断第一订单容器数量总和是否小于或等于预设最大盛装容器数量。若所述求和的结果大于所述预设最大盛装容器数量时,根据所述当前的累加数量之和对应的订单生成所述预设车辆的运单。

若所述第一订单容器数量总和小于所述预设最大盛装容器数量,执行步骤s306将所述订单从所述原始订单表中移除,即将所述第一订单容器数量总和对应的订单从所述原始订单表中删除,再执行步骤s307判断所述预设临时订单集合中的第二订单容器数量总和是否满足所述预设盛装条件且所述原始订单表是否为空,即再次遍历删除后的所述原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第二订单容器数量总和,并判断所述第二订单容器数量总和是否满足另一预设车辆的预设盛装条件,且当前是否已经遍历完。

当所述第二订单容器数量总和满足另一预设车辆的预设盛装条件,且当前原始订单表为空,再执行步骤s310,基于所述预设临时订单集合生成运单。即当所述预设临时订单集合中的所有订单之和所对应的所述第二订单容器数量总和满足所述另一车辆的预设盛装条件时停止遍历,并根据所述第二订单容器数量总和对应的订单生成所述另一预设车辆的运单。

当所述第二订单容器数量总和不满足另一预设车辆的预设盛装条件,且当前原始订单表不为空时,再执行步骤s309。

其中,当所述求和的结果大于所述预设最大盛装容器数量时,执行步骤s308,将当前的累加数量之和对应的订单加入到所述预设临时订单集合中。然后跳过所述新订单,继续遍历所述原始订单表,查找位于所述初始矩形坐标区域中的其余新订单。

然后再执行步骤s310基于所述预设临时订单集合生成运单,并清空所述预设临时订单集合。

本实施例提供的多单拼车运单生成方法,通过先确定城市矩形配送区域中的初始矩形坐标区域,其中,所述初始矩形坐标区域的底边与所述城市矩形配送区域的第一条边重合或平行,所述初始矩形坐标区域的高度为预设高度增量;再遍历所述城市矩形配送区域内的原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第一订单容器数量总和,并判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件;最后在所述第一订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单,并且还通过将所述第一订单容器数量总和对应的订单从所述原始订单表中删除,再遍历删除后的所述原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第二订单容器数量总和,并判断所述第二订单容器数量总和是否满足另一预设车辆的预设盛装条件,然后再在所述第二订单容器数量总和满足所述另一车辆的预设盛装条件时停止遍历,并根据所述第二订单容器数量总和对应的订单生成所述另一预设车辆的运单。从而对原始订单表中的所有订单实现了最佳盛装运单的生成,从而实现了预设的最佳盛装运单生成,并且一辆车辆在一个相对全城区域而言较小的区域配送,所以从盛装情况和配送区域两方面同时优化,所以提高了配送效率,满足时效性较高的订单的配送。

第二实施例

对应于第一实施例中的多单拼车运单生成方法,图7示出了采用第一实施例所示的多单拼车运单生成方法一一对应的多单拼车运单生成装置。如图7所示,所述多单拼车运单生成装置400包括确定单元410、处理单元420、生成单元430、删除单元440、遍历单元450和第二生成单元460。其中,确定单元410、处理单元420、生成单元430、删除单元440、遍历单元450和第二生成单元460的实现功能与第一实施例中对应的步聚一一对应,为避免赘述,本实施例不一一详述。

确定单元410,用于确定城市矩形配送区域中的初始矩形坐标区域,其中,所述初始矩形坐标区域的底边与所述城市矩形配送区域的第一条边重合或平行,所述初始矩形坐标区域的高度为预设高度增量。

作为一种实施方式,所述底边的长度小于或等于所述第一条边的二分之一长度。

处理单元420,用于遍历所述城市矩形配送区域内的原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第一订单容器数量总和,并判断所述第一订单容器数量总和是否满足预设车辆的预设盛装条件。

作为一种实施方式,所述处理单元420还用于遍历所述城市矩形配送区域内的原始订单表,每次在查找到位于所述初始矩形坐标区域中的新订单时,将所述新订单的订单容器数量和当前的累加数量之和进行求和,并判断求和的结果是否大于所述预设车辆的预设最大盛装容器数量;其中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量;若所述求和的结果小于所述预设最大盛装容器数量时,判断所述求和的结果是否大于所述预设最小盛装容器数量。

作为一种实施方式,所述处理单元420还用于遍历所述城市矩形配送区域内的原始订单表,每次在查找到位于所述初始矩形坐标区域中的新订单时,将所述新订单的订单容器数量和当前的累加数量之和进行求和,并判断求和的结果是否大于所述预设车辆的预设最大盛装容器数量;其中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量;若所述求和的结果小于所述预设最大盛装容器数量时,判断所述求和的结果是否大于所述预设最小盛装容器数量;若所述求和的结果大于所述预设最大盛装容器数量时,则跳过所述新订单,继续遍历所述原始订单表,查找位于所述初始矩形坐标区域中的其余新订单。

作为一种实施方式,所述处理单元420还用于遍历所述城市矩形配送区域内的原始订单表,每次在查找到位于所述初始矩形坐标区域中的新订单时,将所述新订单的订单容器数量和当前的累加数量之和进行求和,并判断求和的结果是否大于所述预设车辆的预设最大盛装容器数量;其中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量;若所述求和的结果小于所述预设最大盛装容器数量时,判断所述求和的结果是否大于所述预设最小盛装容器数量;若所述求和的结果大于所述预设最大盛装容器数量时停止遍历,并根据所述当前的累加数量之和对应的订单生成所述预设车辆的运单。

作为一种实施方式,所述处理单元420还用于遍历所述城市矩形配送区域内的原始订单表,每次在查找到位于所述初始矩形坐标区域中的新订单时,将所述新订单的订单容器数量和当前的累加数量之和进行求和,并判断求和的结果是否大于所述预设车辆的预设最大盛装容器数量;其中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量;若所述求和的结果小于所述预设最大盛装容器数量时,判断所述求和的结果是否大于所述预设最小盛装容器数量;在遍历完所述原始订单表时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中还存在所述初始矩形坐标区域之外的其它坐标区域的订单,则通过将所述初始矩形坐标区域的高度增加所述预设高度增量,获得新的矩形坐标区域;遍历所述原始订单表,计算当前遍历过的位于所述新的矩形坐标区域中的订单的第三订单容器数量总和,并判断所述第三订单容器数量总和是否满足预设车辆的预设盛装条件;在所述第三订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第三订单容器数量总和对应的订单生成所述预设车辆的运单。

作为一种实施方式,所述处理单元420还用于遍历所述城市矩形配送区域内的原始订单表,每次在查找到位于所述初始矩形坐标区域中的新订单时,将所述新订单的订单容器数量和当前的累加数量之和进行求和,并判断求和的结果是否大于所述预设车辆的预设最大盛装容器数量;其中,所述预设盛装条件包括实际盛装容器数量需要大于或等于预设最小盛装容器数量并且小于或等于所述预设最大盛装容器数量;若所述求和的结果小于所述预设最大盛装容器数量时,判断所述求和的结果是否大于所述预设最小盛装容器数量;在遍历完所述原始订单表时,若所述第一订单容器数量总和小于所述预设最大盛装容器数量且所述原始订单表中不存在所述初始矩形坐标区域之外的其它坐标区域的订单,则根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

生成单元430,用于在所述第一订单容器数量总和满足所述预设盛装条件时停止遍历,并根据所述第一订单容器数量总和对应的订单生成所述预设车辆的运单。

删除单元440,用于将所述第一订单容器数量总和对应的订单从所述原始订单表中删除。

遍历单元450,用于遍历删除后的所述原始订单表,计算当前遍历过的位于所述初始矩形坐标区域中的订单的第二订单容器数量总和,并判断所述第二订单容器数量总和是否满足另一预设车辆的预设盛装条件。

第二生成单元460,用于在所述第二订单容器数量总和满足所述另一车辆的预设盛装条件时停止遍历,并根据所述第二订单容器数量总和对应的订单生成所述另一预设车辆的运单。

第三实施例

如图8所示,是服务器300的示意图。所述服务器300包括存储器302、处理器304以及存储在所述存储器302中并可在所述处理器304上运行的计算机程序303,所述计算机程序303被处理器304执行时实现第一实施例中的所述多单拼车运单生成方法,为避免重复,此处不再赘述。或者,所述计算机程序303被处理器304执行时实现第二实施例所述多单拼车运单生成装置中各模型/单元的功能,为避免重复,此处不再赘述。

示例性的,计算机程序303可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器302中,并由处理器304执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序303在服务器300中的执行过程。例如,计算机程序303可以被分割成第二实施例中的确定单元410、处理单元420、生成单元430、删除单元440、遍历单元450和第二生成单元460,各模块的具体功能如第一实施例或第二实施例所述,在此不一一赘述。

所述服务器300可以是网络服务器、数据库服务器等。

其中,存储器302可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器302用于存储程序,所述处理器304在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的方法可以应用于处理器304中,或者由处理器304实现。

处理器304可能是一种集成电路芯片,具有信号的处理能力。上述的处理器304可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

可以理解的是,图8所示的结构仅为服务器300的一种结构示意图,服务器300还可以包括比图8所示更多或更少的组件。图8中所示的各组件可以采用硬件、软件或其组合实现。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取服务器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个服务器中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的服务器包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1