本發(fā)明涉及電子商務(wù)技術(shù)領(lǐng)域,尤其是涉及一種訂單拆分發(fā)貨系統(tǒng)及拆分發(fā)貨方法。
背景技術(shù):
在電子商務(wù)中,電商平臺(tái)與erp軟件商合作,由電商平臺(tái)提供數(shù)據(jù)接口到給erp軟件,erp軟件根據(jù)商家在電商平臺(tái)上的唯一認(rèn)證信息,獲取電商平臺(tái)上的訂單數(shù)據(jù),進(jìn)行備貨發(fā)貨,然后erp軟件通過電商平臺(tái)提供的行為回調(diào)接口,將發(fā)貨信息同步至電商平臺(tái)。這樣,商家就可以通過操作erp軟件從而實(shí)現(xiàn)對(duì)平臺(tái)訂單的處理發(fā)貨等行為。
但是,在上述過程中,如果某個(gè)訂單包含的某個(gè)sku商品的數(shù)量庫存暫時(shí)缺失,或者因?yàn)閭}庫調(diào)度問題短時(shí)無法到位,從而整個(gè)訂單將無法進(jìn)行發(fā)貨處理,整個(gè)訂單狀態(tài)為未發(fā)貨狀態(tài)。如果商家等待貨物齊全進(jìn)行發(fā)運(yùn),則發(fā)貨時(shí)間過長(zhǎng),商家信譽(yù)和客戶體驗(yàn)會(huì)受到影響,同時(shí)商家存在整單延遲處罰的風(fēng)險(xiǎn)。例如:買家a在商家b店鋪購買同款耐克籃球訓(xùn)練服20件,商家在c倉庫的庫存有10件,d倉庫有15件,這樣商家可能需要先調(diào)度庫存,集齊20件后整批發(fā)貨,這樣必然會(huì)影響發(fā)貨速度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服上述技術(shù)不足,提出一種訂單拆分發(fā)貨系統(tǒng)及拆分發(fā)貨方法,解決現(xiàn)有技術(shù)中集齊貨物再進(jìn)行發(fā)貨導(dǎo)致發(fā)貨時(shí)間滯后、影響商家信譽(yù)和客戶體驗(yàn)的技術(shù)問題。
為達(dá)到上述技術(shù)目的,本發(fā)明的技術(shù)方案提供一種訂單拆分發(fā)貨方法,包括如下步驟:
S1、獲取訂單信息,提取訂單信息中訂單商品的商品ID及與商品ID相對(duì)應(yīng)的訂單數(shù)量和收貨地址;
S2、根據(jù)收貨地址判斷能夠發(fā)貨的至少兩個(gè)可發(fā)貨倉庫,獲取至少兩個(gè)可發(fā)貨倉庫的該訂單商品的庫存量,將至少兩個(gè)可發(fā)貨倉庫按庫存量遞減進(jìn)行排序;
S3、按可發(fā)貨倉庫的排序依次發(fā)貨,且當(dāng)前可發(fā)貨倉庫內(nèi)訂單商品的庫存量不足時(shí),則不足的訂單商品由排序于當(dāng)前可發(fā)貨倉庫的后一位可發(fā)貨倉庫進(jìn)行發(fā)貨。
優(yōu)選的,所述步驟S1還包括根據(jù)商品ID判斷該訂單商品是否為可拆單商品,若為可拆單商品則進(jìn)入步驟S2,否則按單一訂單發(fā)貨。
優(yōu)選的,所述步驟S2包括:
S21、判斷與收貨地址的距離最近的兩個(gè)可用倉庫;
S22、獲取上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量,若上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量之和大于或等于訂單數(shù)量,則判斷與收貨地址的距離最近的兩個(gè)可用倉庫為可發(fā)貨倉庫,若上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量小于訂單數(shù)量,則上述兩個(gè)可用倉庫為待發(fā)貨倉庫并進(jìn)入步驟S23;
S23、獲取剩余可用倉庫中與收貨地址的距離最近的一個(gè)可用倉庫及其內(nèi)該訂單商品的庫存量,若該一個(gè)可用倉庫內(nèi)該訂單商品的庫存量與所有待發(fā)貨倉庫內(nèi)該訂單商品的庫存量之和大于或等于訂單數(shù)量,則判斷該一個(gè)可用倉庫和所有待發(fā)貨倉庫均為可發(fā)貨倉庫,若該一個(gè)可用倉庫內(nèi)該訂單商品的庫存量與所有待發(fā)貨倉庫的庫存量之和小于訂單數(shù)量,則判斷該一個(gè)可用倉庫為待發(fā)貨倉庫并進(jìn)入步驟S24;
S24、重復(fù)步驟S23至待發(fā)貨倉庫均形成為可發(fā)貨倉庫;
S25、將形成的至少兩個(gè)可發(fā)貨倉庫按其內(nèi)該訂單商品的庫存量遞減進(jìn)行排序。
優(yōu)選的,所述步驟S2還包括:
S20、判定與收貨地址的距離在設(shè)定范圍內(nèi)的所有倉庫為可用倉庫,獲取可用倉庫的數(shù)量,若可用倉庫的數(shù)量小于兩個(gè)或所有可用倉庫內(nèi)該訂單商品的庫存量之和小于訂單數(shù)量,則形成提示信息。
優(yōu)選的,所述步驟S3包括:
S31、由排序首位的可發(fā)貨倉庫進(jìn)行發(fā)貨,若其內(nèi)該訂單商品的庫存量大于等于訂單數(shù)量,則按訂單數(shù)量形成總訂單包裹并按總訂單包裹進(jìn)行發(fā)貨,若其內(nèi)該訂單商品的庫存量小于訂單數(shù)量,則按訂單數(shù)量形成一個(gè)子訂單包裹并進(jìn)入步驟S32;
S32、不足數(shù)量的訂單商品由排序下一位的可發(fā)貨倉庫發(fā)貨,若下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量大于等于不足數(shù)量,則按訂單商品的不足數(shù)量形成下一個(gè)子訂單包裹并進(jìn)入步驟S34,若下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量小于不足數(shù)量,則按下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量形成一個(gè)子訂單包裹,并進(jìn)入步驟S33;
S33、重復(fù)步驟S32,直至該訂單數(shù)量的訂單商品全部形成子訂單包裹;
S34、按形成的子訂單包裹由對(duì)應(yīng)的可發(fā)貨倉庫進(jìn)行發(fā)貨。
同時(shí),本發(fā)明還提供一種訂單拆分發(fā)貨系統(tǒng),包括:
訂單信息獲取模塊,其用于獲取訂單信息,提取訂單信息中訂單商品的商品ID及與商品ID相對(duì)應(yīng)的訂單數(shù)量和收貨地址;
庫存量獲取模塊,根據(jù)收貨地址判斷能夠發(fā)貨的至少兩個(gè)可發(fā)貨倉庫,獲取至少兩個(gè)可發(fā)貨倉庫的該訂單商品的庫存量,將至少兩個(gè)可發(fā)貨倉庫按庫存量遞減進(jìn)行排序;
發(fā)貨模塊,其用于按可發(fā)貨倉庫的排序依次發(fā)貨,且當(dāng)前可發(fā)貨倉庫內(nèi)訂單商品的庫存量不足時(shí),則不足的訂單商品由排序于當(dāng)前可發(fā)貨倉庫的后一位可發(fā)貨倉庫進(jìn)行發(fā)貨。
優(yōu)選的,所述訂單信息獲取模塊還用于根據(jù)商品ID判斷該訂單商品是否為可拆單商品,若為可拆單商品則進(jìn)入庫存量獲取模塊,否則按單一訂單發(fā)貨。
優(yōu)選的,所述庫存量獲取模塊包括:
第一判斷單元,其用于判斷與收貨地址的距離最近的兩個(gè)可用倉庫;
第二判斷單元,其用于獲取上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量,若上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量之和大于或等于訂單數(shù)量,則判斷與收貨地址的距離最近的兩個(gè)可用倉庫為可發(fā)貨倉庫,若上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量小于訂單數(shù)量,則上述兩個(gè)可用倉庫為待發(fā)貨倉庫并進(jìn)入第三判斷單元;
第三判斷單元,其用于獲取剩余可用倉庫中與收貨地址的距離最近的一個(gè)可用倉庫及其內(nèi)該訂單商品的庫存量,若該一個(gè)可用倉庫內(nèi)該訂單商品的庫存量與所有待發(fā)貨倉庫內(nèi)該訂單商品的庫存量之和大于或等于訂單數(shù)量,則判斷該一個(gè)可用倉庫和所有待發(fā)貨倉庫均為可發(fā)貨倉庫,若該一個(gè)可用倉庫內(nèi)該訂單商品的庫存量與所有待發(fā)貨倉庫的庫存量之和小于訂單數(shù)量,則判斷該一個(gè)可用倉庫為待發(fā)貨倉庫并進(jìn)入循環(huán)判斷單元;
循環(huán)判斷單元,其用于重復(fù)第三判斷單元至待發(fā)貨倉庫均形成為可發(fā)貨倉庫;
排序單元,其用于將形成的至少兩個(gè)可發(fā)貨倉庫按其內(nèi)該訂單商品的庫存量遞減進(jìn)行排序。
優(yōu)選的,所述庫存量獲取模塊還包括可用倉庫篩選單元,其用于判定與收貨地址的距離在設(shè)定范圍內(nèi)的所有倉庫為可用倉庫,獲取可用倉庫的數(shù)量,若可用倉庫的數(shù)量小于兩個(gè)或所有可用倉庫內(nèi)該訂單商品的庫存量之和小于訂單數(shù)量,則形成提示信息。
優(yōu)選的,所述發(fā)貨模塊包括:
第一訂單形成單元,其用于設(shè)定由排序首位的可發(fā)貨倉庫進(jìn)行發(fā)貨,若排序首位的可發(fā)貨倉庫內(nèi)該訂單商品的庫存量大于等于訂單數(shù)量,則按訂單數(shù)量形成總訂單包裹并按總訂單包裹進(jìn)行發(fā)貨,若排序首位的可發(fā)貨倉庫內(nèi)該訂單商品的庫存量小于訂單數(shù)量,則按訂單數(shù)量形成一個(gè)子訂單包裹并進(jìn)入第二訂單形成單元;
第二訂單形成單元,其用于設(shè)定不足數(shù)量的訂單商品由排序下一位的可發(fā)貨倉庫發(fā)貨,若下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量大于等于不足數(shù)量,則按訂單商品的不足數(shù)量形成下一個(gè)子訂單包裹并進(jìn)入發(fā)貨單元,若下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量小于不足數(shù)量,則按下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量形成一個(gè)子訂單包裹,并進(jìn)入循環(huán)訂單形成單元;
循環(huán)訂單形成單元,其用于重復(fù)第二訂單形成單元,直至該訂單數(shù)量的訂單商品全部形成子訂單包裹;
發(fā)貨單元、按形成的子訂單包裹由對(duì)應(yīng)的可發(fā)貨倉庫進(jìn)行發(fā)貨。
與現(xiàn)有技術(shù)相比,本發(fā)明根據(jù)訂單商品的收貨地址判斷可發(fā)貨倉庫,并根據(jù)可發(fā)貨倉庫的庫存量進(jìn)行排序,當(dāng)庫存量不足時(shí),其可根據(jù)排序順序依次進(jìn)行發(fā)貨,直至滿足訂單數(shù)量,其有利于保證不同的可發(fā)貨倉庫同時(shí)進(jìn)行發(fā)貨,避免了時(shí)間浪費(fèi),而且按庫存量排序發(fā)貨,可最大限度的減少出貨次數(shù),減少物流成本。
附圖說明
圖1是本發(fā)明的訂單拆分發(fā)貨方法的流程圖;
圖2是本發(fā)明的步驟S2的子流程圖;
圖3是本發(fā)明的步驟S3的子流程圖;
圖4是本發(fā)明的訂單拆分發(fā)貨系統(tǒng)的連接框圖;
圖5是本發(fā)明的庫存量獲取模塊的連接框圖;
圖6是本發(fā)明的發(fā)貨模塊的連接框圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請(qǐng)參閱圖1~3,本發(fā)明的實(shí)施例提供了一種訂單拆分發(fā)貨方法,包括如下步驟:
S1、獲取訂單信息,提取訂單信息中訂單商品的商品ID及與商品ID相對(duì)應(yīng)的訂單數(shù)量和收貨地址;
具體的,本實(shí)施例將訂單信息設(shè)為至少由商品ID、訂單數(shù)量、收貨地址組成,從而便于信息的提取。
其中,由于部分商家的商品只有一個(gè)倉庫,其不存在進(jìn)行拆單的狀況,為了避免其占用資源,本實(shí)施例所述步驟S1還包括根據(jù)商品ID判斷該訂單商品是否為可拆單商品,若為可拆單商品則進(jìn)入步驟S2,否則按單一訂單發(fā)貨,即在商家注冊(cè)時(shí),需要獲取商家的倉庫信息,若商家只有一個(gè)倉庫或商家僅僅同意單倉庫發(fā)貨,則判定該商家銷售的商品為非拆單商品,非拆單商品均按單一訂單發(fā)貨,其按現(xiàn)有的常規(guī)方式發(fā)貨。當(dāng)商家有兩個(gè)或多個(gè)倉庫時(shí),其商家同意可分別發(fā)貨時(shí),則該商家的商品為可拆單商品。
S2、根據(jù)收貨地址判斷能夠發(fā)貨的至少兩個(gè)可發(fā)貨倉庫,獲取至少兩個(gè)可發(fā)貨倉庫的該訂單商品的庫存量,將至少兩個(gè)可發(fā)貨倉庫按庫存量遞減進(jìn)行排序;
具體的,本實(shí)施例所述步驟S2還包括:
S20、判定與收貨地址的距離在設(shè)定范圍內(nèi)的所有倉庫為可用倉庫,獲取可用倉庫的數(shù)量,若可用倉庫的數(shù)量小于兩個(gè)或所有可用倉庫內(nèi)該訂單商品的庫存量之和小于訂單數(shù)量,則形成提示信息。
由于距離收貨地址過遠(yuǎn)的倉庫易導(dǎo)致物流成本劇增,且易導(dǎo)致物流資源的浪費(fèi),故不同的倉庫均針對(duì)設(shè)定范圍的地區(qū)進(jìn)行發(fā)貨,即將位于收貨地址設(shè)定范圍內(nèi)的倉庫為可用倉庫,所有訂單商品均由可用倉庫進(jìn)行發(fā)貨。當(dāng)可用倉庫只有一個(gè)時(shí),則說明無法進(jìn)行拆單,則形成提示信息,具體形成可用倉庫個(gè)數(shù)為一的提醒信息,以提醒操作者其只能按常規(guī)方式進(jìn)行發(fā)貨,或者通過人工協(xié)調(diào)調(diào)貨;當(dāng)所有可用倉庫內(nèi)的該訂單商品的庫存量之和低于訂單數(shù)量時(shí),其形成可用倉庫庫存量不足的提示信息,以提醒操作者注意,避免其未能及時(shí)發(fā)貨。
需要說明的是,本實(shí)施例有兩種判定可發(fā)貨倉庫的方式,一種為判定設(shè)范圍內(nèi)的所有可用倉庫均為可發(fā)貨倉庫,然后獲取至少兩個(gè)可發(fā)貨倉庫的該訂單商品的庫存量,將至少兩個(gè)可發(fā)貨倉庫按庫存量遞減進(jìn)行排序;第二種方式為按步驟S21~S24進(jìn)行判定。本實(shí)施例第一種判定方式可在一定條件下減少發(fā)貨次數(shù),進(jìn)而減少運(yùn)輸成本,而第二種判定方式則能夠在大部分實(shí)際狀況下縮短運(yùn)輸距離以降低運(yùn)輸成本,在實(shí)際應(yīng)用時(shí),可根據(jù)具體情況進(jìn)行選用,本實(shí)施例優(yōu)選采用第二種判定方式。
S21、判斷與收貨地址的距離最近的兩個(gè)可用倉庫;
由于收貨地址與發(fā)貨倉庫的距離直接影響發(fā)貨的速度和運(yùn)費(fèi),故本實(shí)施例確定可用倉庫后,在可用倉庫中首先選取與收貨地址最近的兩個(gè)可用倉庫進(jìn)行,以保證較高的發(fā)貨速度和較低的運(yùn)輸成本。
S22、獲取上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量,若上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量之和大于或等于訂單數(shù)量,則判斷與收貨地址的距離最近的兩個(gè)可用倉庫為可發(fā)貨倉庫,若上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量小于訂單數(shù)量,則上述兩個(gè)可用倉庫為待發(fā)貨倉庫并進(jìn)入步驟S23;
實(shí)際應(yīng)用時(shí),影響拆單的最主要因素就是訂單數(shù)量,為了保證可用倉庫內(nèi)的庫存量能夠滿足訂單數(shù)量的要求,本實(shí)施例將距離收貨地址最近的兩個(gè)可用倉庫的庫存量之和與訂單數(shù)量進(jìn)行比較,若其庫存量之和能夠滿足訂單數(shù)量的需求,則設(shè)定上述兩個(gè)可用倉庫為可發(fā)貨倉庫,即確定由可發(fā)貨倉庫進(jìn)行發(fā)貨;當(dāng)其庫存量之和不能夠滿足訂單數(shù)量的需求時(shí),則進(jìn)入步驟S23進(jìn)行調(diào)貨。
S23、獲取剩余可用倉庫中與收貨地址的距離最近的一個(gè)可用倉庫及其內(nèi)該訂單商品的庫存量,若該一個(gè)可用倉庫內(nèi)該訂單商品的庫存量與所有待發(fā)貨倉庫內(nèi)該訂單商品的庫存量之和大于或等于訂單數(shù)量,則判斷該一個(gè)可用倉庫和所有待發(fā)貨倉庫均為可發(fā)貨倉庫,若該一個(gè)可用倉庫內(nèi)該訂單商品的庫存量與所有待發(fā)貨倉庫的庫存量之和小于訂單數(shù)量,則判斷該一個(gè)可用倉庫為待發(fā)貨倉庫并進(jìn)入步驟S24;
具體為在剩余的可用倉庫中獲取一個(gè)與收貨地址距離較小的可用倉庫,然后比較三個(gè)可用倉庫的庫存量之和是否能夠滿足訂單需求,若能滿足需求則上述三個(gè)可用倉庫為可發(fā)貨倉庫,不能滿足需求則進(jìn)入步驟S24。
S24、重復(fù)步驟S23至待發(fā)貨倉庫均形成為可發(fā)貨倉庫;
其主要是循環(huán)步驟S23,當(dāng)三個(gè)可用倉庫的庫存量之和不能能夠滿足訂單需求時(shí),則再次在剩余的可用倉庫中獲取一個(gè)與收貨地址距離較小的可用倉庫,在比較四個(gè)可用倉庫的庫存量之和是否滿足訂單需求,若滿足訂單需求,則四個(gè)可用倉庫為可發(fā)貨倉庫,否則獲取第五個(gè)倉庫,依次類推,直至滿足訂單商品的數(shù)量要求。
S25、將形成的至少兩個(gè)可發(fā)貨倉庫按其內(nèi)該訂單商品的庫存量遞減進(jìn)行排序。
滿足訂單商品的數(shù)量后,則形成有至少兩個(gè)可發(fā)貨倉庫,本實(shí)施例根據(jù)至少兩個(gè)可發(fā)貨倉庫內(nèi)的庫存量進(jìn)行遞減排序。
S3、按可發(fā)貨倉庫的排序依次發(fā)貨,且當(dāng)前可發(fā)貨倉庫內(nèi)訂單商品的庫存量不足時(shí),則不足的訂單商品由排序于當(dāng)前可發(fā)貨倉庫的后一位可發(fā)貨倉庫進(jìn)行發(fā)貨。
實(shí)際發(fā)貨時(shí),為了避免由多個(gè)較少量庫存的可發(fā)貨倉庫發(fā)貨,從而導(dǎo)致增加整體發(fā)貨次數(shù),其易導(dǎo)致發(fā)貨成本增加和發(fā)貨效率降低,故本實(shí)施例將至少可發(fā)貨倉庫按其庫存量進(jìn)行排序,以排序順序進(jìn)行發(fā)貨,從而保證發(fā)貨效率。
具體的,本實(shí)施例所述步驟S3包括:
S31、由排序首位的可發(fā)貨倉庫進(jìn)行發(fā)貨,若其內(nèi)該訂單商品的庫存量大于等于訂單數(shù)量,則按訂單數(shù)量形成總訂單包裹并按總訂單包裹進(jìn)行發(fā)貨,若其內(nèi)該訂單商品的庫存量小于訂單數(shù)量,則按訂單數(shù)量形成一個(gè)子訂單包裹并進(jìn)入步驟S32;
S32、不足數(shù)量的訂單商品由排序下一位的可發(fā)貨倉庫發(fā)貨,若下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量大于等于不足數(shù)量,則按訂單商品的不足數(shù)量形成下一個(gè)子訂單包裹并進(jìn)入步驟S34,若下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量小于不足數(shù)量,則按下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量形成一個(gè)子訂單包裹,并進(jìn)入步驟S33;
S33、重復(fù)步驟S32,直至該訂單數(shù)量的訂單商品全部形成子訂單包裹;
S34、按形成的子訂單包裹由對(duì)應(yīng)的可發(fā)貨倉庫進(jìn)行發(fā)貨。
其具體為按可發(fā)貨倉庫的庫存量由多至少依次形成訂單,其有利于保證形成較少的子訂單包裹,進(jìn)而減少發(fā)貨次數(shù),而且在實(shí)際購物時(shí),對(duì)于數(shù)量較少的訂單商品可直接選取離收貨地址距離較近的可發(fā)貨倉庫形成總訂單包裹發(fā)貨,其有利于降低大部分為數(shù)量較少的訂單的運(yùn)輸成本。
同時(shí),如圖4~6所示,本實(shí)施例還提供一種訂單拆分發(fā)貨系統(tǒng),包括訂單信息獲取模塊1、庫存量獲取模塊2和發(fā)貨模塊3。其中,
獲取模塊1用于獲取訂單信息,提取訂單信息中訂單商品的商品ID及與商品ID相對(duì)應(yīng)的訂單數(shù)量和收貨地址;其中,所述獲取模塊1還用于根據(jù)商品ID判斷該訂單商品是否為可拆單商品,若為可拆單商品則進(jìn)入庫存量獲取模塊2,否則按單一訂單發(fā)貨。
庫存量獲取模塊2用于根據(jù)收貨地址判斷能夠發(fā)貨的至少兩個(gè)可發(fā)貨倉庫,獲取至少兩個(gè)可發(fā)貨倉庫的該訂單商品的庫存量,將至少兩個(gè)可發(fā)貨倉庫按庫存量遞減進(jìn)行排序;
發(fā)貨模塊3用于按可發(fā)貨倉庫的排序依次發(fā)貨,且當(dāng)前可發(fā)貨倉庫內(nèi)訂單商品的庫存量不足時(shí),則不足的訂單商品由排序于當(dāng)前可發(fā)貨倉庫的后一位可發(fā)貨倉庫進(jìn)行發(fā)貨。
如圖5所示,本實(shí)施例所述庫存量獲取模塊2包括可用倉庫篩選單元21、第一判斷單元22、第二判斷單元23、第三判斷單元24、循環(huán)判斷單元25、排序單元26。其中,
可用倉庫篩選單元21用于判定與收貨地址的距離在設(shè)定范圍內(nèi)的所有倉庫為可用倉庫,獲取可用倉庫的數(shù)量,若可用倉庫的數(shù)量小于兩個(gè)或所有可用倉庫內(nèi)該訂單商品的庫存量之和小于訂單數(shù)量,則形成提示信息;
第一判斷單元22用于判斷與收貨地址的距離最近的兩個(gè)可用倉庫;
第二判斷單元23用于獲取上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量,若上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量之和大于或等于訂單數(shù)量,則判斷與收貨地址的距離最近的兩個(gè)可用倉庫為可發(fā)貨倉庫,若上述兩個(gè)可用倉庫內(nèi)該訂單商品的庫存量小于訂單數(shù)量,則上述兩個(gè)可用倉庫為待發(fā)貨倉庫并進(jìn)入第三判斷單元24循環(huán)判斷單元25;
第三判斷單元24用于獲取剩余可用倉庫中與收貨地址的距離最近的一個(gè)可用倉庫及其內(nèi)該訂單商品的庫存量,若該一個(gè)可用倉庫內(nèi)該訂單商品的庫存量與所有待發(fā)貨倉庫內(nèi)該訂單商品的庫存量之和大于或等于訂單數(shù)量,則判斷該一個(gè)可用倉庫和所有待發(fā)貨倉庫均為可發(fā)貨倉庫,若該一個(gè)可用倉庫內(nèi)該訂單商品的庫存量與所有待發(fā)貨倉庫的庫存量之和小于訂單數(shù)量,則判斷該一個(gè)可用倉庫為待發(fā)貨倉庫并進(jìn)入循環(huán)判斷單元25;
循環(huán)判斷單元25用于重復(fù)第三判斷單元24至待發(fā)貨倉庫均形成為可發(fā)貨倉庫;
排序單元26用于將形成的至少兩個(gè)可發(fā)貨倉庫按其內(nèi)該訂單商品的庫存量遞減進(jìn)行排序。
如圖6所示,本實(shí)施例所述發(fā)貨模塊3包括第一訂單形成單元31、第二訂單形成單元32、循環(huán)訂單形成單元33、發(fā)貨單元34。其中,
第一訂單形成單元31用于設(shè)定由排序首位的可發(fā)貨倉庫進(jìn)行發(fā)貨,若排序首位的可發(fā)貨倉庫內(nèi)該訂單商品的庫存量大于等于訂單數(shù)量,則按訂單數(shù)量形成總訂單包裹并按總訂單包裹進(jìn)行發(fā)貨,若排序首位的可發(fā)貨倉庫內(nèi)該訂單商品的庫存量小于訂單數(shù)量,則按訂單數(shù)量形成一個(gè)子訂單包裹并進(jìn)入第二訂單形成單元32;
第二訂單形成單元32用于設(shè)定不足數(shù)量的訂單商品由排序下一位的可發(fā)貨倉庫發(fā)貨,若下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量大于等于不足數(shù)量,則按訂單商品的不足數(shù)量形成下一個(gè)子訂單包裹并進(jìn)入發(fā)貨單元34,若下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量小于不足數(shù)量,則按下一位可發(fā)貨倉庫內(nèi)該訂單商品的庫存量形成一個(gè)子訂單包裹,并進(jìn)入循環(huán)訂單形成單元33;
循環(huán)訂單形成單元33用于重復(fù)第二訂單形成單元32,直至該訂單數(shù)量的訂單商品全部形成子訂單包裹;
發(fā)貨單元34用于按形成的子訂單包裹由對(duì)應(yīng)的可發(fā)貨倉庫進(jìn)行發(fā)貨。
與現(xiàn)有技術(shù)相比,本發(fā)明根據(jù)訂單商品的收貨地址判斷可發(fā)貨倉庫,并根據(jù)可發(fā)貨倉庫的庫存量進(jìn)行排序,當(dāng)庫存量不足時(shí),其可根據(jù)排序順序依次進(jìn)行發(fā)貨,直至滿足訂單數(shù)量,其有利于保證不同的可發(fā)貨倉庫同時(shí)進(jìn)行發(fā)貨,避免了時(shí)間浪費(fèi),而且按庫存量排序發(fā)貨,可最大限度的減少出貨次數(shù),減少物流成本。
以上所述本發(fā)明的具體實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何根據(jù)本發(fā)明的技術(shù)構(gòu)思所做出的各種其他相應(yīng)的改變與變形,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。