Commit 4bb20744 by guanghui.cui

接单后直接打印

parent 5b64e84b
...@@ -40,39 +40,39 @@ WBillControl::WBillControl() ...@@ -40,39 +40,39 @@ WBillControl::WBillControl()
g_thread.start(); g_thread.start();
GetPosMenu(); GetPosMenu();
//test print //test print
OrderObject obj; // OrderObject obj;
obj.channelName="美团外卖"; // obj.channelName="美团外卖";
obj.order_id="3014384743591261407"; // obj.order_id="3014384743591261407";
obj.address="上海金巢铂瑞阁公寓合宝路18号金巢大厦金巢铂瑞阁公寓1116室"; // obj.address="上海金巢铂瑞阁公寓合宝路18号金巢大厦金巢铂瑞阁公寓1116室";
obj.customer="钱多多"; // obj.customer="钱多多";
obj.phone="15600833522"; // obj.phone="15600833522";
obj.order_index=1; // obj.order_index=1;
obj.package_fee=600; // obj.package_fee=600;
obj.send_fee=500; // obj.send_fee=500;
obj.discount_fee=1300; // obj.discount_fee=1300;
obj.user_fee=14701; // obj.user_fee=14701;
obj.channel="mtwm"; // obj.channel="mtwm";
obj.pay_type="在线支付"; // obj.pay_type="在线支付";
obj.product_fee=10000; // obj.product_fee=10000;
obj.service_fee=1000; // obj.service_fee=1000;
obj.dis_shop_fee=1300; // obj.dis_shop_fee=1300;
obj.create_time=1508640524; // obj.create_time=1508640524;
obj.remark="4套餐具"; // obj.remark="4套餐具";
ComdObject comd1; // ComdObject comd1;
comd1.pid="001101"; // comd1.pid="001101";
comd1.productAmount=4; // comd1.productAmount=4;
comd1.price=123; // comd1.price=123;
obj.proList.push_back(&comd1); // obj.proList.push_back(&comd1);
ComdObject comd2; // ComdObject comd2;
comd2.pid="006114"; // comd2.pid="006114";
comd2.productAmount=1; // comd2.productAmount=1;
comd2.price=45678; // comd2.price=45678;
obj.proList.push_back(&comd2); // obj.proList.push_back(&comd2);
ComdObject comd3; // ComdObject comd3;
comd3.pid="009091"; // comd3.pid="009091";
comd3.productAmount=1; // comd3.productAmount=1;
comd3.price=789; // comd3.price=789;
obj.proList.push_back(&comd3); // obj.proList.push_back(&comd3);
//PrintLable(&obj); //PrintLable(&obj);
//printMenu(&obj); //printMenu(&obj);
...@@ -105,8 +105,7 @@ void WBillControl::SetStoreInfo(const QString &partner_id, const QString &storeI ...@@ -105,8 +105,7 @@ void WBillControl::SetStoreInfo(const QString &partner_id, const QString &storeI
void WBillControl::DoOrderEntry(const OrderObject *orderObject) void WBillControl::DoOrderEntry(const OrderObject *orderObject)
{ {
//打印小票 int iPosOrderStatus=0;
//PrintLable(orderObject);
QTcpSocket *socket = new QTcpSocket(this); QTcpSocket *socket = new QTcpSocket(this);
// 连接 // 连接
QByteArray byteSlip=GetOrderEntryData(orderObject, false); QByteArray byteSlip=GetOrderEntryData(orderObject, false);
...@@ -122,7 +121,8 @@ void WBillControl::DoOrderEntry(const OrderObject *orderObject) ...@@ -122,7 +121,8 @@ void WBillControl::DoOrderEntry(const OrderObject *orderObject)
QJsonObject recvJson = QJsonDocument::fromJson(socket->readAll()).object(); QJsonObject recvJson = QJsonDocument::fromJson(socket->readAll()).object();
QLOG_INFO() <<"write order back:"<< recvJson; QLOG_INFO() <<"write order back:"<< recvJson;
bool res=1; bool res=1;
if(recvJson["statusCode"].toInt()!=100) iPosOrderStatus=recvJson["statusCode"].toInt();
if(101==iPosOrderStatus)
{ {
res=0; res=0;
QLOG_INFO() << "write order failed:" << recvJson["msg"].toString(); QLOG_INFO() << "write order failed:" << recvJson["msg"].toString();
...@@ -138,6 +138,12 @@ void WBillControl::DoOrderEntry(const OrderObject *orderObject) ...@@ -138,6 +138,12 @@ void WBillControl::DoOrderEntry(const OrderObject *orderObject)
} }
} }
socket->close(); socket->close();
//102 订单已存在
if(102!=iPosOrderStatus){
QLOG_INFO() << "开始打印小票";
//打印小票
PrintLable(orderObject);
}
} }
void WBillControl::RefundOrder(const QString &fmId) void WBillControl::RefundOrder(const QString &fmId)
...@@ -158,7 +164,7 @@ void WBillControl::RefundOrder(const QString &fmId) ...@@ -158,7 +164,7 @@ void WBillControl::RefundOrder(const QString &fmId)
QJsonObject recvJson = QJsonDocument::fromJson(socket->readAll()).object(); QJsonObject recvJson = QJsonDocument::fromJson(socket->readAll()).object();
QLOG_INFO() << "refund order back:"<<recvJson; QLOG_INFO() << "refund order back:"<<recvJson;
bool res=1; bool res=1;
if(recvJson["statusCode"].toInt()!=100) if(recvJson["statusCode"].toInt()==101)
{ {
res=0; res=0;
QLOG_INFO() << "write order failed:" << recvJson["msg"].toString(); QLOG_INFO() << "write order failed:" << recvJson["msg"].toString();
...@@ -572,7 +578,7 @@ bool WBillControl::sendToPrintServer(QByteArray &JsonPrint) ...@@ -572,7 +578,7 @@ bool WBillControl::sendToPrintServer(QByteArray &JsonPrint)
//外卖单打印 //外卖单打印
void WBillControl::printTakeout(const OrderObject *obj) void WBillControl::printTakeout(const OrderObject *obj)
{ {
#ifdef Q_OS_LINUX #ifdef Q_OS_LINUX
int fd=-1; int fd=-1;
for(int i=0; i < obj->proList.size(); i++) for(int i=0; i < obj->proList.size(); i++)
...@@ -588,7 +594,7 @@ void WBillControl::printTakeout(const OrderObject *obj) ...@@ -588,7 +594,7 @@ void WBillControl::printTakeout(const OrderObject *obj)
//set_port(fd,19200); //set_port(fd,19200);
fd = open_port(IniDataManger::Instance().GetPOSLocalPrinterPort().toStdString().data()); fd = open_port(IniDataManger::Instance().GetPOSLocalPrinterPort().toStdString().data());
if(-1==fd){ if(-1==fd){
QLOG_ERROR() << "printTakeout failed"; QLOG_ERROR() << "printTakeout open_port failed";
return; return;
} }
if(!set_port(IniDataManger::Instance().GetPOSLocalPrinterBaud())){ if(!set_port(IniDataManger::Instance().GetPOSLocalPrinterBaud())){
...@@ -615,7 +621,7 @@ void WBillControl::printTakeout(const OrderObject *obj) ...@@ -615,7 +621,7 @@ void WBillControl::printTakeout(const OrderObject *obj)
print("",1); print("",1);
print("-----------------------------------------------",1); print("-----------------------------------------------",1);
QString strOrderTime= QDateTime::fromTime_t(1508640524).toString("下单时间:MM-dd hh:mm"); QString strOrderTime= QDateTime::fromTime_t(obj->create_time).toString("下单时间:MM-dd hh:mm");
std::string stdOrderTime=strOrderTime.toStdString(); std::string stdOrderTime=strOrderTime.toStdString();
print(charset_u2g(stdOrderTime).data(),3); print(charset_u2g(stdOrderTime).data(),3);
print("-----------------------------------------------",1); print("-----------------------------------------------",1);
...@@ -706,7 +712,7 @@ void WBillControl::printMenu(const OrderObject *obj) ...@@ -706,7 +712,7 @@ void WBillControl::printMenu(const OrderObject *obj)
if(0==i){ if(0==i){
fd = open_port(IniDataManger::Instance().GetPOSLocalPrinterPort().toStdString().data()); fd = open_port(IniDataManger::Instance().GetPOSLocalPrinterPort().toStdString().data());
if(-1==fd){ if(-1==fd){
QLOG_ERROR() << "printMenu failed"; QLOG_ERROR() << "printMenu open_port failed";
return; return;
} }
if(!set_port(IniDataManger::Instance().GetPOSLocalPrinterBaud())){ if(!set_port(IniDataManger::Instance().GetPOSLocalPrinterBaud())){
...@@ -795,7 +801,7 @@ void WBillControl::printBill(const OrderObject *obj) ...@@ -795,7 +801,7 @@ void WBillControl::printBill(const OrderObject *obj)
if(0==i){ if(0==i){
fd = open_port(IniDataManger::Instance().GetPOSLocalPrinterPort().toStdString().data()); fd = open_port(IniDataManger::Instance().GetPOSLocalPrinterPort().toStdString().data());
if(-1==fd){ if(-1==fd){
QLOG_ERROR() << "printBill failed"; QLOG_ERROR() << "printBill open_port failed";
return; return;
} }
if(!set_port(IniDataManger::Instance().GetPOSLocalPrinterBaud())){ if(!set_port(IniDataManger::Instance().GetPOSLocalPrinterBaud())){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment