仓库管理系统WMS的标签打印解决方案

简介: 在仓库管理的业务场景中,实现标签打印。

需求分析

  1. 多端:发起标签打印的终端有 App 和 Web
  2. 批量:除了单个打印,还需要支持后台自动批量打印
  3. 便携:仓库人员能随身携带打印机,出标签后直接贴到对应库位或物品上

调研标签机

  1. 云打印机如飞鹅云都是需要插电的,没有电池,无法在仓库随身携带;
  2. 汉印蓝牙标签打印机,无法支持Web端发起打印请求
  3. 最后选定 优博讯 UROVO K329 WIFI版。

Web触发打印方案分析

标签打印机有2种调用方式:

  • 驱动模式:在Windows上安装驱动,发送要打印的数据到打印机
  • 指令模式:将 tspl,cpcl或esc 指令通过蓝牙或者WIFI方式发送到打印机

使用驱动模式的话,App端无法发送数据,Web端也必须先生成图片或PDF,无法跳过浏览器的文件存储逻辑,也就无法实现后台静默自动打印。

使用指令模式,由于蓝牙距离限制,PC和打印机通过蓝牙通信是不稳定的,所以采用 WIFI 连接发送数据。

其实也可以主要用App蓝牙交互的逻辑,Web把数据推到队列,App轮询接口或者websockt连接,和前端同事讨论对App性能有影响。

另外考虑到工期和前端工作量问题,App端的打印调API来还是走Web转发打印的逻辑,后期可以实现App通过蓝牙发指令到打印机,这样会更稳定,毕竟WiFi信号离路由器远了也会变弱。

流程确认

  1. App和Web向队列写数据
  2. PC上运行一个打印数据转发程序 Printer.exe,向服务器请求打印数据
  3. PC程序 Printer.exe 向打印机发送打印指令数据

考虑到将 Rabbitmq 的配置写到exe程序里会有安全问题,所以还是才用接口轮询的方法,让 Printer.exe 每隔一秒去请求打印数据。

基于 Python 实现打印数据转发程序

主要实现以下几个功能:

  • 请求数据接口
  • 向标签机 IP:PORT 发送打印指令
  • 定时重复请求
  • 记录日志,清理7天前的日志文件
  • 使用 pyinstaller -F .\printer.py 打包成exe程序
目录
相关文章
|
7月前
|
UED
点晴OA办公系统如何实现业务表单的自定义设计
在点晴OA办公系统中,业务表单的自定义设计是一项重要的功能,它能够满足企业不同的业务需求,提高工作效率和协作能力。 随着企业的发展,不同的业务部门需要处理各种类型的表单,如人事表单、财务表单、项目表单等。如果这些表单无法根据实际需求进行自定义设计,就会导致工作效率低下、信息不准确、协作困难等问题。因此,实现业务表单的自定义设计是提高企业办公效率和协作能力的重要手段。
101 0
|
7月前
|
移动开发 前端开发
基于若依的ruoyi-nbcio流程管理系统中自定义业务流程发布动态更新业务流程关联信息
基于若依的ruoyi-nbcio流程管理系统中自定义业务流程发布动态更新业务流程关联信息
123 2
|
7月前
|
移动开发 前端开发
基于若依的ruoyi-nbcio流程管理系统自定义业务实现一种简单的动态任务标题需求
基于若依的ruoyi-nbcio流程管理系统自定义业务实现一种简单的动态任务标题需求
95 1
|
7月前
|
移动开发 前端开发
基于若依的ruoyi-nbcio流程管理系统自定义业务实现一种简单的动态任务标题(续)
基于若依的ruoyi-nbcio流程管理系统自定义业务实现一种简单的动态任务标题(续)
53 1
|
7月前
|
API 数据库
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(一)
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(一)
183 1
|
7月前
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(二)
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(二)
160 1
|
开发框架 供应链 JavaScript
一个简单、功能完整的开源WMS​仓库管理系统
一个简单、功能完整的开源WMS​仓库管理系统
621 0
|
7月前
|
JavaScript Java 测试技术
基于Java的家具销售库存管理信息系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的家具销售库存管理信息系统的设计与实现(源码+lw+部署文档+讲解等)
58 3
|
7月前
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(三)
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(三)
50 0
|
7月前
|
前端开发
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner正式发布
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner正式发布
49 0