陳曉東
(江蘇海宏智能科技有限公司 江蘇 連云港 222069)
為解決企業(yè)資源計(jì)劃(enterprise resource planning,ERP)和倉(cāng)庫(kù)管理系統(tǒng)(warehouse management sysytem,WMS)之間的數(shù)據(jù)隔離和信息不對(duì)稱問(wèn)題[1],本文開(kāi)發(fā)一種集成ERP-WMS 的人工智能庫(kù)存管理系統(tǒng)。 此系統(tǒng)可以通過(guò)集成ERP 和WMS 系統(tǒng),實(shí)現(xiàn)信息的共享和互通,優(yōu)化庫(kù)存管理和倉(cāng)儲(chǔ)運(yùn)作流程,提高運(yùn)作效率和準(zhǔn)確性,降低運(yùn)營(yíng)成本和風(fēng)險(xiǎn),提高客戶滿意度,并在此基礎(chǔ)上實(shí)現(xiàn)倉(cāng)庫(kù)的科學(xué)化和規(guī)范化管理。
本系統(tǒng)對(duì)倉(cāng)庫(kù)進(jìn)行全面人工智能化改造,將倉(cāng)庫(kù)數(shù)據(jù)通過(guò)對(duì)應(yīng)接口與ERP 進(jìn)行交互,提高倉(cāng)庫(kù)的物品出入庫(kù)效率,有效地降低倉(cāng)庫(kù)管理成本,提高運(yùn)營(yíng)效率,增強(qiáng)市場(chǎng)競(jìng)爭(zhēng)力。 企業(yè)資源計(jì)劃系統(tǒng)ERP 是一種為企業(yè)提供綜合業(yè)務(wù)流程和信息化支持的應(yīng)用系統(tǒng)。 倉(cāng)儲(chǔ)管理系統(tǒng)WMS作為供應(yīng)鏈服務(wù)中的重要環(huán)節(jié),主要負(fù)責(zé)對(duì)物料的進(jìn)出庫(kù)、存儲(chǔ)、管理等操作進(jìn)行自動(dòng)化處理。 人工智能庫(kù)存管理系統(tǒng)的設(shè)計(jì)旨在提高倉(cāng)庫(kù)的利用率和出入庫(kù)效率,通過(guò)ERP 和WMS 的集成,實(shí)現(xiàn)企業(yè)內(nèi)部物流信息的實(shí)時(shí)共享和處理。
在ERP 和WMS 集成人工智能系統(tǒng)的用例圖中,涉及三種參與者:WMS 系統(tǒng)管理員、ERP 系統(tǒng)管理員和普通用戶。
該人工智能系統(tǒng)包括以下八個(gè)核心功能模塊:
(1)基礎(chǔ)信息管理。 基礎(chǔ)信息管理是企業(yè)管理中的重要環(huán)節(jié),主要包括員工信息等方面的管理,旨在建立起一個(gè)完整、準(zhǔn)確、及時(shí)、可靠的信息庫(kù),為企業(yè)決策和運(yùn)營(yíng)提供支持和保障[2]。
(2)倉(cāng)庫(kù)管理。 負(fù)責(zé)對(duì)倉(cāng)庫(kù)信息進(jìn)行管理,包括倉(cāng)庫(kù)基本信息。
(3)物品管理。 負(fù)責(zé)物品信息的管理,是指對(duì)企業(yè)倉(cāng)庫(kù)內(nèi)物品的庫(kù)存、入庫(kù)、出庫(kù)、盤(pán)點(diǎn)、轉(zhuǎn)移等方面進(jìn)行全面、科學(xué)、合理的管理。
(4)物品分類(lèi)管理。 通過(guò)物品分類(lèi)管理,可以提高物品管理的效率,減少錯(cuò)誤和漏洞,維護(hù)物品分類(lèi)的基本信息。
(5)供應(yīng)商管理。 主要包括對(duì)供應(yīng)商的選擇、評(píng)價(jià)、合作等方面的管理。 通過(guò)有效的供應(yīng)商管理,可以保證企業(yè)的采購(gòu)質(zhì)量和供應(yīng)連續(xù)性,降低采購(gòu)成本。
(6)訂單管理。 主要包括訂單的接收、處理等方面的管理。 通過(guò)有效的訂單管理,可以提高銷(xiāo)售效率和客戶滿意度,降低管理成本。
(7)進(jìn)貨管理。 是企業(yè)采購(gòu)管理的重要環(huán)節(jié),通過(guò)科學(xué)合理的進(jìn)貨管理,可以保證企業(yè)的采購(gòu)質(zhì)量和供應(yīng)連續(xù)性,降低采購(gòu)成本,接收并處理入庫(kù)/出庫(kù)單,并對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的更新。
(8)記錄管理。 負(fù)責(zé)記錄系統(tǒng)中的操作日志,包括用戶操作記錄等。
2.1.1 系統(tǒng)架構(gòu)設(shè)計(jì)
根據(jù)系統(tǒng)架構(gòu)圖可知,系統(tǒng)結(jié)構(gòu)主要分為五個(gè)層次,分別是用戶層、前端控制層、后端服務(wù)層、數(shù)據(jù)持久化層和數(shù)據(jù)存儲(chǔ)層[3]。
(1)用戶管理層。 本層是指在一個(gè)系統(tǒng)中負(fù)責(zé)管理用戶的部分,包括用戶注冊(cè)、登錄等功能。 用戶管理層通過(guò)與前端控制層交互,獲取用戶的請(qǐng)求信息,再通過(guò)后端服務(wù)層和數(shù)據(jù)持久化層處理請(qǐng)求并返回結(jié)果。 在企業(yè)信息化系統(tǒng)中,用戶管理層還可以實(shí)現(xiàn)員工的信息管理。
(2)前端控制層。 前端控制層是指系統(tǒng)中的前端代碼,主要負(fù)責(zé)用戶交互和數(shù)據(jù)傳遞。 前端控制層通過(guò)與用戶管理層交互,獲取用戶請(qǐng)求信息并將其發(fā)送到后端服務(wù)層處理。 在與后端服務(wù)層交互時(shí),前端控制層負(fù)責(zé)調(diào)用相應(yīng)的功能接口,并將返回的數(shù)據(jù)渲染到界面上。
(3)后端服務(wù)層。 本層是指系統(tǒng)中的服務(wù)端代碼,主要負(fù)責(zé)處理前端控制層發(fā)送過(guò)來(lái)的請(qǐng)求。 后端服務(wù)層通過(guò)面向切面編程實(shí)現(xiàn)功能模塊化,提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。
(4)數(shù)據(jù)持久化層。 本層是指系統(tǒng)中負(fù)責(zé)操作數(shù)據(jù)庫(kù)的部分。 它通過(guò)提供數(shù)據(jù)庫(kù)操作服務(wù),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查等操作。 在Java 開(kāi)發(fā)中,數(shù)據(jù)持久化層通常使用多重處理器架構(gòu)(myBatis-plus,MP)來(lái)簡(jiǎn)化數(shù)據(jù)庫(kù)操作,同時(shí)使用XML 配置文件映射數(shù)據(jù)庫(kù)表結(jié)構(gòu)和操作信息。 數(shù)據(jù)持久化層通過(guò)與后端服務(wù)層交互,提供數(shù)據(jù)存取的功能,同時(shí)將數(shù)據(jù)持久化到關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(my structured query language,MySQL)數(shù)據(jù)庫(kù)中。
(5)數(shù)據(jù)存儲(chǔ)層。 本層是指系統(tǒng)中負(fù)責(zé)存儲(chǔ)系統(tǒng)運(yùn)行數(shù)據(jù)的部分。 它通過(guò)物理存儲(chǔ)將數(shù)據(jù)永久性保存到磁盤(pán)中,保證數(shù)據(jù)的可靠性和可恢復(fù)性。 在系統(tǒng)開(kāi)發(fā)中,數(shù)據(jù)存儲(chǔ)層通常使用MySQL 數(shù)據(jù)庫(kù),通過(guò)與數(shù)據(jù)持久化層交互,實(shí)現(xiàn)對(duì)數(shù)據(jù)的讀寫(xiě)操作。
2.1.2 系統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)
本系統(tǒng)的網(wǎng)絡(luò)架構(gòu)主要包括三部分,分別是內(nèi)網(wǎng)用戶、外網(wǎng)用戶和服務(wù)器機(jī)房。 其中內(nèi)網(wǎng)用戶與服務(wù)器機(jī)房之間采用千兆以太網(wǎng)連接,內(nèi)網(wǎng)經(jīng)由防火墻通過(guò)互聯(lián)網(wǎng)與外網(wǎng)用戶連接[4]。
內(nèi)網(wǎng)用戶是指在公司、機(jī)構(gòu)或組織內(nèi)部使用網(wǎng)絡(luò)的用戶。 這些用戶可以通過(guò)千兆以太網(wǎng)連接接入內(nèi)部網(wǎng)絡(luò),并通過(guò)防火墻來(lái)保護(hù)網(wǎng)絡(luò)安全。
Web 服務(wù)器是用于提供Web 服務(wù)的計(jì)算機(jī)。 它可以接收來(lái)自外網(wǎng)用戶的超文本傳輸協(xié)議(hypertext transfer protocol,HTTP)請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給后臺(tái)的應(yīng)用程序服務(wù)器(如Tomcat)來(lái)處理。 Web 服務(wù)器通常運(yùn)行Web 應(yīng)用程序,并使用數(shù)據(jù)庫(kù)服務(wù)器(如MySQL)來(lái)存儲(chǔ)和檢索數(shù)據(jù)。
倉(cāng)庫(kù)管理員和工人是倉(cāng)庫(kù)管理系統(tǒng)的用戶,他們使用該系統(tǒng)來(lái)管理貨物的入庫(kù)、出庫(kù)、移動(dòng)和存儲(chǔ)等操作。 當(dāng)倉(cāng)庫(kù)管理系統(tǒng)接收到業(yè)務(wù)管理者下發(fā)的出入庫(kù)任務(wù)時(shí),系統(tǒng)會(huì)生成相關(guān)任務(wù)單并指派給倉(cāng)庫(kù)工人使用掌上電腦(personal digital assistant,PDA)設(shè)備進(jìn)行操作。
PDA 是一種便攜式計(jì)算機(jī)設(shè)備,通常用于在倉(cāng)庫(kù)、超市等場(chǎng)所進(jìn)行貨物掃描和信息采集。 它可以通過(guò)無(wú)線連接與倉(cāng)庫(kù)管理系統(tǒng)進(jìn)行數(shù)據(jù)交換,從而實(shí)現(xiàn)實(shí)時(shí)的出入庫(kù)任務(wù)跟蹤和管理。
無(wú)線接入點(diǎn)是一種設(shè)備,允許無(wú)線設(shè)備(如PDA)通過(guò)無(wú)線連接接入網(wǎng)絡(luò)。 貨物掃描后,PDA 將相關(guān)貨物信息上傳到倉(cāng)庫(kù)管理系統(tǒng)中。 系統(tǒng)運(yùn)行穩(wěn)定性對(duì)于倉(cāng)庫(kù)管理系統(tǒng)而言尤為重要,因?yàn)樗枰WC在高強(qiáng)度的數(shù)據(jù)交互和處理過(guò)程中,系統(tǒng)能夠始終穩(wěn)定運(yùn)行,保證數(shù)據(jù)的準(zhǔn)確性和安全性。
2.1.3 系統(tǒng)數(shù)據(jù)建模
系統(tǒng)是由多個(gè)模塊組成的,模塊是系統(tǒng)中的基本功能單元,它們通過(guò)不同的關(guān)系相互連接。 為了描述這些關(guān)系,可以使用ER 圖進(jìn)行表示。 如圖1 所示。

圖1 實(shí)體關(guān)系圖
基礎(chǔ)信息管理涵蓋了倉(cāng)庫(kù)、物品、供應(yīng)商、訂單、進(jìn)貨和記錄等多個(gè)模塊。 這些模塊相互交織構(gòu)成了一個(gè)完整的信息管理系統(tǒng),幫助企業(yè)實(shí)現(xiàn)物資和數(shù)據(jù)的高效管理,提高運(yùn)營(yíng)效率和管理水平[5]。 人工智能系統(tǒng)功能模塊圖可直觀地展示各模塊之間的關(guān)系和功能,如圖2 所示。

圖2 系統(tǒng)功能模塊圖
2.3.1 WMS 與ERP 系統(tǒng)的接口集成
為了確保系統(tǒng)接口的完整性和一致性,同時(shí)考慮實(shí)際業(yè)務(wù)流程和可操作性,WMS 和ERP 系統(tǒng)之間采用HTTP Service 技術(shù)進(jìn)行數(shù)據(jù)交互。 在現(xiàn)代企業(yè)中,WMS 系統(tǒng)和ERP 系統(tǒng)通常需要進(jìn)行數(shù)據(jù)交互,以實(shí)現(xiàn)倉(cāng)庫(kù)內(nèi)外部門(mén)的協(xié)同管理。 這就需要通過(guò)接口實(shí)現(xiàn)數(shù)據(jù)一致性和可共享性。 數(shù)據(jù)一致性是指在WMS 和ERP 之間交換的數(shù)據(jù)保持一致,而數(shù)據(jù)可共享性則是指WMS 和ERP 之間的數(shù)據(jù)可以互相共享,以實(shí)現(xiàn)更高效的企業(yè)管理。
在實(shí)現(xiàn)數(shù)據(jù)交互的過(guò)程中,常用的協(xié)議包括HTTP 協(xié)議等。 通過(guò)這些協(xié)議,WMS 系統(tǒng)和ERP 系統(tǒng)可以實(shí)現(xiàn)采購(gòu)單、發(fā)運(yùn)訂單等信息的互通。 同時(shí),入庫(kù)、出庫(kù)等操作也可以通過(guò)反饋數(shù)據(jù)接口實(shí)現(xiàn)數(shù)據(jù)交互,確保倉(cāng)儲(chǔ)管理的準(zhǔn)確性和高效性。
2.3.2 WMS 與ERP 系統(tǒng)集成的數(shù)據(jù)交互
WMS 和ERP 是企業(yè)信息化系統(tǒng),需要接口實(shí)現(xiàn)數(shù)據(jù)共享和實(shí)時(shí)性。 接口需要考慮數(shù)據(jù)交互方式和安全性,確保信息傳遞準(zhǔn)確、及時(shí)、可靠。 接口開(kāi)發(fā)提高出入庫(kù)作業(yè)效率,更新庫(kù)存數(shù)據(jù),精準(zhǔn)進(jìn)行供應(yīng)鏈規(guī)劃和財(cái)務(wù)分析。接口的實(shí)現(xiàn)能夠提高業(yè)務(wù)流程效率,是企業(yè)信息化建設(shè)中不可缺少的環(huán)節(jié)。 規(guī)劃和準(zhǔn)備充分,才能更好地實(shí)現(xiàn)信息化管理目標(biāo)。
(1)入庫(kù)單接口:可以傳輸和交換入庫(kù)數(shù)據(jù)。 HTTP 協(xié)議支持?jǐn)?shù)據(jù)檢索和發(fā)送、提交請(qǐng)求,可用于查詢庫(kù)存、提交入庫(kù)單信息等。 協(xié)同倉(cāng)庫(kù)操作提高倉(cāng)庫(kù)管理效率和準(zhǔn)確性。 入庫(kù)操作包括貨物接收、驗(yàn)收、分配儲(chǔ)位、記錄入庫(kù)數(shù)據(jù)。 入庫(kù)確認(rèn)可在倉(cāng)庫(kù)管理系統(tǒng)中進(jìn)行,更新庫(kù)存和記錄入庫(kù)數(shù)據(jù)。 確認(rèn)信息包括貨物信息、庫(kù)存數(shù)量、儲(chǔ)存位置等。 入庫(kù)數(shù)據(jù)包括貨物信息、儲(chǔ)存位置、入庫(kù)時(shí)間、入庫(kù)單號(hào)等。
(2)出庫(kù)單接口。 當(dāng)進(jìn)行出庫(kù)作業(yè)時(shí),WMS 倉(cāng)庫(kù)管理和ERP 系統(tǒng)需要通過(guò)接口進(jìn)行相關(guān)數(shù)據(jù)的傳輸工作。ERP 發(fā)出出庫(kù)單,并使用HTTP 協(xié)議將其傳輸?shù)絎MS 倉(cāng)庫(kù)管理系統(tǒng)。 如果WMS 倉(cāng)庫(kù)管理系統(tǒng)需要執(zhí)行出庫(kù)操作,它將使用HTTP 協(xié)議和數(shù)據(jù)檢索請(qǐng)求從ERP 系統(tǒng)中獲取出庫(kù)訂單。
2.3.3 數(shù)據(jù)同步方法
通過(guò)調(diào)用優(yōu)軟云平臺(tái)的應(yīng)用程序編程接口(application programming interface,API),查詢某個(gè)組織機(jī)構(gòu)的物料庫(kù)存信息,并根據(jù)查詢結(jié)果向本地?cái)?shù)據(jù)庫(kù)中新增物品記錄。 首先,使用JSONObject 對(duì)象封裝了查詢參數(shù),并 調(diào) 用 NCCBusinessRequestUtils 工 具 類(lèi) 中 的NCCBusinessRequest 方法發(fā)送HTTP 請(qǐng)求。 其次,通過(guò)解析響應(yīng)體中輕量級(jí)的數(shù)據(jù)交互格式(javaScript object notation, JSON),獲取data 字段對(duì)應(yīng)的列表數(shù)據(jù)。 再次,遍歷列表中的每個(gè)元素,并解析出pk_material 字段對(duì)應(yīng)的JSON 數(shù)據(jù),從中獲取物料的名稱和編碼等信息。 核心代碼如下:
JSONObject jsonObject =new JSONObject();
jsonObject. put ( " pk _ org ", " 0001A51000 0000008SFG");
String
url="/nccloud/api/uapbd/material/stockinfo/queryMaterialStockInfo";
Response response=NCCBusinessRequestUtils.NCCBusinessRequest(url,
GetYonYouTokenUtils.GetYonYouToken(),jsonObject);
String resp =response.body().string();
Map map =(Map)
List<Map<String,Objects>>data =(List<Map<String,Objects>>)
map.get("data");
for (Map<String, Objects>datum : data) {
Map pk_material =
JSON. parseObject(String. valueOf(datum. get(" pk_material")));
String nameMater =pk_material.get("name").toString();
boolean status =nameMater.contains("原料");
if(status){
String code =pk_material.get("code").toString();
Goods goods =new Goods();
goods.setName(nameMater);
goods.setMaterialcode(code);
goods.setStorage(1);
goods.setGoodstype(1);
goods.setCount(0);
boolean save =goodsService.save(goods);
}else{
String code =pk_material.get("code").toString();
Goods goods =new Goods();
goods.setName(nameMater);
goods.setMaterialcode(code);
goods.setStorage(2);
goods.setGoodstype(2);
goods.setCount(0);
boolean save =goodsService.save(goods);
}
人工智能獲取到相應(yīng)數(shù)據(jù)后,將物品存放到不同的倉(cāng)庫(kù),并插入本地?cái)?shù)據(jù)庫(kù)中。 最后,程序返回一個(gè)布爾值表示插入操作是否成功,由此數(shù)據(jù)的同步傳輸結(jié)束。
綜上所述,在現(xiàn)代商業(yè)管理中,ERP 系統(tǒng)和WMS 是兩個(gè)重要的組成部分。 ERP 系統(tǒng)在企業(yè)的業(yè)務(wù)流程中扮演著核心的角色,而WMS 則負(fù)責(zé)管理企業(yè)的庫(kù)存、入庫(kù)和出庫(kù)等方面。 對(duì)兩個(gè)系統(tǒng)進(jìn)行集成可以使企業(yè)的管理變得更加高效和智能化。 本文針對(duì)ERP 和WMS 集成的人工智能庫(kù)存管理系統(tǒng)進(jìn)行了設(shè)計(jì)研究,在一定程度上優(yōu)化了相關(guān)企業(yè)的庫(kù)存管理流程,對(duì)企業(yè)未來(lái)的發(fā)展有著重大的意義。