朱光亞+周月如
摘要:紡織樣品管理系統(tǒng)是專為國內(nèi)某紡織領域國企樣品倉庫設計的用戶樣品管理平臺,旨在提高企業(yè)樣品管理規(guī)范化程度,有效監(jiān)管、統(tǒng)計企業(yè)紡織樣品的實際生產(chǎn)、銷售情況[1]。樣品出入存報表功能作為系統(tǒng)為實現(xiàn)樣品全流程追蹤中最為關鍵的功能模塊,很好的反映了一段時間內(nèi)所有樣品的銷售情況,為公司下一步經(jīng)營生產(chǎn)策略的制定提供重要的數(shù)據(jù)保證。該模塊沿襲了系統(tǒng)的C/S架構(gòu),初步設定以MySQL作為數(shù)據(jù)庫,客戶端采用WPF與服務器進行數(shù)據(jù)交互,服務器采用SpringMVC+Hibernate+Mysql完成業(yè)務邏輯功能實現(xiàn)[2-5]。
關鍵詞:紡織企業(yè)應用;樣品管理系統(tǒng);Java;Hibernate
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)01-0099-02
隨著“互聯(lián)網(wǎng)+”的逐漸普及,互聯(lián)網(wǎng)與傳統(tǒng)行業(yè)的深度融合正在日益加深。紡織行業(yè)作為中國自古以來“男耕女織”式自然經(jīng)濟的主要代表,可以稱作最為古老的傳統(tǒng)行業(yè)。“紡織樣品管理系統(tǒng)”的提出,不僅僅是企業(yè)的現(xiàn)實需求,更是對“互聯(lián)網(wǎng)+”時代的最好回應。樣品管理系統(tǒng)正是在這一客觀條件下提出,可以作為原ERP系統(tǒng)中紡織品跟蹤、倉庫管理、樣品營銷的取締品。出入存報表功能作為系統(tǒng)的一個重要功能模塊,是對樣品全流程追蹤的總結(jié)和直觀體現(xiàn)[6-9]。
1 出入存報表總體功能設計
出入存報表模塊的后臺功能設計主要包括數(shù)據(jù)獲取、數(shù)據(jù)初始篩選、數(shù)據(jù)記錄類別分類、同編號信息合并、樣品信息補全、待返回數(shù)據(jù)處理。前端以WPF窗口程序作為客戶端,其主要功能是與后臺進行信息的交互,通過HTTP.POST方法傳參,提交用戶查看出入存報表的具體要求,并使用DEVEXPRESS數(shù)據(jù)報表中的Reporting相關組件向客戶展示報表。用戶可以通過本地客戶端提交有效的信息反饋給后臺,由服務器實現(xiàn)報表記錄的計算生成,從而完成本地C端與服務器之間的通信[10]。功能結(jié)構(gòu)如圖1所示。
服務器功能實現(xiàn)通過Java實現(xiàn)。采用SpringMVC框架,數(shù)據(jù)庫操作通過Hibernate實現(xiàn)每張表映射為一個實體類。服務器分為Controller層、Dao層、Service層、Entity、ViewModel。Controller層主要負責數(shù)據(jù)的接收與返回。Dao層完成對數(shù)據(jù)庫的操作。Service層用以實現(xiàn)所有的業(yè)務邏輯。Entity中每一個實體類對應數(shù)據(jù)庫的一張表。ViewModel用來定義傳參的參數(shù)類具體內(nèi)容。為保證數(shù)據(jù)的一致性,事務“@Transactiona l”注解設置在Service層,防止業(yè)務邏輯實現(xiàn)過程中出現(xiàn)了異常導致數(shù)據(jù)庫出現(xiàn)錯誤的記錄[11,12]。
2 數(shù)據(jù)庫設計
紡織樣品管理系統(tǒng)的數(shù)據(jù)存儲采用MySQL數(shù)據(jù)庫,數(shù)據(jù)庫名稱為hfsampledb。根據(jù)客戶需求和系統(tǒng)設計必要需求,數(shù)據(jù)庫主要分為用戶管理相關表、樣品業(yè)務相關表、樣品詳細信息相關表、原系統(tǒng)數(shù)據(jù)轉(zhuǎn)存相關表、樣品展廳相關表五大類。針對目前客戶所提出的實際需求,出入存報表主要是對樣品入庫表、樣品出庫表、面料信息表中的信息進行分類統(tǒng)計。與該功能相關的數(shù)據(jù)庫結(jié)構(gòu)圖如圖2所示。
以出入庫表為例,其數(shù)據(jù)表設計如下。
1) 樣品入庫表(table_business_i nstorage):主要保存樣品入庫時所產(chǎn)生的數(shù)據(jù)記錄,包括入庫編號、樣品編號、入庫數(shù)量、入庫日期、操作員編號、業(yè)務員編號、倉庫名稱、庫位名稱、創(chuàng)建時間戳、單據(jù)回沖標識、入庫原因、樣品轉(zhuǎn)移倉庫來源。其他詳細信息見圖2 。
2) 樣品出庫表(table_business_o utstorage):主要保存樣品出庫時所產(chǎn)生的數(shù)據(jù)記錄,包括出庫編號、樣品編號、合同編號、出庫數(shù)量、出庫日期、業(yè)務員編號、客戶姓名、樣品郵寄狀態(tài)標識、樣品歸還狀態(tài)標識、歸還數(shù)量、歸還日期、記錄銷毀狀態(tài)標志、創(chuàng)建時間戳、倉庫名稱、庫位名稱、出庫原因。其他詳細信息見圖2 。
3 功能實現(xiàn)
3.1 主界面設計
主界面包括條件篩選和報表兩個界面[13]。條件篩選界面實現(xiàn)對報表生成條件的限制,目前基于客戶需求限制條件為出入庫的時間上下限節(jié)點,一共四點,可以全部限制,也可以部分限制。如圖3所示。報表界面為用戶提供所有樣品的出入存信息,包括部門、訂單編號、規(guī)格、顏色、樣品類型、樣品來源、客戶名稱、業(yè)務員、克重等屬性,同時計算每月出庫數(shù)量、入庫數(shù)量、庫存的各自流水總量。報表附加功能包括按已有屬性進行排列和分組、自定義報表屬性(可以修改已有的屬性,隱藏或添加)、導出excel。如圖4所示。
3.2 出入存報表功能詳細設計
出入存報表打印需要企業(yè)用戶通過前臺客戶端提交報表篩選條件,由服務器按照錄入的條件進行符合要求的數(shù)據(jù)初始獲取。服務器進行第一步數(shù)據(jù)獲取后,產(chǎn)生兩個未經(jīng)處理的List ,按照樣品編號遞增排列。對于這兩條List,根據(jù)實際應用中對于最終結(jié)果的要求,進行數(shù)據(jù)初始篩選,去除每一條同倉庫間倉庫轉(zhuǎn)移的單據(jù)記錄,去除每一條被銷毀的單據(jù)記錄。數(shù)據(jù)初始篩選后兩條List中的數(shù)據(jù)都是有效數(shù)據(jù),接下來處理第一條數(shù)據(jù)。結(jié)果數(shù)據(jù)列表resultList的結(jié)構(gòu)由主界面設計中提到的所有屬性名組成,resultList中,每個樣品編號對應的出庫記錄分別占據(jù)序號2n,2n+1(n∈N),resultList[2n]是計劃內(nèi)樣品記錄,resultList[2n+1]是計劃外樣品記錄。n=0時,選擇兩個列表中樣品編號較小的一條,如果一樣則直接選入庫列表的第一條作為結(jié)果列表的第一組數(shù)據(jù)[14]。功能流程圖如圖5所示。
出入庫兩個列表沒有一個處理完時,不斷地比較未處理的最新記錄的樣品編號,若與結(jié)果數(shù)據(jù)列表最新一條一致則累加,若不一致則新建兩個記錄,分別保存樣品編號新的計劃內(nèi)外記錄。當出入庫列表有一條已經(jīng)處理完成,剩下的一個列表的所有元素都是符合順序的遞增排列,逐個添加到結(jié)果列表即可。每新建一條記錄的同時需要在面料樣品信息表中補足足夠的信息。轉(zhuǎn)化為Json格式之前需要把resultList中樣品編號對應出入庫數(shù)量都為0的移除。endprint
4 結(jié)束語
服務器采用的設計模式便于處理用戶在實際生產(chǎn)和使用中產(chǎn)生的新需求。ViewModel作為篩選條件和返回結(jié)果的數(shù)據(jù)層,僅修改ViewModel層即可改變返回結(jié)果,適用性強。而報表界面提供強大的分組、排序、導出、自定義列表項功能對企業(yè)月度年度總結(jié)報表產(chǎn)生了很大的便利,為員工按勞計算獎金、部門按量計算籌資提供了簡單有效的方法。
參考文獻:
[1] 吳澤全,東忠閣,劉立強. 基于物聯(lián)網(wǎng)的水田無線監(jiān)控系統(tǒng)設計[J]. 農(nóng)機化研究,2018,40(3):65-69.
[2] 曾觀音. 基于權(quán)限和功能的APP個性化推薦算法的研究[D]. 武漢:武漢大學,2017.
[3] 余久久. 面向SPOC的自主學習系統(tǒng)的設計與應用[J]. 西昌學院學報:自然科學版,2017,31(1):57-61.
[4] 田紅. 智慧課堂學習平臺的設計與應用[J]. 軟件,2017,38(2):139-142.
[5] 洪莉萍. 基于C/S架構(gòu)的稅務報表收集管理系統(tǒng)的設計與實現(xiàn)[D].長春:吉林大學,2016.
[6] 程玲. ERP系統(tǒng)中會計電子檔案的設計與實施[D].濟南:山東大學,2016.
[7] 丁恒,陸偉. 標準文獻知識服務系統(tǒng)設計與實現(xiàn)[J]. 現(xiàn)代圖書情報技術(shù),2016 (Z1):120-128.
[8] 趙靜. 基于.NET的企業(yè)培訓管理系統(tǒng)的設計與實現(xiàn)[D]. 北京:北京工業(yè)大學,2016.
[9] 陳海明,崔莉. 面向服務的物聯(lián)網(wǎng)軟件體系結(jié)構(gòu)設計與模型檢測[J]. 計算機學報,2016,39(5):853-871.
[10] 于春平. C/S模式車間級生產(chǎn)管理系統(tǒng)的研究[D]. 大連:大連理工大學,2008.
[11] 李繼唐. 基于C/S和B/S的教務管理系統(tǒng)的設計與實現(xiàn)[D]. 天津:天津大學,2008.
[12] 唐明靖. 面向Web的報表、圖表統(tǒng)計系統(tǒng)研究與實現(xiàn)[C]//中國通信學會青年工作委員會.第一屆中國高校通信類院系學術(shù)研討會論文集.中國通信學會青年工作委員會,2007:7.
[13] 鄒堅,李世平,魏小飛. 基于LabVIEW的自動測試系統(tǒng)中的報表生成研究[J]. 自動化儀表,2006 (11):68-70.
[14] 張軍. 基于.NET的報表生成系統(tǒng)設計[D].西安:西北工業(yè)大學,2004.endprint