2

我正在寻找 POS 打印的解决方案。

场景是:

一家餐厅目前有一个 POS 系统启动并运行,他们从店内的 iPad 上接受订单,并有一个网络设置来处理订单并在厨房的热敏打印机上自动打印出来(很酷,对吧?)。无论如何,这家餐厅还有一个在线订购网站(用 PHP 编写),必须通过电子邮件手动检查。餐厅希望他们的在线系统自动将每个订单发送到打印机。

我必须补充一点,我没有参与他们网站的开发或他们的内部订购系统。我以前没有使用 PHP 到 POS 系统 - 有可能吗?将数据从网站表单自动发送到 POS 打印机的替代解决方案有哪些?

4

3 回答 3

2

php 网站上的 Web 服务,带有用于处理或未处理的状态标志。每 x 分钟从内部应用程序/内部应用程序查询 Web 服务(1 可能就足够了)列出所有未处理的订单并在检索到时将它们标记为已处理(黑客但就足够了)

c#/java/c++ 等将最好避免基于 Web 的问题,无法访问本地打印机接口/队列应用程序只需从 Web 服务取回结果集并格式化/打印它。

相当简单的大约 20 行 php 或许不到 100k 的 c# 就可以很好地完成。

于 2013-04-09T15:52:35.370 回答
1

我会少考虑打印机,多考虑如何与他们使用的 POS 软件交互。找出制造商、产品名称和版本号(如果可以的话)。然后与该制造商联系,看看他们是否有可以连接的 SDK 或 API。

当涉及到实际将其连接到网站时,我不会直接从您的 PHP 页面调用他们的 POS 系统。即使可能,这种紧密耦合也意味着如果 POS 系统脱机或无法访问,则该网站将被破坏。

相反,使用数据库或排队系统来存储来自网站的订单。编写一小部分中间件(例如守护程序或服务),这些中间件将从数据库或队列中读取,并使用其 SDK 或 API 向 POS 系统提供订单。

从长远来看,保持这些系统解耦将为您节省大量时间和金钱。没有它,您肯定会遇到可伸缩性问题。

想一想——如果你确实直接写信给打印机,如果两个订单同时进来会发生什么?两张订单的数据是否会出现乱码?一个订单会失败而另一个订单通过吗?这比您想象的更有可能,因为餐厅在高峰时段往往很忙。去问那些在周日超级碗披萨外卖店工作的人。

于 2013-04-09T16:00:06.960 回答
0

如果 Tablet 应用程序真的是通过 WIFI 连接到已配置的网络打印机,并且打印机只是网络连接的,并且没有其他 PC,那么这意味着您还有更多工作要做。您可以采取几种方法。无论哪种方式,您都必须在现场拥有一台 PC。如果您可以从网络浏览器打印到本地网络上的网络打印机,那么您就有了一个简单的方法。如果您设置具有 Web 应用程序访问权限的 PC,则可以在本地网络上配置相同的网络打印机,然后只需创建一个带有样式表 media=print 的 html 页面,该页面会适当地格式化订单,然后单击按钮时调用 javascript print应该这样做。这需要PC登录到网站,以及管理订单并单击打印以使用标准方法将订单数据发送到打印机的人员。第二种方法是识别打印机制造商,下载打印机型号的 POS 驱动程序并编写一个类来处理获取、排队和向打印机发放发票,然后创建一个计划作业,将订单写入打印机,类似到服务。这也需要现场的 PC,但不需要人员监控订单和打印队列。第二种方法将花费客户更多的资金来开发。然后创建一个计划作业,将订单写入打印机,类似于服务。这也需要现场的 PC,但不需要人员监控订单和打印队列。第二种方法将花费客户更多的资金来开发。然后创建一个计划作业,将订单写入打印机,类似于服务。这也需要现场的 PC,但不需要人员监控订单和打印队列。第二种方法将花费客户更多的资金来开发。

于 2013-04-10T13:59:43.970 回答