Commit 3b249878 by guanghui.cui

骑士接单后开始写销售单,改正原来的拉取到订单就开始写销售单的错误逻辑

parent 92c81a15
...@@ -609,7 +609,9 @@ void MainForm::on_btnHide_clicked() ...@@ -609,7 +609,9 @@ void MainForm::on_btnHide_clicked()
// xcb_delete_property(c, (xcb_window_t)floatWId, embedAtom); // xcb_delete_property(c, (xcb_window_t)floatWId, embedAtom);
// xcb_flush(c); // xcb_flush(c);
//#endif //#endif
emit updateXCB(floatWId); //emit updateXCB(floatWId);
XCBOperate oper;
oper.update(floatWId);
emit floatFormShow(); emit floatFormShow();
return; return;
} }
......
...@@ -203,6 +203,27 @@ void BillsManger::_ProcPullOrdersReply(const QByteArray &data) ...@@ -203,6 +203,27 @@ void BillsManger::_ProcPullOrdersReply(const QByteArray &data)
m_ordersMap.insert(tmpOrderObj->order_id, tmpOrderObj); m_ordersMap.insert(tmpOrderObj->order_id, tmpOrderObj);
if(tmpOrderObj->status == 3)
{
// 撤销销售单
emit sRefundBill(tmpOrderObj->fm_id);
}
QDateTime orderTime = QDateTime::fromTime_t(tmpOrderObj->create_time);
if(orderTime<m_dateBusiness) {
QLOG_INFO() << QString("overdue order[%1->%2].[date->%3]").arg(tmpOrderObj->order_id)
.arg(GetOrderStatusName(tmpOrderObj->status, tmpOrderObj->delivery_status)).arg(orderTime.toString("yyyy-MM-dd"));
}
else {
QLOG_INFO() << QString("new order[%1->%2].[data->%3]").arg(tmpOrderObj->order_id)
.arg(GetOrderStatusName(tmpOrderObj->status, tmpOrderObj->delivery_status)).arg(_GetJsonString(orderObj));
int last = 0, current = 0;
_OrderTableChanged(last, current, orderObj);
QLOG_INFO() << QString("pull order insert into list:last[%1],current[%2]").arg(last).arg(current);
//骑士接单
if (current != TABLE_VID_NO_DRIVER){
//写入本地数据库
QString orderId= tmpOrderObj->order_id; QString orderId= tmpOrderObj->order_id;
if(!Database::getInstance().isExit(orderId)) if(!Database::getInstance().isExit(orderId))
{ {
...@@ -223,48 +244,19 @@ void BillsManger::_ProcPullOrdersReply(const QByteArray &data) ...@@ -223,48 +244,19 @@ void BillsManger::_ProcPullOrdersReply(const QByteArray &data)
} }
} }
if(tmpOrderObj->status == 2 && !Database::getInstance().isPrint(orderId)) //骑士接单后写销售单
{
QLOG_INFO() << QString("[---print order---]")<<tmpOrderObj->toJson();
WBillControl::GetInstance().PrintLable(tmpOrderObj);
// 打印
// QLOG_INFO() << QString("[---begin print---]");
// if(FmTakeaway_printer::Instance().DoPrint(IniDataManger::Instance().GetPrinterName(), tmpOrderObj))
// {
// QLOG_INFO() << QString("[---print sucessful---]");
// Orderstatus::getInstance().printupdate(orderId,1);
// }else
// {
// QLOG_INFO() << QString("[---print failed---]");
// }
}
if(tmpOrderObj->status == 2 || tmpOrderObj->status ==4 ) if(tmpOrderObj->status == 2 || tmpOrderObj->status ==4 )
{ {
// 写入销售单 // 写入销售单
emit sWriteBill(tmpOrderObj); emit sWriteBill(tmpOrderObj);
} }
if(tmpOrderObj->status == 3)
{
// 撤销销售单
emit sRefundBill(tmpOrderObj->fm_id);
}
QDateTime orderTime = QDateTime::fromTime_t(tmpOrderObj->create_time);
if(orderTime<m_dateBusiness) {
QLOG_INFO() << QString("overdue order[%1->%2].[date->%3]").arg(tmpOrderObj->order_id)
.arg(GetOrderStatusName(tmpOrderObj->status, tmpOrderObj->delivery_status)).arg(orderTime.toString("yyyy-MM-dd"));
}
else {
QLOG_INFO() << QString("new order[%1->%2].[data->%3]").arg(tmpOrderObj->order_id)
.arg(GetOrderStatusName(tmpOrderObj->status, tmpOrderObj->delivery_status)).arg(_GetJsonString(orderObj));
int last = 0, current = 0;
_OrderTableChanged(last, current, orderObj);
if (current != TABLE_VID_NO_DRIVER){
OrderObject *tmpOrderObj = m_ordersMap.value(orderObj[JSON_KEY_ORDERID].toString()); OrderObject *tmpOrderObj = m_ordersMap.value(orderObj[JSON_KEY_ORDERID].toString());
emit OrderTableChanged(last, current, tmpOrderObj); emit OrderTableChanged(last, current, tmpOrderObj);
} }
else{
QLOG_INFO() << QString("no driver,remove from map:order_id[%1]").arg(tmpOrderObj->order_id);
m_ordersMap.remove(tmpOrderObj->order_id);
}
} }
} // if (NULL == tmpOrderObj) } // if (NULL == tmpOrderObj)
else { else {
...@@ -1170,6 +1162,7 @@ void BillsManger::onUpdateWritePosStatus(const OrderObject *order) ...@@ -1170,6 +1162,7 @@ void BillsManger::onUpdateWritePosStatus(const OrderObject *order)
int last = 0, current = 0; int last = 0, current = 0;
QJsonObject jsonObj= order->toJson(); QJsonObject jsonObj= order->toJson();
_OrderTableChanged(last, current, jsonObj); _OrderTableChanged(last, current, jsonObj);
QLOG_INFO() << QString("table change:last:%1,current:%2").arg(last).arg(current);
if (current != TABLE_VID_NO_DRIVER){ if (current != TABLE_VID_NO_DRIVER){
OrderObject *tmpOrderObj = m_ordersMap.value(jsonObj[JSON_KEY_ORDERID].toString()); OrderObject *tmpOrderObj = m_ordersMap.value(jsonObj[JSON_KEY_ORDERID].toString());
emit OrderTableChanged(last, current, tmpOrderObj); emit OrderTableChanged(last, current, tmpOrderObj);
......
...@@ -22,7 +22,7 @@ public slots: ...@@ -22,7 +22,7 @@ public slots:
xcb_intern_atom_reply_t *reply; xcb_intern_atom_reply_t *reply;
xcb_atom_t embedAtom; xcb_atom_t embedAtom;
xcb_intern_atom_cookie_t atom_cookie; xcb_intern_atom_cookie_t atom_cookie;
char * strAtomName = "_XEMBED_INFO"; char strAtomName[] = "_XEMBED_INFO";
c = xcb_connect(NULL,NULL); c = xcb_connect(NULL,NULL);
atom_cookie = xcb_intern_atom(c, false, strlen(strAtomName), strAtomName); atom_cookie = xcb_intern_atom(c, false, strlen(strAtomName), strAtomName);
reply = xcb_intern_atom_reply(c, atom_cookie, 0); reply = xcb_intern_atom_reply(c, atom_cookie, 0);
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.5.1, 2017-10-12T14:52:35. --> <!-- Written by QtCreator 3.5.1, 2017-10-16T09:30:07. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
......
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