董一方
(浙江經濟職業技術學院 數字信息技術學院,杭州 310018)
基于PDA的倉存數據采集系統由三個子系統組成,分別為條形碼子系統、數據收發子系統、數據采集子系統,如圖1所示。其中服務端數據收發子系統與PDA端數據采集子系統通過無線網絡進行通信[2]。

圖1 系統組成
各子系統的功能模塊如圖2所示。

圖2 系統功能模塊圖
條形碼子系統部署在客戶端,其主要功能是讀取ERP系統中的基礎數據與業務數據以生成條形碼標簽并打印,然后將其粘貼到對應的倉位與物品上,以建立物品、批次、倉位之間的關聯與跟蹤。
1)條形碼標簽生成:讀取ERP系統中的物品、規格、批次、倉位、單據號和數量等相關數據,按照事先定義的條形碼編碼規則生成條形碼標簽。支持的條形碼包括Code 39、Code 93、Code 128、EAN 8、EAN 13等一維條碼。可根據需要設置條形碼標簽的文字、高度、寬度和布局等,比如以條碼值“1234567890”為例,圖3生成的條形碼標簽寬度為100、高度為40,標簽文字位于正上方。

圖3 條形碼標簽
2)條形碼標簽打印:生成條形碼標簽后即可打印,系統支持專用條形碼打印機打印,也支持普通打印機打印以節省成本。
數據收發子系統部署在服務端,其主要功能是讀取ERP系統中的倉存作業任務,通過無線網絡向指定PDA手持設備發送基礎數據與作業任務數據,接收并處理PDA手持設備上傳的倉存業務數據。
1)基礎數據發送:定時或者根據PDA手持設備的請求,向PDA手持設備發送物品、規格、批號、倉位、供應商和客戶等基礎數據,以方便PDA用戶進行業務操作。
日前,《自然》雜志在線發表了一篇論文,描述的是中國科學院覃重軍研究團隊與合作者在國際上首次人工創建單條染色體的真核細胞,創造了自然界不存在的全新生命。有意思的是,這個被認為是繼原核細菌“人造生命”之后的又一個重大突破,最初源于覃重軍5年前一個大膽到近乎“瘋狂”的猜想,當時很多人覺得他就是在異想天開,如今這個“異想天開”卻成為了現實。
2)作業任務發送:讀取ERP系統中下達的作業任務,進行相關處理后即時向指定PDA手持設備發送作業任務數據。
3)業務數據接收:接收PDA手持設備上傳的各類倉存業務數據,進行相關轉換與處理后保存到服務端數據庫。
4)業務數據查詢與統計:根據時間、物品、倉位等條件查詢與統計各PDA手持設備采集的各類業務數據,進行審計與跟蹤。
數據采集子系統部署在各PDA手持設備中,實時接收服務端數據收發子系統發送的作業任務數據,作業任務包括入庫、出庫、盤點、移庫等,通過掃描條形碼標簽進行業務數據的采集,并通過無線網絡及時向服務端數據收發子系統發送業務數據。
1)PDA用戶登錄認證:開啟PDA手持設備后,用戶需輸入正確的帳號與密碼才能進入數據采集子系統,這樣可跟蹤與審計各PDA用戶的操作,確保系統安全性。
2)登錄密碼修改:用戶登錄數據采集子系統后,可根據需要修改登錄密碼,修改密碼需驗證舊密碼。
3)基礎數據同步:實時接收服務端數據收發子系統發送的物品、規格、批號、倉位等基礎數據,同步更新至PDA手持設備的數據庫中,為隨后的業務操作提供方便,比如當掃描物品條形碼時可關聯查詢基礎數據自動顯示物品的名稱、批號等信息。
4)作業任務接收:實時接收服務端數據收發子系統發送的作業任務數據。
5)業務操作與數據采集:PDA用戶按照接收到的作業任務到指定倉位進行業務操作,業務操作包括入庫、出庫、庫存盤點、移庫。使用PDA掃描出入庫物品與倉位的條形碼標簽,然后錄入數量進行業務數據的采集,并保存在PDA手持設備的數據庫中。在采集過程中系統對數據格式、數值范圍等進行有效性檢測,以確保數據的正確性,當檢測到錯誤時則給出提示。圖4為入庫數據采集之前的操作界面,如圖5所示為入庫數據采集之后的操作界面,其中條碼通過掃描入庫物品的條形碼標簽得到、架號通過掃描入庫倉位的條形碼標簽得到,件數與零頭由手工輸入,其余字段由物品條形碼關聯查詢基礎數據后自動顯示。

圖4 入庫數據采集前

圖5 入庫數據采集后
6)業務數據上傳:通過無線網絡把采集的業務數據實時或批量上傳至服務端數據收發子系統。批量上傳數據時需顯示上傳進度以提高人機交互性。批量上傳要確保數據上傳的原子性,即所有數據要么都上傳成功,要么都取消上傳。上傳成功后把已上傳的數據標記為“已上傳”,這樣下次上傳時可確保已上傳的數據不再重復上傳。
7)業務數據維護:采集的業務數據在上傳之前可在PDA中修改或刪除,當數據上傳成功之后則不可再在PDA中修改,也不可再次上傳,已確保數據的有效性。當經過指定的時間間隔后,系統則自動清空“已上傳”的業務數據以節省PDA空間。
8)即時庫存查詢:可根據物品代碼、物品名稱、倉位查詢各物品、各倉位的即時庫存數量,方便用戶操作。
9)系統設置:設置作業任務下載與業務數據上傳的服務端IP地址,設置已上傳業務數據自動清空的時間間隔等。
系統使用的集成開發工具為Visual Studio 2010,編程語言為C#,系統運行平臺如圖6所示。

圖6 系統運行平臺
操作系統為Windows XP, 運行平臺為.NET Framework 4.0。主要開發技術包括Windows Form、ADO.NET,條碼標簽生成采用開源組件BarcodeLib.dll[3]。
操作系統為Windows Server 2008,Web服務器為IIS 7.0,運行平臺為.NET Framework 4.0,數據庫服務器為Microsoft SQL Server 2005企業版。主要開發技術包括ASP.NET、ADO.NET、Web Service[4]、數據庫事務等。其中Web Service用于異構平臺(服務端與PDA手持設備)之間的數據交互。
PDA手持設備選用優博訊I60,此款設備的操作系統為Windows CE 5.0,運行平臺為.NET Compact Framework 3.5[5],設備使用的數據庫為SQL Compact Edition 3.5。主要開發技術包括ADO.NET,.NET異步與多線程技術等。其中.NET異步與多線程技術用于業務數據批量上傳進度的實時顯示。
PDA與PC機相比內存較小、CPU處理能力較弱,所以需合理設計與優化代碼以提高性能,尤其是業務數據批量上傳時需確保上傳快速且占用較少內存。
業務數據采集時需自動進行有效性檢測以確保數據的準確性,業務數據批量上傳時需進行事務控制以確保數據上傳的原子性(即所有數據要么都上傳成功,要么都取消上傳),避免業務數據重復上傳,已上傳的業務數據不可再在PDA中修改等。
所有PDA窗體界面風格一致、操作方式統一,光標自動跳轉與定位,文本框焦點獲取高亮顯示,掃描物品條形碼后自動顯示物品名稱與規格,操作結果友好提示,業務數據上傳進度實時顯示等。
利用.NET技術設計并實現基于PDA的倉存數據采集系統,詳細闡述系統的各組成部分、功能、運行平臺和主要開發技術,同時概括系統實現的關鍵點。該系統在化工企業倉庫管理的運行情況表明,系統性能良好,運行穩定可靠,操作簡潔,方便易用,極大的提高倉庫入庫、出庫、盤點和移庫等各作業環節業務數據采集的實時性與準確性,減輕倉管人員的工作量,提升倉存管理的效率。
[1] 何亮, 龔中華, 付松廣. 金蝶ERP-K/3模擬實戰: 財務, 供應鏈, 生產制造[M]. 第2版. 北京: 人民郵電出版社, 2011.
[2] 李俊韜, 岳溥庥, 朱杰. 基于無線PDA 技術的物流智能揀選系統[J]. 微計算機信息, 2007, 23(12-2): 36-37.
[3] Brad Barnhill. Barcode Image Generation Library[EB/OL]. http://www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library, 2007.
[4] Bill Evjen, Scott Hanselman, Devin Rader. Professional ASP.NET 4 in C# and VB[M]. Hoboken: Wrox, 2010.
[5] Paul Yao, David Durant. Programming. NET Compact Framework 3. 5[M]. 2nd ed. Boston: Addison-Wesley Professional, 2009.