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



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