張述嘉 師 韻 林 潔 劉 婧
(西京學(xué)院,陜西 西安710000)
基于web 的供應(yīng)鏈采購(gòu)管理系統(tǒng)主要分為兩個(gè)品臺(tái):商家平臺(tái)和供應(yīng)商平臺(tái)。兩個(gè)平臺(tái)都有采購(gòu)管理、倉(cāng)庫(kù)管理、庫(kù)存管理。其中區(qū)別在于采購(gòu)管理下面的菜單選項(xiàng)不同,商家平臺(tái)獨(dú)有入庫(kù)單管理,供應(yīng)商平臺(tái)獨(dú)有退庫(kù)單管理。采購(gòu)訂單、采購(gòu)?fù)素泦?、到貨單、質(zhì)檢單是兩個(gè)平臺(tái)公有模塊。所有功能模塊協(xié)同完成采購(gòu)入庫(kù)和采購(gòu)?fù)素洏I(yè)務(wù)流程。為了保證供應(yīng)鏈采購(gòu)管理系統(tǒng)日常業(yè)務(wù)數(shù)據(jù)保存的準(zhǔn)確性及可靠性,本系統(tǒng)使用了SQL Server 數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)保證了數(shù)據(jù)存儲(chǔ)的及時(shí)性、準(zhǔn)確性、可靠性[1]。
前端頁(yè)面采用當(dāng)前主流框架vue+elementUI;后端采用springboot+mybatis-plus;服務(wù)網(wǎng)關(guān)中間件(nginx);利用Json Web Token 做登錄鑒權(quán);前端路由器(router);服務(wù)請(qǐng)求(axios);后端服務(wù)器(tomcat8.0);數(shù)據(jù)庫(kù)(MySQL8.0);緩存中間件(Redis5.0);使用maven 進(jìn)行項(xiàng)目的依賴管理。
1.1.1 Vue 和ElementUI。前端代碼和后端代碼放在一個(gè)項(xiàng)目中從而導(dǎo)致項(xiàng)目很臃腫;如果后端項(xiàng)目中某一個(gè)服務(wù)出現(xiàn)了問(wèn)題會(huì)導(dǎo)致整個(gè)項(xiàng)目都不能正常運(yùn)行。為了更貼近企業(yè)級(jí)的開(kāi)發(fā)選擇前后端分離模式。
1.1.2 Springboot 和Mybatis-plus。Springboot 能快速的搭建一個(gè)Web 項(xiàng)目,無(wú)需做過(guò)多的XML 配置,Springboot 框架是開(kāi)發(fā)JavaWeb 項(xiàng)目的不二之選。Spring Boot 運(yùn)用可以通過(guò)maven 工具將其打包成jar 包,通過(guò)Java -jar 命令獨(dú)立運(yùn)行,利用Mybatis-plus 的代碼生成器可以一鍵生成Controller、Mapper 、domain、Service 層代碼,為開(kāi)發(fā)節(jié)約了很多時(shí)間。
1.1.3 Json Web Token。需借助Token 來(lái)判斷用戶的登錄狀態(tài),已達(dá)到鑒權(quán)的目的。隨著登錄用戶的增加,內(nèi)存消耗不斷增大,利用Token 的無(wú)狀態(tài)鑒權(quán)機(jī)制加上Spring Security oauth2 的思想完成了偽單定登錄。需要注意的是Json Web Token 的header 和payload 都是通過(guò)算法將對(duì)象序列化成字符串,將這個(gè)字符串放到HTTP 請(qǐng)求的請(qǐng)求頭中,每次發(fā)送HTTP 請(qǐng)求的時(shí)候后端攔截器對(duì)請(qǐng)求頭中的token 做相應(yīng)的處理。
1.1.4 nginx。nginx 是一個(gè)HTTP 服務(wù)可以獨(dú)立提供HTTP 服務(wù),可以做靜態(tài)網(wǎng)頁(yè)服務(wù)器。在前后端分離開(kāi)發(fā)模式下,后端運(yùn)用通過(guò)Java 的Java-jar 命令部署以后,前端的vue 項(xiàng)目也需要部署在Linux 云服務(wù)器上。而且nginx 對(duì)系統(tǒng)CPU、內(nèi)存等資源消耗卻非常低,運(yùn)行非常穩(wěn)定。
開(kāi)發(fā)工具使用IntelliJ IDEA 2019.3。IDEA 是企業(yè)開(kāi)發(fā)中做流行的開(kāi)發(fā)工具,里面有很多插件,自帶很多強(qiáng)大的功能。企業(yè)講究協(xié)同開(kāi)發(fā),對(duì)代碼的提交很頻繁。開(kāi)發(fā)語(yǔ)言采用Java,開(kāi)發(fā)環(huán)境jdk1.8。云服務(wù)器選用centos7.4。
本系統(tǒng)給商家和供應(yīng)商提供一個(gè)線上采購(gòu)的平臺(tái)。商家通過(guò)WEB 供應(yīng)鏈采購(gòu)管理系統(tǒng)可以節(jié)約與供應(yīng)商的業(yè)務(wù)洽談時(shí)間,在一定程度上降低了采購(gòu)成本。在基于web 的供應(yīng)鏈采購(gòu)管理系統(tǒng)中商家能新增訂單,對(duì)訂單的管理中供應(yīng)商可以審核訂單、查看訂單。在商家品臺(tái)和供應(yīng)商品臺(tái)兩個(gè)品臺(tái)協(xié)同工作下完成采購(gòu)入庫(kù)、采購(gòu)?fù)素?。商家和供?yīng)商可以對(duì)自己的倉(cāng)庫(kù)進(jìn)行查看,也可以查看各商品對(duì)應(yīng)倉(cāng)庫(kù)的庫(kù)存情況,從而做出決策?,F(xiàn)在,企業(yè)的采購(gòu)管理不僅成為了其管理的專業(yè)職能,而且成為了實(shí)現(xiàn)企業(yè)經(jīng)營(yíng)目標(biāo)的戰(zhàn)略手段[2]。
Web 供應(yīng)鏈采購(gòu)管理系統(tǒng)分為商家品臺(tái)和供應(yīng)商平臺(tái)。系統(tǒng)結(jié)構(gòu)圖如1 所示。
圖1 基于web 的供應(yīng)鏈采購(gòu)管理系統(tǒng)結(jié)構(gòu)圖
商家新增采購(gòu)訂單后等待供應(yīng)商審核,供應(yīng)商審核通過(guò)創(chuàng)建到貨單,商家確認(rèn)到貨后生成質(zhì)檢單、入庫(kù)單,在商家質(zhì)檢登記完成后才能確認(rèn)入庫(kù)。商家新增采購(gòu)?fù)素泦?,?jīng)供應(yīng)商審核后,創(chuàng)建退庫(kù)單,退庫(kù)完成。
數(shù)據(jù)庫(kù)一共有22 張表,主表是采購(gòu)訂單表和采購(gòu)?fù)素洷?。其他表均圍繞這兩張主表展開(kāi),共同實(shí)現(xiàn)采購(gòu)管理功能模塊單據(jù)域數(shù)據(jù)模型如圖2 所示。
用戶商品域主要完成用戶登錄模塊,利用token 進(jìn)行鑒權(quán)、倉(cāng)庫(kù)管理、庫(kù)存管理。用戶商品域數(shù)據(jù)模型如圖3 所示。
圖2 單據(jù)域數(shù)據(jù)模型
圖3 用戶商品域數(shù)據(jù)模型
基于web 的供應(yīng)鏈采購(gòu)管理系統(tǒng)組要分為商家平臺(tái)和供應(yīng)商平臺(tái)。兩個(gè)系統(tǒng)從同一個(gè)登錄界面進(jìn)去,在登錄界面進(jìn)行系統(tǒng)選擇,從而達(dá)到分平臺(tái)的效果。該系統(tǒng)提供采購(gòu)訂單服務(wù)、采購(gòu)?fù)素浄?wù)、入庫(kù)單服務(wù)、到貨單服務(wù)、質(zhì)檢單服務(wù)、倉(cāng)庫(kù)管理服務(wù)和查看庫(kù)存服務(wù)。如圖4 供應(yīng)鏈采購(gòu)管理系統(tǒng)業(yè)務(wù)架構(gòu)圖所示。
圖4 供應(yīng)鏈采購(gòu)管理系統(tǒng)業(yè)務(wù)架構(gòu)
商家在登錄頁(yè)面選擇商家平臺(tái)登錄系統(tǒng),在采購(gòu)訂單管理頁(yè)面新增采購(gòu)訂單。
新增采購(gòu)訂單分為基礎(chǔ)信息和產(chǎn)品列表兩部分組成?;A(chǔ)信息中的供應(yīng)商名稱/編碼是一個(gè)遠(yuǎn)程搜索下拉框。里面會(huì)顯示所有與之關(guān)聯(lián)的供應(yīng)商的編碼和名稱。在供應(yīng)商名稱/編碼不為空的時(shí)候入庫(kù)倉(cāng)庫(kù)、入庫(kù)日期、截止入庫(kù)日期狀態(tài)變?yōu)榭删庉?,然后填寫必填?xiàng)信息。在所有必填項(xiàng)信息完成的情況下點(diǎn)擊查詢貨品按鈕彈出對(duì)話框。點(diǎn)查詢按鈕既可以查詢出所有選供應(yīng)商的商品信息列表選中要采購(gòu)的商品信息點(diǎn)擊確定返回新增采購(gòu)訂單頁(yè)面。填寫采購(gòu)數(shù)量后系統(tǒng)自動(dòng)算出采購(gòu)金額。產(chǎn)品列表可以對(duì)已經(jīng)選中的產(chǎn)品進(jìn)行刪除操作。點(diǎn)擊提交,提示用戶采購(gòu)訂單創(chuàng)建完成,等待供應(yīng)商審核。供應(yīng)商登錄對(duì)應(yīng)的系統(tǒng)在采購(gòu)訂單頁(yè)面可以對(duì)商家下的采購(gòu)訂單進(jìn)行審核。審核通過(guò)后由商家在到貨單頁(yè)面確認(rèn)到貨。確認(rèn)到貨后,開(kāi)始質(zhì)檢登記,進(jìn)入質(zhì)檢登記頁(yè)面后正常商品和異常商品框不可編輯,點(diǎn)擊質(zhì)檢登記后可編輯。同時(shí)操作變?yōu)樘峤坏怯浐腿∠H绻|(zhì)檢正常的數(shù)量加質(zhì)檢異常的數(shù)量小于采購(gòu)的數(shù)量提示用戶質(zhì)檢未完成是否提交。且質(zhì)檢單的狀態(tài)修改為質(zhì)檢中。質(zhì)檢完成后,到入庫(kù)單頁(yè)面確認(rèn)入庫(kù)。如果訂單狀態(tài)不是已質(zhì)檢則提示用戶質(zhì)檢未完成,不能入庫(kù)。在質(zhì)檢完成后再點(diǎn)擊確認(rèn)入庫(kù),提示用戶入庫(kù)成功。在所有流程均正常完成以后可以在采購(gòu)訂單的任何一個(gè)模塊的查看詳情中查看整個(gè)流程。
商家登錄商家品臺(tái),進(jìn)入采購(gòu)?fù)素泦雾?yè)面。點(diǎn)擊新增退貨單,界面原型。供應(yīng)商名稱/編號(hào)和新增采購(gòu)訂單一樣,在選擇供應(yīng)商名稱/編號(hào)后,退庫(kù)倉(cāng)庫(kù)才能選擇。在選擇退庫(kù)倉(cāng)庫(kù)以后,倉(cāng)庫(kù)地址自動(dòng)填充。在填寫退貨原因后點(diǎn)擊查詢商品彈出對(duì)話框。如果貨品編碼為空,提示用戶貨品編碼不能為空,當(dāng)填寫貨品編碼后可查詢出所選商家可退貨數(shù)量信息以及商品編碼、商品名稱信息,選中要退貨的商品點(diǎn)擊確定,返回新增退貨單頁(yè)面。填寫完退貨數(shù)量后點(diǎn)擊提交,如果操作成功提示用戶新建退貨單成功,否則提示服務(wù)器錯(cuò)誤,提交退貨單成功后等待供應(yīng)商審核。供應(yīng)商登錄供應(yīng)商平臺(tái),進(jìn)入采購(gòu)?fù)素泦雾?yè)面。如果單據(jù)狀態(tài)為待審核可以看到審核按鈕,否則只能查看單據(jù)詳情。供應(yīng)商點(diǎn)擊審核,進(jìn)入審核頁(yè)面。當(dāng)我們點(diǎn)擊審核通過(guò)按鈕時(shí)彈出對(duì)話框選擇入庫(kù)倉(cāng)庫(kù)。點(diǎn)擊確定后提示用戶審核通過(guò),否則提示用戶服務(wù)器錯(cuò)誤。當(dāng)供應(yīng)商審核通過(guò)后,可以在退庫(kù)單中查看詳情,當(dāng)供應(yīng)商確認(rèn)已退庫(kù)后可以查看詳細(xì)流程信息。
Internet/電子商務(wù)等現(xiàn)代管理思想和信息技術(shù)之間是相輔相成[3]。隨著計(jì)算機(jī)技術(shù)以及網(wǎng)絡(luò)技術(shù)的發(fā)展,電子商務(wù)和人們的日常生活日益貼近,眾多的購(gòu)物平臺(tái)競(jìng)爭(zhēng)也越來(lái)越大,在保證質(zhì)量的情況下,基于WEB 的供應(yīng)鏈采購(gòu)管理系統(tǒng)能夠高效地聯(lián)系商家平臺(tái)和供應(yīng)商平臺(tái),提高服務(wù)效率與服務(wù)質(zhì)量,從而降低成本,是最有效的競(jìng)爭(zhēng)手段。