一种出库单据自助信息读取分配打印方法及装置
文献发布时间:2023-06-19 10:57:17
技术领域
本申请属于数据处理技术领域,特别涉及一种出库单据自助信息读取分配打印方法及装置。
背景技术
生鲜电商企业在进行货物配送前,需要将收货确认单给配送司机,以便用户及配送司机进行核货,打印收货确认单是工厂出库主流程中的重要环节,目前使用针式高速打印机进行打印,由配送司机排队报号后,打印员调用系统存储的相关信息,确认分拣完成后进行集中打印,核货后通知配送司机集中领取,现有的模式存在以下问题:打印时间长,影响司机出库效率,例如北京5仓打单是在4:30-5:30左右,司机每天都需要排队等待,普遍影响出库时间20-60分钟;打印成本较高,包括打印机租赁费、人工费、纸张等耗材费用;现场容易混乱,司机体验较差。
发明内容
为了解决上述技术问题至少之一,本申请提供了一种出库单据自助信息读取分配打印方法及装置,辅助配送司机进行出库单据的快速打印。
本申请第一方面提供了一种出库单据自助信息读取分配打印方法,包括:获取由用户端生成的携带有打印任务的二维码;解析所述二维码,并校验其携带的打印任务是否处于打印队列,若所述打印任务处于打印队列,则向所述用户端发送打印属性信息,若所述打印任务未处于打印队列,则将所述打印任务发送至数据管理系统;接收所述数据管理系统对所述打印任务的附加信息,由所述附加信息及所述打印任务所携带的信息共同构成打印内容;将所述打印内容发送至打印机,并将与所述打印机及打印队列相关的打印属性信息发送至用户端及数据管理系统。
优选的是,解析所述二维码时,进一步包括:解析所述二维码携带的打印任务中的线路id,并将其发送给所述数据管理系统;接收所述数据管理系统对所述线路id所关联线路的货物分拣情况,若对应线路的货物未分拣完成,则取消打印任务,并将打印错误信息发送至用户端。
优选的是,将所述打印内容发送至打印机包括:获取预先对多个打印机进行排列的打印机队列;在所述打印机队列中,按照循环方式读取当前待分配的打印机;将所述打印内容发送至该打印机。
优选的是,将所述打印内容发送至打印机包括:将所述打印内容发送至任务个数最小的一台打印机。
优选的是,进一步包括:接收打印机的故障信息;将该存在故障的打印机的未完成打印任务重新进行分配,并将新的打印属性信息发送至所述数据管理系统,由所述数据管理系统对打印属性信息进行更新;在接收到用户端的二维码信息后,向所述用户端发送更新后的打印属性信息。
本申请第二方面提供了一种出库单据自助信息读取分配打印装置,包括:二维码读取模块,用于获取由用户端生成的携带有打印任务的二维码;解析模块,用于解析所述二维码,并校验其携带的打印任务是否处于打印队列,若所述打印任务处于打印队列,则向所述用户端发送打印属性信息,若所述打印任务未处于打印队列,则将所述打印任务发送至数据管理系统;打印内容生成模块,用于接收所述数据管理系统对所述打印任务的附加信息,由所述附加信息及所述打印任务所携带的信息共同构成打印内容;打印机选取模块,用于将所述打印内容发送至打印机,并将与所述打印机及打印队列相关的打印属性信息发送至用户端及数据管理系统。
优选的是,所述解析模块进一步包括:线路读取单元,用于解析所述二维码携带的打印任务中的线路id,并将其发送给所述数据管理系统;错误信息处理单元,用于接收所述数据管理系统对所述线路id所关联线路的货物分拣情况,若对应线路的货物未分拣完成,则取消打印任务,并将打印错误信息发送至用户端。
优选的是,所述打印机选取模块包括:打印机队列获取单元,用于获取预先对多个打印机进行排列的打印机队列;打印机分配单元,用于在所述打印机队列中,按照循环方式读取当前待分配的打印机;打印内容发送单元,用于将所述打印内容发送至该打印机。
优选的是,所述打印机选取模块包括:打印机选取单元,用于将所述打印内容发送至任务个数最小的一台打印机。
优选的是,进一步包括:故障信息获取模块,用于接收打印机的故障信息;打印机更新模块,用于将该存在故障的打印机的未完成打印任务重新进行分配,并将新的打印属性信息发送至所述数据管理系统,由所述数据管理系统对打印属性信息进行更新;打印属性信息发送模块,用于在接收到用户端的二维码信息后,向所述用户端发送更新后的打印属性信息。
本申请在系统层面上,通过出示二维码信息由自助系统扫描识别,通过系统运算和数据调用,实现系统自动处理打印信息。本申请提高了打印效率及打印体验。
附图说明
图1是本申请出库单据自助信息读取分配打印方法的一优选实施例的流程图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图对本申请的实施方式进行详细说明。
本申请第一方面提供了一种出库单据自助信息读取分配打印方法,如图1所示,主要包括:
步骤S1、获取由用户端生成的携带有打印任务的二维码。
本实施例中,用户端一般是指司机手持的移动端,通过移动端上的APP生成按线打印二维码,包含仓库id,配送批次,配送日期,司机名称,司机手机号,线路id等信息。用户填写相关信息后,自动生成二维码,本申请应用于打印终端,例如连接多台打印机的设备,该打印终端提供一个固定式的扫码器,用于读取用户端提供的携带有打印任务的二维码。
步骤S2、解析所述二维码,并校验其携带的打印任务是否处于打印队列,若所述打印任务处于打印队列,则向所述用户端发送打印属性信息,若所述打印任务未处于打印队列,则将所述打印任务发送至数据管理系统。
可以理解的是,由于每个二维码所携带的打印任务是针对出库单据进行的打印,因此,其必然包含一个用于表征该打印任务的唯一识别号,例如线路id,或者配送批次等等,以防止用户多次打印,或者方便用户进行打印信息查询等。与打印任务相关的打印属性信息主要包含打印机编号以及打印机当前状态,打印机状态例如可以是待打印、打印中、打印完成等,打印属性信息可以存储在该打印终端,也可以储存在服务器端,在该步骤S2中,打印终端对打印属性信息进行校验,如果与打印相关的信息已经发送至某台打印机,处于待打印、打印中或者打印完成,即打印任务处于打印队列中,则将相关打印机编号告知用户,在用户侧表现为扫码后提示打印机编号及打印状态。通常情况下,打印任务队列需展示配送日期、司机、线路(门店)、分配打印机、打印状态、扫码时间、打印时间等信息。
在一个备选实施方式中,如果与打印相关的信息已经被某台打印机打印完成,还可以在用户侧设置继续打印的相关提示,用户点击相关插件后,则会重新生成二维码,该二维码附加了重新打印的标签,以便打印终端能够识别,防止因其与已打印任务具有同一识别号而拒绝打印。
步骤S3、接收所述数据管理系统对所述打印任务的附加信息,由所述附加信息及所述打印任务所携带的信息共同构成打印内容。
本实施例中,打印任务所携带的信息由用户端编辑完成,并保存在二维码中,例如配送批次,配送日期,司机名称,司机手机号等,这些信息用于对打印内容进行补充,真正的打印内容为附加信息,其存储在服务器端的数据管理系统内,包含了订单的具体信息,例如商品名称、数量、金额、优惠、配送地址、收货人等等。本申请将司机关注的信息或者司机需要附加的信息与订单本身的信息分开编辑与存储,司机将订单识别信息及需要补充的内容编辑完成后,构成打印任务,打印终端自动获取相关订单信息,并与打印任务携带的信息合并,形成一种具有类似定制的打印内容,提高了用户(司机)体验。
步骤S4、将所述打印内容发送至打印机,并将与所述打印机及打印队列相关的打印属性信息发送至用户端及数据管理系统。
打印内容完成后,分配打印机进行打印,并将打印属性信息告知用户,具体的告知流程如步骤S2所述,不再赘述。
在一些可选实施方式中,解析所述二维码时,进一步包括:解析所述二维码携带的打印任务中的线路id,并将其发送给所述数据管理系统;接收所述数据管理系统对所述线路id所关联线路的货物分拣情况,若对应线路的货物未分拣完成,则取消打印任务,并将打印错误信息发送至用户端。该实施例中,通过数据管理系统根据线路id对货物分拣信息进行监控,防止误打印,若未获取到或线路未分拣完成,移除对应任务并在扫码界面提示司机错误信息。
在一些可选实施方式中,将所述打印内容发送至打印机包括:获取预先对多个打印机进行排列的打印机队列;在所述打印机队列中,按照循环方式读取当前待分配的打印机;将所述打印内容发送至该打印机。
在一些可选实施方式中,将所述打印内容发送至打印机包括:将所述打印内容发送至任务个数最小的一台打印机。
上述两个实施例给出了打印机分配方案,可以是以循环的方式分配打印机,也可以是安排空闲、排队数量少的打印机。
在一些可选实施方式中,进一步包括:接收打印机的故障信息;将该存在故障的打印机的未完成打印任务重新进行分配,并将新的打印属性信息发送至所述数据管理系统,由所述数据管理系统对打印属性信息进行更新;在接收到用户端的二维码信息后,向所述用户端发送更新后的打印属性信息。
本实施例中,打印终端监听各打印机状态,状态包括空闲、打印中、异常;若打印机报错或长时间(15min)未执行完一个打印任务,更新打印机状态为异常,打印机出现异常时,在对应的队列上方显示异常提示,内容为‘打印机异常,请联系管理人员处理’,因打印机故障,未出单据,可以关闭故障设备,从新扫描,系统自动分配其他打印机执行任务,若重复打印次数校验失败,或未获取到打印信息,显示对应的错误信息,若打印机缺纸,则告知管理员进行添纸操作。
本申请的打印机优先采用热敏打印,启用的打印机后,打印机与打印终端自动连接,接收打印终端分配的打印任务,打印过程中,不同线路间需要有裁切线分割。
本申请在系统层面上,通过出示二维码信息由自助系统扫描识别,通过系统运算和数据调用,实现系统自动处理打印信息。本申请提高了打印效率及打印体验。
本申请第二方面,提供了一种与上述方法对应的出库单据自助信息读取分配打印装置,主要包括:二维码读取模块,用于获取由用户端生成的携带有打印任务的二维码;解析模块,用于解析所述二维码,并校验其携带的打印任务是否处于打印队列,若所述打印任务处于打印队列,则向所述用户端发送打印属性信息,若所述打印任务未处于打印队列,则将所述打印任务发送至数据管理系统;打印内容生成模块,用于接收所述数据管理系统对所述打印任务的附加信息,由所述附加信息及所述打印任务所携带的信息共同构成打印内容;打印机选取模块,用于将所述打印内容发送至打印机,并将与所述打印机及打印队列相关的打印属性信息发送至用户端及数据管理系统。
在一些可选实施方式中,所述解析模块进一步包括:线路读取单元,用于解析所述二维码携带的打印任务中的线路id,并将其发送给所述数据管理系统;错误信息处理单元,用于接收所述数据管理系统对所述线路id所关联线路的货物分拣情况,若对应线路的货物未分拣完成,则取消打印任务,并将打印错误信息发送至用户端。
在一些可选实施方式中,所述打印机选取模块包括:打印机队列获取单元,用于获取预先对多个打印机进行排列的打印机队列;打印机分配单元,用于在所述打印机队列中,按照循环方式读取当前待分配的打印机;打印内容发送单元,用于将所述打印内容发送至该打印机。
在一些可选实施方式中,所述打印机选取模块包括:打印机选取单元,用于将所述打印内容发送至任务个数最小的一台打印机。
在一些可选实施方式中,进一步包括:故障信息获取模块,用于接收打印机的故障信息;打印机更新模块,用于将该存在故障的打印机的未完成打印任务重新进行分配,并将新的打印属性信息发送至所述数据管理系统,由所述数据管理系统对打印属性信息进行更新;打印属性信息发送模块,用于在接收到用户端的二维码信息后,向所述用户端发送更新后的打印属性信息
本申请其它方面,提供了一种计算机设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序用于实现如上所述的出库单据自助信息读取分配打印方法。
该实施例中,该计算机设备为设置在多台打印机旁边的自助终端,其连接多台打印机及服务端,并通过上述方法控制这些打印机进行打印,并且能够识别用户端的二维码,提取二维码中的信息,以及将该信息或者二维码发送到服务端,即本申请的数据管理系统。
本申请其它方面,提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的出库单据自助信息读取分配打印方法。
特别地,根据本申请的实施方式,上文参考流程图描述的过程可以被实现为计算机软件程序,特别是安装在手机终端上的计算机程序,其能够与服务器进行交互。例如,本申请的实施方式包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。本申请的计算机存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施方式中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块或单元也可以设置在处理器中,这些模块或单元的名称在某种情况下并不构成对该模块或单元本身的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 一种出库单据自助信息读取分配打印方法及装置
- 一种出库分配方法和出库分配装置