丁潤(rùn)東 王亞 肖念昕 張志揚(yáng) 周子康 馬唯一
摘要:隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,中小型食品加工企業(yè)也逐步利用現(xiàn)代化信息技術(shù)實(shí)現(xiàn)管理。為了提高產(chǎn)品信息的管理效率,通過(guò)基于Spring Boot框架開發(fā)設(shè)計(jì)了食品企業(yè)ERP管理系統(tǒng)。該系統(tǒng)整體采用B/S架構(gòu)實(shí)現(xiàn),分為前端界面和后端服務(wù)兩個(gè)部分組成,用戶可通過(guò)Web瀏覽器訪問(wèn)后臺(tái)數(shù)據(jù)。其中,系統(tǒng)前臺(tái)采用了HTML+JavaScript+CSS技術(shù),結(jié)合前端框架實(shí)現(xiàn);后臺(tái)采用了Java Web中的Spring Boot框架技術(shù),結(jié)合MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)。食品企業(yè)借助該平臺(tái)可以實(shí)現(xiàn)生產(chǎn)、物流以及銷售等環(huán)節(jié)信息實(shí)時(shí)更新及時(shí)跟蹤,推進(jìn)企業(yè)的現(xiàn)代化管理模式,同時(shí)也為后續(xù)食品安全溯源提供了基礎(chǔ)。
關(guān)鍵詞:食品企業(yè);ERP;B/S;Spring Boot;Java
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)30-0044-04
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
隨著互聯(lián)網(wǎng)時(shí)代的到來(lái),食品生產(chǎn)企業(yè)數(shù)量快速增長(zhǎng),但在食品行業(yè)中,中小型食品企業(yè)占據(jù)大半,而這些企業(yè)普遍缺乏有效的科學(xué)管理,從而導(dǎo)致企業(yè)在運(yùn)營(yíng)的時(shí)候造成很多資源的浪費(fèi)。所以,加強(qiáng)企業(yè)信息化管理是很多中小型食品企業(yè)急需解決的問(wèn)題。ERP管理系統(tǒng)是在基礎(chǔ)信息之上使用系統(tǒng)化管理理念,通過(guò)一個(gè)管理平臺(tái)為企業(yè)運(yùn)營(yíng)和管理者提供一個(gè)科學(xué)管理思路,為很多中小型食品企業(yè)帶來(lái)了科學(xué)管理的解決方案[1]。企業(yè)管理者可以使用ERP系統(tǒng)從所銷售商品的底層信息開始收集整理,從而使商品的關(guān)鍵信息得到了迅速收集與高效利用,讓企業(yè)的上層及時(shí)、有效地掌握企業(yè)當(dāng)前的業(yè)務(wù)情況,以便快速、準(zhǔn)確地做出發(fā)展決策[2]。食品ERP管理平臺(tái)用于收集管理產(chǎn)品在整個(gè)生命周期內(nèi)產(chǎn)生的數(shù)據(jù)信息?;谠破脚_(tái)進(jìn)行食品溯源移動(dòng)端應(yīng)用開發(fā),不受限于物理設(shè)備,實(shí)現(xiàn)用戶的實(shí)時(shí)查詢,并且確保數(shù)據(jù)的完整性和安全性。規(guī)范了企業(yè)管理的流程,降低了企業(yè)的運(yùn)行成本,同時(shí)維護(hù)了消費(fèi)者的知情權(quán)益[3]。
2 系統(tǒng)需求分析
食品ERP系統(tǒng)需求主要從項(xiàng)目的建設(shè)實(shí)際出發(fā),可以分為業(yè)務(wù)規(guī)范性需求、系統(tǒng)功能性需求、系統(tǒng)非功能性需求。
企業(yè)想要獲得有效的發(fā)展,需要滿足業(yè)務(wù)規(guī)范性的需求。目前中小型食品企業(yè)在運(yùn)營(yíng)中主要面臨信息化水平較低、生產(chǎn)計(jì)劃缺乏科學(xué)性、貨品庫(kù)存管理不規(guī)范、管理者缺乏精準(zhǔn)數(shù)據(jù)支持進(jìn)行商業(yè)決策等問(wèn)題。為了解決上述問(wèn)題,企業(yè)需要借助信息化技術(shù)對(duì)生產(chǎn)加工中的產(chǎn)品信息、運(yùn)輸中的物流信息、產(chǎn)品銷售信息等進(jìn)行科學(xué)化管理。
針對(duì)食品企業(yè)實(shí)際的功能需要,需要設(shè)計(jì)實(shí)現(xiàn)生產(chǎn)信息管理模塊、物流信息管理模塊、銷售信息管理模塊。這些功能模塊作為ERP系統(tǒng)的業(yè)務(wù)核心,可以解決企業(yè)對(duì)于食品產(chǎn)品的加工、運(yùn)輸、銷售信息的獲取和管理,并且可以幫助管理層獲取精確的數(shù)據(jù)以便進(jìn)行及時(shí)、準(zhǔn)確的商業(yè)決策。
在建設(shè)ERP功能需求中,企業(yè)系統(tǒng)的非功能需求也是必不可少的一部分。ERP系統(tǒng)在業(yè)務(wù)功能的開發(fā)基礎(chǔ)上需要滿足安全穩(wěn)定的需求,在系統(tǒng)的控制使用上應(yīng)該賦予權(quán)限管理,并且通過(guò)操作日志對(duì)使用者操作的情況和系統(tǒng)登錄情況進(jìn)行記錄。ERP系統(tǒng)也需要滿足流程規(guī)范需求,使得食品企業(yè)的運(yùn)營(yíng)工作簡(jiǎn)單、便捷。同時(shí)ERP系統(tǒng)也需要滿足可拓展性需求,在建設(shè)系統(tǒng)的同時(shí)要考慮到系統(tǒng)拓展的問(wèn)題。
3 相關(guān)技術(shù)
系統(tǒng)采用B/S架構(gòu)[4],用戶可以在前端界面通過(guò)Web瀏覽器登錄,通過(guò)登錄界面登錄后,自主訪問(wèn)后端管理系統(tǒng)。以Java Web平臺(tái)作為Web應(yīng)用的開發(fā)平臺(tái),支持跨平臺(tái)使用和部署服務(wù)器,系統(tǒng)不會(huì)因?yàn)榉?wù)器的操作系統(tǒng)不同而造成部署限制[5]。支持Java Web平臺(tái)的開發(fā)工具比較常用的有Eclipse和Intellij IDEA,由于IDEA具有先進(jìn)智能的代碼提示、對(duì)重構(gòu)的優(yōu)越支持、簡(jiǎn)潔易用的GUI界面、完備的代碼檢查、動(dòng)態(tài)語(yǔ)法的檢測(cè)、豐富多樣的版本控制功能極大地方便了開發(fā)者對(duì)于代碼的編寫,修改與上傳提交,因此,本系統(tǒng)采用它作為編譯器進(jìn)行系統(tǒng)開發(fā)。另外,使用jdk1.8版本、maven3.2版本[6]、mysql8.0等基礎(chǔ)工具環(huán)境進(jìn)行開發(fā)。
3.1 前端相關(guān)技術(shù)
系統(tǒng)前端采用HTML、CSS、JavaScript、JQuery 1.8.0、EasyUI1.9.4、Bootstrap等主流前端技術(shù)進(jìn)行前臺(tái)頁(yè)面系統(tǒng)開發(fā)。
超文本標(biāo)記語(yǔ)言HTML常用作網(wǎng)頁(yè)開發(fā)。CSS是用來(lái)實(shí)現(xiàn)HTML文件樣式的計(jì)算機(jī)語(yǔ)言。JavaScript是一種具有函數(shù)優(yōu)先的輕量級(jí)、解釋性的編程語(yǔ)言,支持面向?qū)ο缶幊?,常用作Web頁(yè)面開發(fā)。JQuery是一個(gè)快速、簡(jiǎn)單的JavaScript框架,使用JQuery框架可以提高網(wǎng)頁(yè)開發(fā)效率。EasyUI是基于JQuery的一組UI插件集合,可以幫助Web開發(fā)者更為輕松地打造功能豐富、界面美觀的UI界面。Bootstrap是基于HTML、CSS、JavaScript開發(fā)的簡(jiǎn)潔、直觀的前端開發(fā)框架,使得Web開發(fā)更加迅捷。
3.2 后端相關(guān)技術(shù)
系統(tǒng)后端采用基于Java的SpringBoot2.0框架[7]搭建。Spring Boot框架因其輕量、低耦合、簡(jiǎn)單易于擴(kuò)展等特點(diǎn)深受開發(fā)人員的一致好評(píng),目前是Java里面主流框架之一。數(shù)據(jù)持久層采用MyBatis1.3.2框架[8],使用MyBatis框架可以使開發(fā)者將注意力都集中在SQL語(yǔ)句本身,無(wú)須花費(fèi)時(shí)間處理驅(qū)動(dòng)加載等過(guò)程[9]。日志管理采用Log4j2.10.0框架,整體項(xiàng)目采用Maven3.2.3管理。
3.3 系統(tǒng)技術(shù)架構(gòu)
該系統(tǒng)整體部署在Ubuntu操作系統(tǒng)中,是基于軟件工程中的三層架構(gòu)模型進(jìn)行開發(fā)設(shè)計(jì)的,總體可以劃分為三層:表示層、業(yè)務(wù)層、數(shù)據(jù)層。如圖1所示。
其中表示層主要實(shí)現(xiàn)與用戶進(jìn)行直接交互,包括用戶界面的展示以及用戶數(shù)據(jù)的展示,通過(guò)HTML、CSS、JQuery等技術(shù)實(shí)現(xiàn),通過(guò)Ajax接口與業(yè)務(wù)層進(jìn)行通信。
業(yè)務(wù)層主要負(fù)責(zé)系統(tǒng)內(nèi)部各個(gè)業(yè)務(wù)數(shù)據(jù)的運(yùn)算工作,為整個(gè)系統(tǒng)提供邏輯運(yùn)算的支持,由業(yè)務(wù)功能模塊和日志模塊等一些模塊組成,分為Controller和Service兩層。該層為中間層,負(fù)責(zé)連接表示層和數(shù)據(jù)層。業(yè)務(wù)層將數(shù)據(jù)層中的數(shù)據(jù)進(jìn)行邏輯運(yùn)算后展示在表示層中,供用戶查詢,并且用戶可以通過(guò)表示層發(fā)出增、刪、改、查等指令,調(diào)用業(yè)務(wù)層進(jìn)行邏輯運(yùn)算后,傳遞到數(shù)據(jù)層對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行相應(yīng)的操作。
數(shù)據(jù)層是連接MySQL數(shù)據(jù)庫(kù)[10],主要負(fù)責(zé)連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)持久化以及對(duì)數(shù)據(jù)的增、刪、改、查等操作。該層為最后一層,數(shù)據(jù)層和業(yè)務(wù)層中操作產(chǎn)生的日志都會(huì)通過(guò)日志記錄模塊進(jìn)行處理保存,保證每一步的操作可以追溯源頭。權(quán)限控制則貫穿整個(gè)三層架構(gòu),保證系統(tǒng)的安全穩(wěn)定。
4 系統(tǒng)設(shè)計(jì)
4.1 系統(tǒng)流程設(shè)計(jì)
ERP系統(tǒng)數(shù)據(jù)是產(chǎn)品在整個(gè)生命周期中的產(chǎn)生的數(shù)據(jù)信息,企業(yè)管理人員和相關(guān)工作人員都可以通過(guò)ERP系統(tǒng)了解產(chǎn)品的市場(chǎng)情況。在數(shù)據(jù)采集中,需要專門的企業(yè)員工對(duì)各個(gè)環(huán)節(jié)產(chǎn)生的數(shù)據(jù)錄入到ERP系統(tǒng)中。在食品生產(chǎn)中,企業(yè)生產(chǎn)人員將食品的基本信息錄入到ERP中進(jìn)行統(tǒng)一管理。在食品運(yùn)輸?shù)侥骋徽军c(diǎn)后,企業(yè)倉(cāng)儲(chǔ)人員將食品的運(yùn)輸信息錄入到ERP中進(jìn)行管理。在食品進(jìn)行網(wǎng)點(diǎn)銷售的時(shí)候,企業(yè)的市場(chǎng)調(diào)查員將食品的銷售情況錄入到ERP中。系統(tǒng)具體流程設(shè)計(jì)如圖2所示。
通過(guò)ERP系統(tǒng),可以把數(shù)據(jù)直接以表格形式導(dǎo)出給相關(guān)工作人員,也可把食品基本信息導(dǎo)出生成QR Code二維碼,通過(guò)標(biāo)簽打印機(jī)打印,作為產(chǎn)品的唯一標(biāo)識(shí),貼在產(chǎn)品的外包裝上[11],為后期的食品溯源提供基礎(chǔ)。
4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
食品企業(yè)ERP管理系統(tǒng)的數(shù)據(jù)庫(kù)主要實(shí)現(xiàn)對(duì)食品生產(chǎn)、物流、銷售基本信息的管理,相關(guān)工作人員可以直接從數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù),還可以生成QR Code二維碼作為產(chǎn)品唯一標(biāo)識(shí)貼在食品外包裝上。當(dāng)食品進(jìn)行物流運(yùn)輸?shù)竭_(dá)指定站點(diǎn)后,企業(yè)的倉(cāng)庫(kù)人員結(jié)合食品的唯一標(biāo)識(shí)將物流信息采集錄入到ERP系統(tǒng)中。當(dāng)食品到達(dá)銷售網(wǎng)點(diǎn)時(shí),企業(yè)的工作人員結(jié)合產(chǎn)品的QR Code將食品的銷售信息錄入ERP系統(tǒng)中。
本系統(tǒng)主要涉及7個(gè)表,包括:用戶信息表、用戶角色表、用戶角色模塊關(guān)系表、操作日志表、產(chǎn)品基本信息表、產(chǎn)品物流信息表、產(chǎn)品銷售信息表。用戶信息表主要包括:用戶名、登錄名、密碼、職位、所屬部門、電子郵件、手機(jī)號(hào)碼、是否為管理者、用戶狀態(tài)等字段。用戶角色表主要包括:角色名稱、用戶ID、描述、刪除標(biāo)記。其中刪除標(biāo)記通過(guò)varchar類型定義,未刪除代表0,刪除代表1,默認(rèn)為0。用戶角色模塊關(guān)系表主要包括:類別、類型、模塊編號(hào)值、刪除標(biāo)記。操作日志表主要包括:用戶編號(hào)、操作模塊名稱、客戶端IP、創(chuàng)建時(shí)間、操作狀態(tài)、操作詳情。
下面主要展示與系統(tǒng)核心功能相關(guān)的產(chǎn)品基本信息表、物流信息表和銷售信息表,如表1~表3所示。
4.3 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)服務(wù)部署在Ubuntu18.04版本上,采用Nginx[12]負(fù)載均衡服務(wù)器進(jìn)行服務(wù)分發(fā)。當(dāng)用戶以管理員的身份登錄后,可以查看到系統(tǒng)提供的三個(gè)核心功能,分別為食品生產(chǎn)信息模塊、食品運(yùn)輸信息模塊以及食品銷售信息模塊,管理員可以實(shí)現(xiàn)對(duì)相關(guān)信息的管理。系統(tǒng)界面如圖3、圖4、圖5所示。
食品生成信息管理模塊,主要實(shí)現(xiàn)對(duì)商品的各方面生產(chǎn)信息進(jìn)行管理的功能,如產(chǎn)品生產(chǎn)的二維碼、生產(chǎn)企業(yè)、產(chǎn)品名稱、生產(chǎn)日期、保質(zhì)期等信息,如圖3所示。
食品物流信息管理模塊,主要實(shí)現(xiàn)對(duì)商品在運(yùn)輸中物流信息進(jìn)行管理,如圖4所示。
食品銷售信息管理模塊,主要實(shí)現(xiàn)對(duì)商品在銷售過(guò)程中的信息進(jìn)行管理,如圖5所示。
食品導(dǎo)出功能實(shí)現(xiàn),主要實(shí)現(xiàn)將后臺(tái)數(shù)據(jù)庫(kù)在前端顯示的數(shù)據(jù)自動(dòng)導(dǎo)出到本地電腦生成Excel表格,更方便地實(shí)現(xiàn)了數(shù)據(jù)與其他人共享,同時(shí)通過(guò)標(biāo)簽打印機(jī),將Excel表格導(dǎo)入打印機(jī)App排版打印并粘貼到商品上,方便管理者和銷售者進(jìn)行檢查,使產(chǎn)品生產(chǎn)以及運(yùn)輸過(guò)程信息透明公開。保護(hù)了消費(fèi)者的知情權(quán),無(wú)形中又樹立了產(chǎn)品形象,如圖6所示。
普通員工可以進(jìn)行數(shù)據(jù)的查詢、導(dǎo)出,而管理員除了以上功能外還可以對(duì)產(chǎn)品信息進(jìn)行導(dǎo)入、增加、刪除、修改等操作。
5 結(jié)束語(yǔ)
本文根據(jù)某食品企業(yè)的實(shí)際需求,以提升產(chǎn)品信息化管理效率為目的,開發(fā)設(shè)計(jì)了ERP管理系統(tǒng)。系統(tǒng)采用B/S架構(gòu)系統(tǒng),前端主要采用HTML、CSS、JavaScrip實(shí)現(xiàn),而后端采用了Java Web中Spring Boot框架實(shí)現(xiàn),搭建了Nginx服務(wù)器實(shí)現(xiàn)負(fù)載均衡處理。該系統(tǒng)滿足了公司實(shí)際生產(chǎn)中對(duì)食品的生產(chǎn)信息、物流信息和銷售信息進(jìn)行統(tǒng)一信息化管理,方便了企業(yè)的運(yùn)營(yíng)和管理層的決策工作,也便于監(jiān)管部門管理和審查信息。
參考文獻(xiàn):
[1] 唐美華.企業(yè)信息化ERP應(yīng)用的現(xiàn)狀與對(duì)策[J].電子技術(shù)與軟件工程,2018(11):71.
[2] 尤耀華.分析ERP與電子商務(wù)的結(jié)合[J].信息技術(shù)與信息化,2018(4):195-197.
[3] 郭媛媛,馮玉強(qiáng),劉魯寧,等.企業(yè)文化對(duì)ERP消化吸收作用機(jī)理的多案例研究[J].科研管理,2016,37(7):89-96.
[4] 林偉婷.C/S與B/S架構(gòu)技術(shù)比較分析[J].科技資訊,2018,16(13):15-16.
[5] 劉震林,喻春梅.基于MVC模式的JAVA Web開發(fā)與實(shí)踐應(yīng)用研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021(1):57-58.
[6] 鄧志強(qiáng),鄧林強(qiáng).Maven在Java項(xiàng)目開發(fā)中的應(yīng)用[J].電子元器件與信息技術(shù),2019,3(5):1-4.
[7] 張峰.應(yīng)用SpringBoot改變web應(yīng)用開發(fā)模式[J].科技創(chuàng)新與應(yīng)用,2017(23):193-194.
[8] 榮艷冬.關(guān)于Mybatis持久層框架的應(yīng)用研究[J].信息安全與技術(shù),2015,6(12):86-88.
[9] Li Y Z,Gao S,Pan J,et al.Research and application of template engine for web back-end based on MyBatis-plus[J].Procedia Computer Science,2020,166:206-212.
[10] 胡敏.Web系統(tǒng)下提高M(jìn)ySQL數(shù)據(jù)庫(kù)安全性的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2015.
[11] 劉韜,都洪韜,丁潤(rùn)東,等.基于QR Code二維碼的食品溯源系統(tǒng)的開發(fā)與設(shè)計(jì)[J].阜陽(yáng)師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,38(4):89-94.
[12] Lei Z C,Zhou H,Ye S W,et al.Cost-effective server-side re-deployment for web-based online laboratories using NGINX reverse proxy[J].IFAC-PapersOnLine,2020,53(2):17204-17209.
【通聯(lián)編輯:謝媛媛】