丁潤東 王亞 肖念昕 張志揚 周子康 馬唯一



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