|
|
@@ -245,7 +245,7 @@ void CMessagePush::ReceiveMessage()
|
|
|
|
|
|
}
|
|
|
|
|
|
- AddPinter(order_id, order_no);
|
|
|
+ AddPinter(order_id, order_no, 1);
|
|
|
}
|
|
|
else if (type == "2")
|
|
|
{
|
|
|
@@ -299,17 +299,18 @@ void CMessagePush::AddConfirm(std::string order_id)
|
|
|
m_confirm_mutex.unlock();
|
|
|
}
|
|
|
|
|
|
-void CMessagePush::AddPinter(std::string order_id, std::string order_no)
|
|
|
+void CMessagePush::AddPinter(std::string order_id, std::string order_no, int print_type)
|
|
|
{
|
|
|
- m_printer_mutex.lock();
|
|
|
+ m_printer_mutex.lock();
|
|
|
|
|
|
- WaimaiPinterInfo newPrinter;
|
|
|
- newPrinter.order_id = order_id;
|
|
|
- newPrinter.order_no = order_no;
|
|
|
+ WaimaiPinterInfo newPrinter;
|
|
|
+ newPrinter.order_id = order_id;
|
|
|
+ newPrinter.order_no = order_no;
|
|
|
+ newPrinter.print_type = print_type;
|
|
|
|
|
|
- m_printer_queue.push(newPrinter);
|
|
|
+ m_printer_queue.push(newPrinter);
|
|
|
|
|
|
- m_printer_mutex.unlock();
|
|
|
+ m_printer_mutex.unlock();
|
|
|
}
|
|
|
|
|
|
void CMessagePush::AddShouyinPrinter(CWaimaiOrder order)
|
|
|
@@ -420,28 +421,52 @@ void CMessagePush::HandlePrinter()
|
|
|
WaimaiPinterInfo printerInfo = m_printer_queue.front();
|
|
|
std::string order_id = printerInfo.order_id;
|
|
|
std::string order_no = printerInfo.order_no;
|
|
|
+ int print_type = printerInfo.print_type;
|
|
|
|
|
|
m_printer_queue.pop();
|
|
|
|
|
|
m_printer_mutex.unlock();
|
|
|
|
|
|
CWaimaiOrder order;
|
|
|
- if(CSetting::GetParam("setting_is_new_waimai_printer") == "1" || CSetting::GetParam("setting_is_new_waimai_chufang_printer") == "1")
|
|
|
- {
|
|
|
- order.InitData(order_id, order_no);
|
|
|
- }
|
|
|
+ if (print_type == 1)
|
|
|
+ {
|
|
|
+ if (CSetting::GetParam("setting_is_new_waimai_printer") == "1" || CSetting::GetParam("setting_is_new_waimai_chufang_printer") == "1")
|
|
|
+ {
|
|
|
+ bool ret = order.InitData(order_id, order_no);
|
|
|
|
|
|
- //判断是否自动打印收银小票
|
|
|
- if(CSetting::GetParam("setting_is_new_waimai_printer") == "1")
|
|
|
- {
|
|
|
- AddShouyinPrinter(order);
|
|
|
- }
|
|
|
+ if (ret == false)
|
|
|
+ {
|
|
|
+ this->AddPinter(order_id, order_no, print_type);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- //判断是否进行自动的厨房打印
|
|
|
- if(CSetting::GetParam("setting_is_new_waimai_chufang_printer") == "1")
|
|
|
- {
|
|
|
- AddChufangPrinter(order);
|
|
|
- }
|
|
|
+ //判断是否自动打印收银小票
|
|
|
+ if (CSetting::GetParam("setting_is_new_waimai_printer") == "1")
|
|
|
+ {
|
|
|
+ AddShouyinPrinter(order);
|
|
|
+ }
|
|
|
+
|
|
|
+ //判断是否进行自动的厨房打印
|
|
|
+ if (CSetting::GetParam("setting_is_new_waimai_chufang_printer") == "1")
|
|
|
+ {
|
|
|
+ AddChufangPrinter(order);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ bool ret = order.InitData(order_id, order_no);
|
|
|
+
|
|
|
+ if (ret == false)
|
|
|
+ {
|
|
|
+ this->AddPinter(order_id, order_no, print_type);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ AddShouyinPrinter(order);
|
|
|
+
|
|
|
+ AddChufangPrinter(order);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
AddStopNum();
|