


摘要:針對參差不齊的物流倉儲管理系統(tǒng),設(shè)計(jì)一種倉儲出入庫管理通用模型,可規(guī)范相似倉儲場景下的系統(tǒng)設(shè)計(jì)。該模型由業(yè)務(wù)流模型與對賬結(jié)算流模型兩部分構(gòu)成。系統(tǒng)通過管理貨物入庫過程、存儲過程、出庫過程(含出庫拆單)與對賬結(jié)算過程,實(shí)現(xiàn)“業(yè)財(cái)一體化”。基于該模型,該系統(tǒng)已投產(chǎn)并穩(wěn)定運(yùn)行約三年。綜上,此倉儲管理通用模型具有一定的有效性,將其與現(xiàn)有周邊系統(tǒng)相融合能夠?qū)崿F(xiàn)高效管理。
關(guān)鍵詞:智慧物流;物流系統(tǒng);倉儲管理;微服務(wù);SpringBoot
一、前言
隨著鋼鐵行業(yè)智能化的迅速發(fā)展,中國頂尖鋼鐵企業(yè)已投產(chǎn)建成多個(gè)智慧工廠,實(shí)現(xiàn)煉鐵煉鋼全線自動化精準(zhǔn)管理,相較傳統(tǒng)生產(chǎn)模式,年產(chǎn)量大幅提升[1]。為配合顯著增長的產(chǎn)量,消化尚且不足的運(yùn)力,近年來大大小小、各式各樣的物流運(yùn)輸公司如雨后春筍般出現(xiàn),伴隨迅速發(fā)展而產(chǎn)生的是運(yùn)輸與倉儲服務(wù)層層分包、管理混亂、溝通困難、成本上升等問題,且問題日趨嚴(yán)重,導(dǎo)致鋼材從出廠、運(yùn)輸、中轉(zhuǎn)倉儲、加工配送直至送達(dá)客戶手中的整條供應(yīng)鏈過于冗長、不可控,運(yùn)轉(zhuǎn)效率與服務(wù)質(zhì)量得不到相應(yīng)提高[2]。為治理解決上述問題,加強(qiáng)鋼鐵物流完整生態(tài)圈的構(gòu)建,需要一個(gè)集成物流供應(yīng)鏈中各個(gè)環(huán)節(jié)的綜合性服務(wù)平臺,實(shí)現(xiàn)從倉儲、加工、配送到客戶服務(wù)的全流程高效管理,從而提高整個(gè)物流供應(yīng)鏈的效率和服務(wù)水平,減少物流中各個(gè)環(huán)節(jié)之間的信息交流成本,使物流供應(yīng)鏈更加透明、可控、可預(yù)測,最終提升客戶的滿意度和忠誠度[3]。
智慧物流平臺是上述綜合性服務(wù)平臺的一種實(shí)現(xiàn),它打通了整條鋼鐵行業(yè)的物流供應(yīng)鏈,涵蓋了從鋼廠到最終交付用戶的全流程環(huán)節(jié),覆蓋解決了多種實(shí)際業(yè)務(wù)場景,包括智能倉庫、數(shù)字貨運(yùn)、數(shù)字碼頭等場景。它將鋼廠與倉庫作業(yè)管理系統(tǒng)(WMS)、運(yùn)輸作業(yè)管理系統(tǒng)(TMS)、物流節(jié)點(diǎn)企業(yè)ERP系統(tǒng)直接連接在一起,起到了承上啟下的關(guān)鍵作用。隨著越來越多的鋼廠接入、越來越多的異構(gòu)互聯(lián)操作系統(tǒng)接入,平臺將會承載海量的數(shù)據(jù)信息流。通過將總線上的數(shù)據(jù)抽取至離線數(shù)據(jù)庫,進(jìn)行大數(shù)據(jù)分析后,可以為供應(yīng)鏈中的各個(gè)環(huán)節(jié)賦能,提供對未來決策的有力數(shù)據(jù)支撐,進(jìn)而達(dá)到降本增效的目的。
為支撐實(shí)際業(yè)務(wù)中各種復(fù)雜場景,并實(shí)現(xiàn)快速覆蓋多基地、多鋼廠,平臺借鑒了“高內(nèi)聚、低耦合”的代碼編程思想,采用中心模塊化方式建設(shè),設(shè)立六大中心:會員中心、需求調(diào)度中心、倉儲中心、運(yùn)輸中心、財(cái)務(wù)中心和基礎(chǔ)運(yùn)營中心。這六大中心在平臺的運(yùn)行中相互協(xié)作,形成統(tǒng)一高效協(xié)同的整體,各中心各司其職卻又緊密相連,共同為提升整個(gè)供應(yīng)鏈的效率和服務(wù)質(zhì)量貢獻(xiàn)力量。下文所闡述倉儲管理通用模型主要基于倉儲中心。
二、倉儲管理通用模型
本文旨在提出一種針對鋼鐵行業(yè)供應(yīng)鏈的倉儲出入庫管理通用模型,倉儲管理對象以鋼材、板材、螺紋鋼等實(shí)物產(chǎn)成品為主,但此倉儲管理模型的核心思想不僅限于鋼鐵行業(yè)。
(一) 業(yè)務(wù)形態(tài)
倉儲中心是銜接上游多處用戶出入庫需求與下游多家執(zhí)行系統(tǒng)(倉庫作業(yè)管理系統(tǒng))的重要樞紐,上游用戶的出入庫需求來自不同鋼廠的產(chǎn)銷系統(tǒng)、多家電商銷售平臺與平臺自運(yùn)營需求,下游執(zhí)行系統(tǒng)也包含多家不同品牌的倉儲作業(yè)管理產(chǎn)品。立足于目前流行的“業(yè)財(cái)一體化”企業(yè)財(cái)務(wù)管理思想[4],現(xiàn)將下游執(zhí)行系統(tǒng)管理的實(shí)際出入庫貨物記錄稱為實(shí)物賬,倉儲中心接收到多家下游執(zhí)行系統(tǒng)的數(shù)據(jù)稱為業(yè)務(wù)賬,系統(tǒng)根據(jù)預(yù)先設(shè)定的價(jià)格策略模型匹配符合條件的業(yè)務(wù)賬,生成相應(yīng)營收或成本對賬單,在業(yè)務(wù)人員歸并確認(rèn)對賬單后生成業(yè)務(wù)結(jié)算單,最終拋送企業(yè)自有標(biāo)準(zhǔn)財(cái)務(wù)系統(tǒng),完成開票、收款、核銷等財(cái)務(wù)行為,保證實(shí)物賬、業(yè)務(wù)賬、財(cái)務(wù)賬的數(shù)據(jù)一致,實(shí)現(xiàn)“業(yè)財(cái)一體化”。
(二)模型設(shè)計(jì)
倉儲管理的核心是對貨物的入庫過程、存儲過程與出庫過程進(jìn)行管理[5]。基于上述業(yè)務(wù)形態(tài),現(xiàn)提出倉儲管理通用模型,主要由業(yè)務(wù)流模型與對賬結(jié)算流模型兩部分組成,如圖1所示。
1.業(yè)務(wù)流模型
首先,倉儲中心在接收到上游下發(fā)的入庫需求,如預(yù)計(jì)2025年1月1日準(zhǔn)備入庫倉庫A,貨物為鋼板a、b后,先通過基礎(chǔ)中心數(shù)據(jù)補(bǔ)全倉庫、貨物等缺失的信息,后生成倉儲入庫計(jì)劃,并下發(fā)至對應(yīng)的WMS系統(tǒng)。其次,倉庫作業(yè)管理系統(tǒng)收到入庫計(jì)劃后即可安排實(shí)際入庫作業(yè)。當(dāng)車輛到達(dá)指定倉庫并完成實(shí)際卸貨后,倉庫管理人員在WMS系統(tǒng)中選擇入庫計(jì)劃,開具對應(yīng)入庫憑證,WMS系統(tǒng)將自動發(fā)送至倉儲中心形成入庫返單,同時(shí)倉儲中心將該信息記錄至庫存事務(wù)表后,以倉庫和捆包維度匯總成業(yè)務(wù)庫存賬,為將來查看各個(gè)倉庫的庫存明細(xì)提供數(shù)據(jù)基礎(chǔ)。最后,生成的入庫返單將被反饋至入庫需求提出方系統(tǒng),以便用戶跟蹤。在貨物存儲期間,業(yè)務(wù)庫存數(shù)據(jù)可以為定期盤庫業(yè)務(wù)提供業(yè)務(wù)庫存數(shù)據(jù)支撐,為盤庫人員完成清點(diǎn)核驗(yàn)工作提供數(shù)據(jù)保障。
出庫流程與入庫流程稍有不同,上游平臺或倉儲中心(視實(shí)際業(yè)務(wù)模式而定)需先行指定提貨司機(jī)與車輛,設(shè)置成功后,短信驗(yàn)證碼會被自動發(fā)送至目標(biāo)司機(jī),司機(jī)攜帶驗(yàn)證碼與身份證(或手機(jī)號)至倉庫打印電子提單。待貨物出庫后,倉庫人員進(jìn)行后續(xù)操作流程,如圖2所示。
2.對賬結(jié)算流模型
與C端結(jié)算不同的是,B2B業(yè)務(wù)不會在業(yè)務(wù)完成后立刻進(jìn)行結(jié)算,而是根據(jù)實(shí)際業(yè)務(wù)規(guī)定,在一定時(shí)間內(nèi)(每月、每季度或每年)進(jìn)行企業(yè)之間的業(yè)務(wù)結(jié)算[6]。對賬結(jié)算步驟主要分為以下五步:維護(hù)營收或成本價(jià)格策略、根據(jù)維護(hù)好的價(jià)格策略匹配并勾選入庫返單或出庫返單(出入庫返單需先行確認(rèn)后方可進(jìn)入對賬池)、生成對賬單、修改發(fā)票抬頭和拋送相關(guān)財(cái)務(wù)系統(tǒng)。對賬開始前,由業(yè)務(wù)人員先行維護(hù)對應(yīng)的營收或成本價(jià)格策略,價(jià)格策略主要包括結(jié)算對象信息、結(jié)算品種、費(fèi)用類型、計(jì)量單位、稅率、區(qū)間類型等關(guān)鍵元素。然后根據(jù)上述內(nèi)容匹配符合條件且已人工確認(rèn)無誤的出入庫返單,選中其中部分或全部返單生成對賬單,最終在編輯并確認(rèn)開票抬頭后拋送至相關(guān)財(cái)務(wù)系統(tǒng)進(jìn)行后續(xù)結(jié)算開票核銷工作。
(三)數(shù)據(jù)庫設(shè)計(jì)
1.業(yè)務(wù)流數(shù)據(jù)庫設(shè)計(jì)
業(yè)務(wù)流模型將入庫計(jì)劃、入庫返單、出庫計(jì)劃、出庫返單抽象為四個(gè)不同的實(shí)體且每個(gè)實(shí)體均采用主子結(jié)構(gòu)。例如,一條入庫計(jì)劃主項(xiàng)信息對應(yīng)多條入庫計(jì)劃明細(xì)信息,入庫計(jì)劃主項(xiàng)存儲包括來源唯一標(biāo)識號、倉庫信息、貨主信息、總重量等信息,入庫計(jì)劃明細(xì)存儲包括貨物的品種、規(guī)格、牌號、產(chǎn)地、重量等貨物維度的屬性。入庫返單、出庫計(jì)劃、出庫返單同理,計(jì)劃與返單為一對多關(guān)系。例如,一條入庫計(jì)劃明細(xì)對應(yīng)多條入庫返單明細(xì)(可一對一,視實(shí)際業(yè)務(wù)情況而定)。出庫計(jì)劃與出庫返單關(guān)系同理。當(dāng)接收返單信息成功后,系統(tǒng)會根據(jù)入庫返單上的入庫計(jì)劃號與貨物唯一標(biāo)識號匹配查找到對應(yīng)的入庫計(jì)劃明細(xì),更新入庫計(jì)劃上的實(shí)際入庫量與計(jì)劃狀態(tài)。出入庫返單明細(xì)與庫存事務(wù)表數(shù)據(jù)為一對一關(guān)系,庫存事務(wù)表管理思想借鑒了財(cái)務(wù)的紅沖概念:當(dāng)入庫1噸A貨物時(shí),則庫存事務(wù)表新增一條入庫重量為1噸,出庫重量為空的 A貨物;當(dāng)取消該條入庫操作時(shí),庫存事務(wù)表則新增一條入庫重量為-1噸,出庫重量為空的A貨物;出庫邏輯同理。庫存現(xiàn)有量表則是根據(jù)貨主代碼、倉庫代碼與貨物唯一編號維度,匯總庫存事務(wù)表(出庫重量總和-入庫重量總和)得到當(dāng)前貨物庫存數(shù)據(jù)。
2.對賬結(jié)算流數(shù)據(jù)庫設(shè)計(jì)
對賬結(jié)算流模型將營收價(jià)格策略、成本價(jià)格策略、營收對賬單、成本對賬單抽象為四個(gè)不同的實(shí)體,且每個(gè)實(shí)體均采用主子結(jié)構(gòu)。例如,一條營收價(jià)格策略主項(xiàng)信息對應(yīng)多條營收價(jià)格策略明細(xì)信息,營收價(jià)格策略主項(xiàng)存儲包括業(yè)務(wù)類型、結(jié)算對象代碼、結(jié)算對象名稱、合同、有效期起止等信息。營收價(jià)格策略明細(xì)存儲包括對賬的數(shù)據(jù)源(入庫明細(xì)或出庫明細(xì)等)、計(jì)量單位、結(jié)算重量方式(凈重或毛重)、稅率等信息。成本價(jià)格策略、營收對賬單、成本對賬單同理。價(jià)格策略除明細(xì)表外,為滿足數(shù)據(jù)庫三范式,保證每一列都是不可分割的基本數(shù)據(jù)項(xiàng)且規(guī)避循環(huán)依賴[7],特設(shè)四張拓展配置表:價(jià)格策略費(fèi)用配置表、價(jià)格策略倉庫關(guān)系表、價(jià)格策略品種關(guān)系表、價(jià)格策略價(jià)格區(qū)間表,分別存儲了與價(jià)格策略相關(guān)的費(fèi)用配置信息、倉庫信息、結(jié)算品種信息與結(jié)算價(jià)格區(qū)間信息。價(jià)格策略唯一性校驗(yàn)屬性如下:業(yè)務(wù)類型、貨主、倉庫、首入庫貨主、結(jié)算類型、結(jié)算對象類型、費(fèi)用名稱、物流品種、免倉期天數(shù)、庫別、入庫方式。以上字段的組合唯一確認(rèn)一條價(jià)格策略。
對賬單除明細(xì)表外,還設(shè)有業(yè)務(wù)單據(jù)表,存儲貨物具體品種、規(guī)格、產(chǎn)地、材質(zhì)等信息。對賬單明細(xì)是以費(fèi)用維度匯總的業(yè)務(wù)單據(jù)層。
(四)出庫拆單詳述
出庫拆單指將實(shí)際出庫返單根據(jù)出庫計(jì)劃進(jìn)行對照分拆,以滿足結(jié)算要求。以下提供一套關(guān)于出庫拆單的詳細(xì)處理模型。在實(shí)際業(yè)務(wù)中,貨物通常會被分為兩類:可獨(dú)立計(jì)數(shù)的產(chǎn)成品(以下稱“實(shí)捆包”),如鋼卷、鋼板等;無法獨(dú)立計(jì)數(shù)的貨物(以下稱“虛捆包”),如螺紋鋼、煤等。若貨物為實(shí)捆包,可直接根據(jù)出庫計(jì)劃ID與貨物捆包號查找對應(yīng)的出庫計(jì)劃明細(xì),反寫貨物量等信息。但若貨物是虛捆包,則需要根據(jù)業(yè)務(wù)規(guī)則,如品種、規(guī)格、產(chǎn)地、材質(zhì)匹配出庫計(jì)劃明細(xì),此時(shí)可能會匹配到多條出庫計(jì)劃明細(xì)(以計(jì)劃明細(xì)上的返單重量降序排列)。為滿足拆單需求,需新增出庫單拆分明細(xì)表,一條出庫單明細(xì)對應(yīng)多條拆單明細(xì)。
以單條出庫單明細(xì)可超發(fā)場景為例,處理方式可分以下四種情況:
第一,匹配到多條出庫計(jì)劃明細(xì)總量(含超發(fā)量)小于出庫返單明細(xì)總量,則接收返單失敗,事務(wù)回滾;
第二,匹配到第一條出庫計(jì)劃明細(xì)大于出庫返單明細(xì)量,則直接將返單明細(xì)計(jì)入該條計(jì)劃明細(xì)內(nèi);
第三,匹配到第一條出庫計(jì)劃明細(xì)小于出庫返單明細(xì)量,則以不含超發(fā)的量拆分出庫返單,依次循環(huán)計(jì)入計(jì)劃明細(xì)內(nèi);
第四,若完成第三點(diǎn)操作時(shí)仍有返單重量剩余,則重新回到第一條出庫計(jì)劃明細(xì),以超發(fā)量重復(fù)進(jìn)行第三步的計(jì)算規(guī)則,直至所有返單量均循環(huán)拆分完畢。
三、并發(fā)問題處理
并發(fā)指的是系統(tǒng)同時(shí)并行處理大量請求[8],而如何保證系統(tǒng)在高并發(fā)下依然能夠正常運(yùn)作,一直是系統(tǒng)建設(shè)的難點(diǎn)。系統(tǒng)上線初期曾頻繁發(fā)生,因同一時(shí)間點(diǎn)接收并處理同一計(jì)劃下的不同返單所導(dǎo)致的計(jì)劃臟讀、匯總數(shù)量錯(cuò)誤等問題。為根除該問題,對比多種鎖的使用效果,最終選擇使用Redis鎖的方式解決。Redis是一款輕量級且基于內(nèi)存的非結(jié)構(gòu)化數(shù)據(jù)庫,支持持久化,具有高性能、低開銷等優(yōu)點(diǎn),廣泛應(yīng)用于高并發(fā)處理、消息隊(duì)列、鍵值對(Key-Value)等場景[9]。在此將Redis應(yīng)用于鍵值對場景,系統(tǒng)基于一條出庫計(jì)劃對應(yīng)多條出庫返單的特性,選擇將出庫計(jì)劃號設(shè)置為唯一鍵。當(dāng)接口被調(diào)用時(shí),請求Redis嘗試獲取鎖,獲取鎖的超時(shí)時(shí)間(acquireTimeout)設(shè)置為30秒,鎖的超時(shí)時(shí)間(expireTimeout)設(shè)置為60秒,當(dāng)檢查到線程仍在處理時(shí),鎖將在1/2超時(shí)時(shí)間時(shí)(即30秒時(shí))刷新超時(shí)時(shí)間至60秒。獲取鎖后開啟事務(wù),一條出庫返單的處理過程被認(rèn)為是一個(gè)原子性操作,當(dāng)所有處理結(jié)束后提交事務(wù),最終釋放鎖。此處需特別注意的是事務(wù)的提交必須在鎖釋放之前,若直接使用Transaction標(biāo)簽時(shí),需注意事務(wù)的傳播機(jī)制,確保外層無事務(wù)或使用子事務(wù)傳播策略是“新”(NEW)。倉儲中心所采用的是手動管理事務(wù)機(jī)制。
四、結(jié)語
本文所提出的倉儲出入庫管理通用模型,由業(yè)務(wù)流模型與對賬結(jié)算流模型兩部分構(gòu)成,目的是規(guī)范相似倉儲場景下的系統(tǒng)設(shè)計(jì)。倉儲場景雖基于鋼鐵行業(yè)產(chǎn)成品倉儲設(shè)計(jì),但其設(shè)計(jì)思想可適用于其他行業(yè)的倉儲服務(wù)。倉儲出入庫管理通用模型通過對貨物入庫過程、存儲過程、出庫過程與對賬結(jié)算過程的管理,實(shí)現(xiàn)“業(yè)財(cái)一體化”思想。倉儲中心自2021年6月上線以來已穩(wěn)定運(yùn)行約3年時(shí)間,上述模型在不斷完善的過程中展現(xiàn)了出色的適應(yīng)性。隨著未來對系統(tǒng)的不斷迭代,其倉儲管理思想將更加深化融入系統(tǒng),因此系統(tǒng)針對不同應(yīng)用場景具有一定通用性。
參考文獻(xiàn)
[1]駱德歡.智慧制造在寶鋼股份寶山基地的實(shí)踐[J].冶金自動化,2019,43(01):31-36+72.
[2]韓要穩(wěn).鋼鐵物流現(xiàn)狀分析及未來發(fā)展策略[J].中國儲運(yùn),2022(01):145-146.
[3]蔣字哲,史志明,孫悅,等.鋼鐵企業(yè)智慧物流的建設(shè)及其在唐鋼的應(yīng)用[J].河北冶金,2024(03):76-81.
[4]田樹果.鋼鐵集團(tuán)業(yè)財(cái)一體化系統(tǒng)建設(shè)研究[J].冶金財(cái)會,2022(04):20-23+49.
[5]陸森智.智能倉儲在鋼鐵行業(yè)運(yùn)用的前景[J].冶金管理,2021(15): 134-135.
[6]黃競治.B2B電商平臺支付結(jié)算模式探討[J].新理財(cái),2020(07): 26-27.
[7]李妍,李占波.Oracle數(shù)據(jù)庫基礎(chǔ)及應(yīng)用[M].北京:清華大學(xué)出版社,2013.
[8]吳倩,應(yīng)捷,韓旭.基于SSM框架的高并發(fā)電子商務(wù)平臺設(shè)計(jì)與實(shí)現(xiàn)[J].電子商務(wù),2019(03):63-66.
[9]劉世超,楊斌,劉衛(wèi)國.高性能高可用Redis 客戶端的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2022,48(01):46-52+58.
作者單位:上海寶信軟件股份有限公司
責(zé)任編輯:王穎振、鄭凱津