|
|
@@ -1,6 +1,8 @@
|
|
|
-#include "../pch/pch.h"
|
|
|
+锘�#include "../pch/pch.h"
|
|
|
#include "CPosPrinter.h"
|
|
|
|
|
|
+#include "../worker/CPosPrinterWorker.h"
|
|
|
+
|
|
|
CPosPrinter::CPosPrinter()
|
|
|
{
|
|
|
}
|
|
|
@@ -10,39 +12,39 @@ CPosPrinter::~CPosPrinter()
|
|
|
{
|
|
|
}
|
|
|
|
|
|
-//完成所有打印一个外卖订单的操作
|
|
|
+//瀹屾垚鎵€鏈夋墦鍗颁竴涓��鍗栬�鍗曠殑鎿嶄綔
|
|
|
void CPosPrinter::PrintWaimaiOrder(CWaimaiOrder& order)
|
|
|
{
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_waimai_printer") == "1")
|
|
|
{
|
|
|
- //执行收银小票打印操作
|
|
|
+ //鎵ц�鏀堕摱灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintWaimaiOrderShouyin(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_waimai_biaoqian_printer") == "1")
|
|
|
{
|
|
|
- //执行标签小票打印操作
|
|
|
+ //鎵ц�鏍囩�灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintWaimaiOrderBiaoqian(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddBiaoqianPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddBiaoqianPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //判断是否进行自动的厨房打印
|
|
|
+ //鍒ゆ柇鏄�惁杩涜�鑷�姩鐨勫帹鎴挎墦鍗�
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_waimai_chufang_printer") == "1")
|
|
|
{
|
|
|
- //进行厨房打印
|
|
|
+ //杩涜�鍘ㄦ埧鎵撳嵃
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::vector<ChufangPrinterContent> datas = printData.PrintWaimaiOrderChufang(order);
|
|
|
@@ -55,7 +57,7 @@ void CPosPrinter::PrintWaimaiOrder(CWaimaiOrder& order)
|
|
|
|
|
|
if (content.data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddChufangPrinter(content);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddChufangPrinter(content);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -71,39 +73,39 @@ void CPosPrinter::PrintWaimaiOrder(std::string order_id, std::string order_no)
|
|
|
PrintWaimaiOrder(order);
|
|
|
}
|
|
|
|
|
|
-//完成所有打印一个点单订单的操作
|
|
|
+//瀹屾垚鎵€鏈夋墦鍗颁竴涓�偣鍗曡�鍗曠殑鎿嶄綔
|
|
|
void CPosPrinter::PrintDiandanOrder(CDiandanOrder& order)
|
|
|
{
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_printer") == "1")
|
|
|
{
|
|
|
- //执行收银小票打印操作
|
|
|
+ //鎵ц�鏀堕摱灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintDiandanOrderShouyin(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_biaoqian_printer") == "1")
|
|
|
{
|
|
|
- //执行标签小票打印操作
|
|
|
+ //鎵ц�鏍囩�灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintDiandanOrderBiaoqian(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddBiaoqianPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddBiaoqianPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //判断是否进行自动的厨房打印
|
|
|
+ //鍒ゆ柇鏄�惁杩涜�鑷�姩鐨勫帹鎴挎墦鍗�
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_chufang_printer") == "1")
|
|
|
{
|
|
|
- //进行厨房打印
|
|
|
+ //杩涜�鍘ㄦ埧鎵撳嵃
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::vector<ChufangPrinterContent> datas = printData.PrintDiandanOrderChufang(order);
|
|
|
@@ -116,7 +118,7 @@ void CPosPrinter::PrintDiandanOrder(CDiandanOrder& order)
|
|
|
|
|
|
if (content.data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddChufangPrinter(content);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddChufangPrinter(content);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -132,39 +134,39 @@ void CPosPrinter::PrintDiandanOrder(std::string order_id)
|
|
|
PrintDiandanOrder(order);
|
|
|
}
|
|
|
|
|
|
-//完成所有打印一个正餐订单的操作(不等待,立即返回)
|
|
|
+//瀹屾垚鎵€鏈夋墦鍗颁竴涓��椁愯�鍗曠殑鎿嶄綔锛堜笉绛夊緟锛岀珛鍗宠繑鍥烇級
|
|
|
void CPosPrinter::PrintZhengcanOrderXiadan(CZhengcanOrder& order)
|
|
|
{
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_printer") == "1")
|
|
|
{
|
|
|
- //执行收银小票打印操作
|
|
|
+ //鎵ц�鏀堕摱灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintZhengcanOrderXiadanShouyin(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_biaoqian_printer") == "1")
|
|
|
{
|
|
|
- //执行标签小票打印操作
|
|
|
+ //鎵ц�鏍囩�灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintZhengcanOrderXiadanBiaoqian(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddBiaoqianPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddBiaoqianPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //判断是否进行自动的厨房打印
|
|
|
+ //鍒ゆ柇鏄�惁杩涜�鑷�姩鐨勫帹鎴挎墦鍗�
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_chufang_printer") == "1")
|
|
|
{
|
|
|
- //进行厨房打印
|
|
|
+ //杩涜�鍘ㄦ埧鎵撳嵃
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::vector<ChufangPrinterContent> datas = printData.PrintZhengcanOrderXiadanChufang(order);
|
|
|
@@ -177,7 +179,7 @@ void CPosPrinter::PrintZhengcanOrderXiadan(CZhengcanOrder& order)
|
|
|
|
|
|
if (content.data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddChufangPrinter(content);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddChufangPrinter(content);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -190,7 +192,7 @@ void CPosPrinter::PrintZhengcanOrderXiadan(std::string order_id, std::string jia
|
|
|
|
|
|
bool ret = order.InitData(order_id);
|
|
|
|
|
|
- //需要先对order中的itemprint进行处理
|
|
|
+ //闇€瑕佸厛瀵筼rder涓�殑itemprint杩涜�澶勭悊
|
|
|
order.UpdateItemPrintForJiacai(jiacai_no);
|
|
|
|
|
|
PrintZhengcanOrderXiadan(order);
|
|
|
@@ -198,10 +200,10 @@ void CPosPrinter::PrintZhengcanOrderXiadan(std::string order_id, std::string jia
|
|
|
|
|
|
void CPosPrinter::PrintZhengcanOrderTuicai(CZhengcanOrder& order)
|
|
|
{
|
|
|
- //判断是否进行自动的厨房打印(退菜只打印厨房小票,不打印收银小票)
|
|
|
+ //鍒ゆ柇鏄�惁杩涜�鑷�姩鐨勫帹鎴挎墦鍗帮紙閫€鑿滃彧鎵撳嵃鍘ㄦ埧灏忕エ锛屼笉鎵撳嵃鏀堕摱灏忕エ锛�
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_chufang_printer") == "1")
|
|
|
{
|
|
|
- //进行厨房打印
|
|
|
+ //杩涜�鍘ㄦ埧鎵撳嵃
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::vector<ChufangPrinterContent> datas = printData.PrintZhengcanOrderTuicaiChufang(order);
|
|
|
@@ -214,7 +216,7 @@ void CPosPrinter::PrintZhengcanOrderTuicai(CZhengcanOrder& order)
|
|
|
|
|
|
if (content.data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddChufangPrinter(content);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddChufangPrinter(content);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -227,7 +229,7 @@ void CPosPrinter::PrintZhengcanOrderTuicai(std::string order_id, std::string tui
|
|
|
|
|
|
bool ret = order.InitData(order_id);
|
|
|
|
|
|
- //需要先对order中的itemprint进行处理
|
|
|
+ //闇€瑕佸厛瀵筼rder涓�殑itemprint杩涜�澶勭悊
|
|
|
order.UpdateItemPrintForTuicai(tuicai_item_id);
|
|
|
|
|
|
PrintZhengcanOrderTuicai(order);
|
|
|
@@ -237,31 +239,31 @@ void CPosPrinter::PrintZhengcanOrderYulan(CZhengcanOrder& order)
|
|
|
{
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_printer") == "1")
|
|
|
{
|
|
|
- //执行收银小票打印操作
|
|
|
+ //鎵ц�鏀堕摱灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintZhengcanOrderYulanShouyin(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//完成所有打印一个正餐结算的打印操作(不等待,立即返回)
|
|
|
+//瀹屾垚鎵€鏈夋墦鍗颁竴涓��椁愮粨绠楃殑鎵撳嵃鎿嶄綔锛堜笉绛夊緟锛岀珛鍗宠繑鍥烇級
|
|
|
void CPosPrinter::PrintZhengcanOrderJiesuan(CZhengcanOrder& order)
|
|
|
{
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_printer") == "1")
|
|
|
{
|
|
|
- //执行收银小票打印操作
|
|
|
+ //鎵ц�鏀堕摱灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintZhengcanOrderJiesuanShouyin(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -277,24 +279,24 @@ void CPosPrinter::PrintZhengcanOrderJiesuan(std::string order_id)
|
|
|
PrintZhengcanOrderJiesuan(order);
|
|
|
}
|
|
|
|
|
|
-//完成所有打印一个快速收银订单的操作(不等待,立即返回)
|
|
|
+//瀹屾垚鎵€鏈夋墦鍗颁竴涓�揩閫熸敹閾惰�鍗曠殑鎿嶄綔锛堜笉绛夊緟锛岀珛鍗宠繑鍥烇級
|
|
|
void CPosPrinter::PrintShoukuanOrder(CShoukuanOrder& order)
|
|
|
{
|
|
|
if (CSetting::GetInstance()->GetParam("setting_is_new_diannei_printer") == "1")
|
|
|
{
|
|
|
- //执行收银小票打印操作
|
|
|
+ //鎵ц�鏀堕摱灏忕エ鎵撳嵃鎿嶄綔
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.PrintShoukuanOrderShouyin(order);
|
|
|
|
|
|
if (data.length() > 0)
|
|
|
{
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//通过订单号打印订单,后面要改成异步才行
|
|
|
+//閫氳繃璁㈠崟鍙锋墦鍗拌�鍗曪紝鍚庨潰瑕佹敼鎴愬紓姝ユ墠琛�
|
|
|
void CPosPrinter::PrintShoukuanOrder(std::string order_id)
|
|
|
{
|
|
|
CShoukuanOrder order;
|
|
|
@@ -310,7 +312,7 @@ void CPosPrinter::PirntJiaobanOrder(CJiaobaoOrder& order)
|
|
|
|
|
|
std::string data = printData.PrintJiaobanOrder(order);
|
|
|
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
|
|
|
void CPosPrinter::PrintHuiyuanchongzhiOrder(CHuiyuanchongzhiOrder& order)
|
|
|
@@ -319,7 +321,7 @@ void CPosPrinter::PrintHuiyuanchongzhiOrder(CHuiyuanchongzhiOrder& order)
|
|
|
|
|
|
std::string data = printData.PrintHuiyuanchongzhiOrder(order);
|
|
|
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
|
|
|
void CPosPrinter::PrintShangpinTiaoma(CFood foodinfo)
|
|
|
@@ -328,21 +330,21 @@ void CPosPrinter::PrintShangpinTiaoma(CFood foodinfo)
|
|
|
|
|
|
std::string data = printData.PrintShangpintiaomaBiaoqian(foodinfo);
|
|
|
|
|
|
- CPosPrinterQueue::GetInstance()->AddBiaoqianPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddBiaoqianPrinter(data);
|
|
|
}
|
|
|
|
|
|
-//打开钱箱
|
|
|
+//鎵撳紑閽辩�
|
|
|
void CPosPrinter::OpenQianxiang()
|
|
|
{
|
|
|
CPosPrinterData printData;
|
|
|
|
|
|
std::string data = printData.GetQianxiangCommand();
|
|
|
|
|
|
- CPosPrinterQueue::GetInstance()->AddShouyinPrinter(data);
|
|
|
+ CPosPrinterWorker::GetInstance()->AddShouyinPrinter(data);
|
|
|
}
|
|
|
|
|
|
-//获取当前电脑上所有的打印usb设备
|
|
|
+//鑾峰彇褰撳墠鐢佃剳涓婃墍鏈夌殑鎵撳嵃usb璁惧�
|
|
|
std::vector<std::wstring> CPosPrinter::getUsbDevices()
|
|
|
{
|
|
|
- return CPosPrinterQueue::GetInstance()->getUsbDevices();
|
|
|
+ return CPosPrinterWorker::GetInstance()->getUsbDevices();
|
|
|
}
|