PDA开发从入门到精通
?
倉促的開局
2016年初,三方物流撤出,帶走了全部的軟件技術,留下了一堆PDA。
新年上班第一個星期里,我們要實現PDA收貨批量導入ERP系統功能。
沒有準備時間,沒有接觸過PDA設備,要在受限的WINCE上開發程序,滿足繁忙的物流業務,這些就是當時的場景。
還好,ERP系統聯調的收貨接口之前出至我手。多年的VC開發經驗加上對PDA背后業務的濃厚興趣,我想這是當時能夠走下去的內因。
?
萬無一失的防錯設計
庫管員每次收貨,PDA都會產生大量的文本文件,這些文件要導入ERP中,完成它對信息流變更的使命。
管理的PDA多,導出到電腦上的文件也多,這就可能會有異常發生,如果同一個或一批文件多次導入,就會使實物和信息流產生差異。
?
時間戳,是把當前的時間轉換為一串對應的數字。 ?這串數字是1970 年1月1日到當前時間點的總秒數。
在每一次庫管員對物料掃描時,PDA程序都保存了掃描時的時間戳。
時間是不會停止的,這些時間戳也是不會重復的。
ERP的批導入程序導入完成后會記錄這些時間戳,并在每一次導入時會對比這些時間戳,一旦發現有相同的出現,就會停止處理。
庫管員會得到提示:文件重復導入!
設計的靈感來自周星馳的:根本就沒有什么食神,或者人人都是食神。
?
沒有USB
PDA程序初期交付使用時,我們遇到了一個問題,當庫管員收集完條碼信息,從PDA導出到電腦上時,PDA死活連接不上電腦。
要么是USB線接觸不良,要么是USB口接觸不良?,F場的情況,庫管員要連接幾十次才有一次成功,我郁悶了。
我們使用的三方留下的PDA型號是優博訊i6080,WINCE5.0, ROM+RAM一共128M,
最高支持.NET COMPACT FRAMEWORK 2.0組件。 硬件的情況逼做我們要去實現網絡通訊,當時我不知道能否實現。
今天,再倒回去梳理時,我發現我們一步步的實現了WINCE的數據庫直連、FTP傳輸、HTTP連接、SOCKET傳輸等幾乎所有的網絡技術。
試想如果當時的硬件條件良好,我可能不會這么快去掌握PDA開發網絡技術。
?
忘記了它們的存在
當PDA功能基本滿足了前端業務后,有半年的時間,因為庫管員再也沒有來找過我們,我們幾乎忘記了它的存在,直到胡總要求我們重新梳理前端業務時,
我們才發現,原來PDA在RDC和VMI倉庫一直在使用。我查了一下服務器日志,ASN收貨功能已經收集條碼數據10萬條。
?
?
開放的服務器 OpenServer
?
PDA簡單的特性注定了它需要一個強大的后端服務器才能實現更多的功能。OpenServer 一個基于C#平臺開發的服務程序,隨著應用的深入,它會實現越來越多的功能。我為它封裝開源中國NO.1的網絡引擎HP-SOCKET實現標準的SOCKET連接,封裝SAP官方 .Net connector組件連接SAP系統,使用微軟的LINQ語言處理數據邏輯、EF框架連通各種數據庫??芍^從腳尖武裝到了牙齒。
?
OpenServer 第一個比較正式的項目是用在MES系統上。 庫管員每一次空箱的信息由PDA收集,實時傳遞給OpenServer,OpenServer松耦合的連接到MES數據庫,寫入信息。 從2016年11月正式部署后,持續運行了3個月,收集數據9000條,服務器沒有重啟過一次。
?
PDA直連SAP,實現實時收貨,是我一直想要去實現的功能,這個功能也是主流的WMS系統軟件具備的核心功能。終于在節后,我們放出了一個DEMO,PDA上點擊收貨按鈕,SAP完成實時收貨。目前業務顧問正在嚴格的測試,相信在不久的將來,該功能會在新倉庫中投入使用。
?
?
?
OpenServer The End(2017.7 我離開了濰柴(重慶)汽車)
2017年5月,我們正式上線了PDA直連SAP終級版本,實現在ERP中實時收貨,??
項目PPT見:http://blog.csdn.net/ot512csdn/article/details/61197323???????
?
通過PDA客戶端程序,OpenServer服務器端程序,SAP中RFC接口程序 三端完整的開發,
在ERP采購訂單物流收貨業務中,我認為我們實現了物流和信息流的高度融合:
?
1、減少之前PDA操作時間滯后環節,達到了實際物流現場和ERP中數據實時對應,
ERP系統對物料收貨物流的管控已經沒有延遲。
?
2、減少了一半以上的人工操作,原來3個庫管員干的事情,現在只要一個庫管員干。
原來庫管員需要分類處理大量的文件文件導入,現在不需要了。
?
3、大大提高了物流部門用戶對ERP系統收貨環節的用戶體驗。
?
?
?
在程序設計上,進一步用實例驗證了OpenServer服務器設計的高穩定性:
2017.6月至8月,服務器沒有重啟過一次,接受PDA客戶端600次以上登錄,處理采購訂單和ASN收貨數據上萬條。
而因為數據走底層SOCKET,服務器運行幾乎不需要硬件資源,任何PC機都能很好的運行,包括586!
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的PDA开发从入门到精通的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【FPGA基础】四位二进制--格雷码转换
- 下一篇: JDBC笔记02-数据库连接池 Spri