鄭元坤, 程衛東, 鄧玉全, 劉建彪, 韓 飛
(山東理工大學,山東淄博 255000)
隨著人們生活水平的不斷提高,水產食品在人們飲食結構中的比例越來越大。近年,水產食品安全問題頻頻發生。從多起水產食品安全事故的成因追溯分析可以看出,飼料安全問題是導致水產食品安全問題的原因之一。(1)原料管控:原料標識不完整或不規范,不同批次原料混合使用,產品質量不穩定。(2)領料流程:手工記錄和盤點使得“先進先出”原則操作難度大,部分原料因貯存時間過長出現霉變、污染等現象。(3)投料流程:現在的投料流程主要靠雙人復核保證投料準確性,使得投料流程易受人為因素影響造成錯投現象。(4)質量追溯:水產飼料出現質量問題難以有效監控和追溯。
目前我國的飼料產業已由快速發展階段向整合提升階段進行轉變,要適應新的形勢,在激烈的競爭中生存、發展,我國飼料產業必須優化產業結構,調整戰略布局,轉變發展方式,從量的擴張為主向質的提升轉變,從外延式發展向內涵式發展轉變,從粗放經營向科學發展轉變,提高企業核心競爭力,保持發展的協調性、全面性和可持續性(宇凌等,2011)。利用物聯網技術來建立水產飼料全流程追溯系統將是提高我國水產飼料整體發展水平的重要手段之一。
依據國際對農產品追溯的定義:通過對水產飼料原料的生產廠家、采購日期、批次、品質等信息的記錄,以及在飼料生產過程中對各節點進行實時數據采集,建立水產飼料全流程追溯系統的信息庫,以二維碼為載體對生產信息記錄并將生產全流程各環節緊密相連,最終形成水產飼料全流程追溯系統(李圣軍,2014)。考慮到水產飼料生產廠家現有工作模式,分別以原料采購、原料初檢、原料入庫、領料、投料、成品包裝等環節作為信息溯源點。水產飼料追溯流程圖如圖1所示。
系統基于B/S(Browser/Server)三層結構開發,如圖2所示。前端開發使用HTML+CSS+JavaScript+JQuery技術框架,后臺開發使用SSH集成框架,JDK1.8(Java Development Kit)作為應用支撐環境,使用eclipse作為軟件集成開發工具,Java語言作為后臺開發語言,Tomcat 7.0作為應用服務器,系統數據庫使用MySQL。

圖1 水產飼料追溯流程圖

圖2 B/S結構示意圖
3.1 系統總體框架設計 系統采用集成SSH(struts+spring+hibernate)框架,SSH是目前應用比較廣泛的一種Web應用程序開源框架。集成SSH框架從職能上分為四層:表示層、業務邏輯層、數據持久層和域模塊層,其中表示層使用Struts框架,業務層使用Spring框架,數據持久層使用Hibernate框架實現,域模塊層就像實體層一樣貫穿整個框架(史曉宏,2009)。
系統將Struts作為整體的基礎架構,采用攔截器的機制來處理用戶的請求,以便于MVC結構的分離。在Struts框架的模型部分,控制業務跳轉。Spring作為一個控制反轉(IoC)和面向切面(AOP)的容器框架,負責業務邏輯層的事務處理(黃敬海,2010)。Hibernate作為對象關系映射框架,通過對JDBC進行輕量級的對象封裝,使得開發者可以更加靈活地操縱數據庫。這種框架結構的優點在于系統各層之間具有低耦合度的特性,具有很好的可復用性,后期維護工作量小。系統總體框架如圖3所示。

圖3 系統總體框架圖
3.2 系統功能模塊設計 水產飼料全流程追溯系統設計為六個模塊:原料管理模塊、生產管理模塊、銷售管理模塊、人事管理模塊、追溯查詢模塊和系統管理模塊。系統功能結構圖如圖4所示。

圖4 系統功能結構圖
3.2.1 原料管理模塊 飼料原料品質優劣直接影響飼料質量,系統將其作為生產全流程控制的第一關。原料管理流程如圖5所示,從原料的采購開始,首先根據生產計劃確定原料采購計劃,制訂原料質量企業控制標準和檢驗項目。原料入庫以后,要按照統一的原料條碼編碼方案(圖 6)對原料進行標記,實現原料的批次管理。原料管理模塊包括原料采購單管理、供應商信息、初檢信息、庫存管理。采購管理主要是包括實現對采購訂單的添加、修改、刪除和査詢等功能,同時,還可以將這些基本信息導出為Excel文件進行保存。供應商信息主要記錄原料供應商基本信息,初檢信息主要包括對原料初檢的信息記錄。庫存管理主要包括原料入庫時間、庫存數量、入庫人等信息。通過原料編號、原料批次或者供應商的基礎信息便可查詢出原料來源的詳細記錄。
3.2.2 生產管理模塊 水產飼料產品的生產管理控制,是水產飼料產品品質的重要保證。本系統基于福州海力鑫機電有限公司的鰻魚粉狀飼料生產線開發,可根據配方的不同來控制配料和稱重過程,避免了人工誤差。本系統的生產控制模塊主要包括對原料領料、投料過程的控制以及對飼料配方的管理。生產管理流程如圖7所示。投料控制主要是為了防止人為因素造成的錯投、漏投等問題的發生。投料前,工人通過掃碼槍識別原料的名稱和原料批次,當原料信息與配方內容相符時,方可進行投料操作,并且掃碼信息記錄會立即上傳云端服務器,當原料的類型或者批次不正確時,系統會給予警示,并且提示工人當前應投放的原料,只有掃碼信息核對無誤后,工人才能進行投料操作。飼料配方是飼料產品質量的基礎,是飼料生產企業的核心競爭力,更是產品生產和監督的最重要依據。對飼料配方進行管理既可以防止配方信息泄露,又可以為領料單的生成提供數據支持。

圖5 原料管理流程圖

圖6 飼料原料條形碼編碼規則

圖7 生產管理流程圖
3.2.3 銷售管理模塊 銷售管理主要包括對銷售訂單的添加、修改、刪除和査詢等功能。根據國務院發布的《飼料和飼料添加劑管理條例》的要求,飼料生產企業要在完善進貨查驗制度的基礎上建立產品追溯制度,能夠追蹤到飼料產品的來源與去向,當生產企業發現某一生產批次的產品出現質量問題時,能夠立即查詢到該批次飼料的銷售去向并立即召回。
3.2.4 追溯查詢模塊 為方便企業具體實施可追溯體系,參照國外已經實施或者較為成熟的標準法規,主要把追溯信息分為基本追溯信息與擴展追溯信息:基本追溯信息是為了確保產品的可追溯性,能夠實現組織間和組織內各環節間有效鏈接的必需信息;除基本追溯信息外,與食品追溯相關的其他信息稱之為擴展追溯信息,可以是產品質量或用于商業目的的信息(劉麗梅等,2009)。通過對水產飼料追溯信息的分析,本系統將追溯查詢模塊分為淺層追溯查詢和深層追溯查詢兩個部分。
3.2.4.1 淺層追溯查詢 淺層追溯查詢面向的用戶為消費者,消費者通過掃描產品包裝上面的二維碼即可獲取水產飼料產品的基本追溯信息,主要包括產品的生產批次、飼料配方組成、生產日期、保質期、原料批次與原料進貨商等。
3.2.4.2 深層追溯查詢 深層追溯查詢面向的用戶為飼料生產廠家。深層追溯查詢是指在獲取基本追溯信息的基礎上還會獲取有利于加強企業管理與內部溝通的擴展追溯信息。當水產飼料產品出現質量問題時,生產廠家可根據產品二維碼查詢到此產品的原料的批次信息和供貨商信息,飼料生產過程中的領料信息與投料信息。一方面可以避免問題原料繼續用于生產;另一方面可以從飼料生產全流程中找出問題環節所在并進行整改,有效地保證水產飼料安全高效生產。
3.2.5 人事管理模塊 人事管理主要是對部門信息與人員信息的管理,不同的部門工作分工不同,負責的系統模塊也不同。通過對部門和員工信息的管理可更加方便地對系統權限進行分配。
3.2.6 系統管理模塊 系統管理包括對用戶的管理、權限分配等功能。在用戶管理上,系統采用基于角色的管理模式(王曉超等,2012)。水產飼料全流程追溯系統的主要面向人員為系統管理員和飼料生產企業員工。系統最高的管理權限歸系統管理員所有,飼料生產企業員工只擁有基本的辦公模塊操作權限。系統可以根據工作需要為不同用戶分配不同的權限,保證了數據的安全可靠。
3.3 系統數據庫設計 系統采用MySQL數據庫,通過對水產飼料追溯流程和系統功能模塊的分析,得出數據庫表單的流程圖,如圖8所示。系統數據庫包含采購訂單表、原料庫存表、供應商表、領料表、投料表、加工信息表、配方信息表、產品信息表、部門信息表、人員信息表、銷售訂單表。

圖8 表單流程圖
水產飼料全流程追溯系統的開發,響應了國務院發布的《飼料和飼料添加劑管理條例》的政策號召(馬修國,2013)。通過利用先進的物聯網技術并依托Java軟件開發技術及數據庫技術,將原料管理、生產流程控制和銷售管理等模塊融為一體,從水產飼料生產源頭上強化和提高了飼料產品的質量和安全性,有效地避免了人為因素對生產過程的影響,保證水產飼料產品優質、安全、高效生產,實現水產飼料的生產全流程可追溯。