仓促的开局

2016年初,三方物流撤出,带走了全部的软件技术,留下了一堆PDA。

新年上班第一个星期里,我们要实现PDA收货批量导入ERP系统功能。

没有准备时间,没有接触过PDA设备,要在受限的WINCE上开发程序,满足繁忙的物流业务,这些就是当时的场景。

还好,ERP系统联调的收货接口之前出至我手。多年的VC开发经验加上对PDA背后业务的浓厚兴趣,我想这是当时能够走下去的内因。

万无一失的防错设计

库管员每次收货,PDA都会产生大量的文本文件,这些文件要导入ERP中,完成它对信息流变更的使命。

管理的PDA多,导出到电脑上的文件也多,这就可能会有异常发生,如果同一个或一批文件多次导入,就会使实物和信息流产生差异。

时间戳,是把当前的时间转换为一串对应的数字。  这串数字是1970 年1月1日到当前时间点的总秒数。

在每一次库管员对物料扫描时,PDA程序都保存了扫描时的时间戳。 

时间是不会停止的,这些时间戳也是不会重复的。

ERP的批导入程序导入完成后会记录这些时间戳,并在每一次导入时会对比这些时间戳,一旦发现有相同的出现,就会停止处理。

库管员会得到提示:文件重复导入!

设计的灵感来自周星驰的:根本就没有什么食神,或者人人都是食神。

没有USB

PDA程序初期交付使用时,我们遇到了一个问题,当库管员收集完条码信息,从PDA导出到电脑上时,PDA死活连接不上电脑。

要么是USB线接触不良,要么是USB口接触不良。现场的情况,库管员要连接几十次才有一次成功,我郁闷了。

我们使用的三方留下的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开发从入门到精通相关推荐

  1. Android开发从入门到精通

    Android开发从入门到精通 --Android经典教程 目 录 目 录 1 第一章 什么是Android 1 什么是Android - 嵌入式设备编程的历史-第一章(1) 1 开放手机联盟和And ...

  2. 《Java 开发从入门到精通》—— 2.2 编写第一段Java程序

    本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.2节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 编 ...

  3. 《Visual C++ 开发从入门到精通》——2.7 变量

    本节书摘来自异步社区出版社<Visual C++ 开发从入门到精通>一书中的第2章,第2.7节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  4. 《ASP.NET 开发从入门到精通》----2.3 编译和部署ASP.NET程序

    本节书摘来自异步社区<ASP.NET 开发从入门到精通>一书中的第2章,第2.3节,著 张明星 ,责任编辑 张 涛, 更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  5. 《51单片机应用开发从入门到精通》——2.2 跑马灯实例

    本节书摘来自异步社区<51单片机应用开发从入门到精通>一书中的第2章,第2.2节,作者 张华杰,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 跑马灯实例 ...

  6. 《libGDX移动游戏开发从入门到精通》一第2章 libGDX的架构分析

    本节书摘来异步社区<libGDX移动游戏开发从入门到精通>一书中的第2章,第2.1节,作者: 黄俊东 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  7. 《C++ 开发从入门到精通》——第2章 C++的重要特质分析2.1 什么是面向对象(object-oriented)...

    本节书摘来自异步社区出版社<C++ 开发从入门到精通>一书中的第2章,第2.1节,作者: 王石磊 , 韩海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2 ...

  8. pythonweb开发-Python Web开发从入门到精通

    Python Web开发从入门到精通循序渐进地讲解了Python Web开发的核心知识,并通过具体实例的实现过程演示了Web开发程序的流程.Python Web开发从入门到精通共15章,内容包括Pyt ...

  9. 《Visual C++ 开发从入门到精通》——1.4 技术解惑

    本节书摘来自异步社区出版社<Visual C++ 开发从入门到精通>一书中的第1章,第1.4节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  10. Nginx开发从入门到精通

    Nginx开发从入门到精通 缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部原理 ...

最新文章

  1. SAP RETAIL 如何根据分配表查到根据它创建的采购订单?
  2. Dockerfile常用指令
  3. 狼叔直播 Reaction《学习指北:Node.js 2022 全解析》
  4. 深入理解redis中的lua脚本
  5. python爬虫架构设置_Python爬虫进阶三之Scrapy框架安装配置
  6. 2017.05.12_SAP特殊功能
  7. vss(2005)使用详解
  8. 如何用Primer6批量设计引物(非全cDNA引物)
  9. 电子书籍检索下载很好的网站推荐
  10. IP种子眼中的《延禧攻略》流落何处?
  11. python实现12306余票
  12. CRMchat 客服系统
  13. 动手学习深度学习-跟李沐学AI-自学笔记(1)
  14. c++ string 易语言,如何把C++变成易语言
  15. 23神经网络 :唐宇迪《python数据分析与机器学习实战》学习笔记
  16. android 卡片切换 印象笔记,挖掘iPhone版印象笔记的 13 个高效率操作技巧
  17. tekla自动出图——mark
  18. 牛客网“程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)”错误的可能原因
  19. 解决DXP软件中off grid的一种最佳方法
  20. I.MX6 AW-NB177NF WIFI 驱动移植问题

热门文章

  1. 项目过程管理(十七)结项
  2. php设置 url长度,URL长度有限制吗?_PHP教程
  3. 智慧新泰时空大数据与云平台_智慧城市时空大数据与云平台建设技术大纲即将出台...
  4. 数据分析学习记录(二)---响应曲面法及Design-Expert的简单使用
  5. SSM SpringBoot vue高校实训管理系统
  6. 宋健人口模型 matlab,一阶常微分方程模型-人口模型与预测
  7. DMX512协议个人总结,待验证,欢迎拍砖
  8. electron build报错,nsis下载不下来的情况
  9. 课程设计(飞机订票系统) 超全
  10. 《精通脚本黑客》读本书吧