Commit d43d9605 by wuyang.zou

fix bug: 在获取订单列表时,oms 推送新订单到PmsPlugin时,新订单无法及时插入PMS数据库;目前将待处理订单列表,拆分成两个: 1、插件内存中不存在的新订单处理队列;

2、插件内存中已经存在的订单,且该订单出现状态需要更新状态队列
parent 07733e07
...@@ -62,11 +62,13 @@ FlowControl::FlowControl() ...@@ -62,11 +62,13 @@ FlowControl::FlowControl()
m_reportOMSReocrdOrderTimer = new QTimer(this); m_reportOMSReocrdOrderTimer = new QTimer(this);
m_loginTimer=new QTimer(this); m_loginTimer=new QTimer(this);
m_notifyPmsPullTimer = new QTimer(this); m_notifyPmsPullTimer = new QTimer(this);
m_notifyPmsUpdateTimer = new QTimer(this);
//m_cyclePullAllOrderTimer = new QTimer(this); //m_cyclePullAllOrderTimer = new QTimer(this);
m_remindCasherBlinkFloatTimer = new QTimer(this); m_remindCasherBlinkFloatTimer = new QTimer(this);
connect(m_loginTimer,&QTimer::timeout,this,&FlowControl::_ClickToLogin); connect(m_loginTimer,&QTimer::timeout,this,&FlowControl::_ClickToLogin);
connect(m_notifyPmsPullTimer,&QTimer::timeout,this,&FlowControl::_NotifyPmsPullOrder); connect(m_notifyPmsPullTimer,&QTimer::timeout,this,&FlowControl::_NotifyPmsPullOrder);
connect(m_notifyPmsUpdateTimer,&QTimer::timeout,this,&FlowControl::_NotifyPmsUpdateOrder);
//connect(m_cyclePullAllOrderTimer,&QTimer::timeout,this,&FlowControl::_NotifyCyclePullAllOrder); //connect(m_cyclePullAllOrderTimer,&QTimer::timeout,this,&FlowControl::_NotifyCyclePullAllOrder);
connect(m_remindCasherBlinkFloatTimer,&QTimer::timeout,this,&FlowControl::_RemindCasherBlinkFloatForm); connect(m_remindCasherBlinkFloatTimer,&QTimer::timeout,this,&FlowControl::_RemindCasherBlinkFloatForm);
connect(m_pullTimer,&QTimer::timeout,this,&FlowControl::_PullOrderData); connect(m_pullTimer,&QTimer::timeout,this,&FlowControl::_PullOrderData);
...@@ -105,6 +107,7 @@ FlowControl::FlowControl() ...@@ -105,6 +107,7 @@ FlowControl::FlowControl()
m_loginTimer->start(6*1000); m_loginTimer->start(6*1000);
m_notifyPmsPullTimer->start(1000*2); m_notifyPmsPullTimer->start(1000*2);
m_notifyPmsUpdateTimer->start(1000*2);
//_TestRedis(); //_TestRedis();
//_TestInsertOrderData(); //_TestInsertOrderData();
...@@ -169,7 +172,6 @@ void FlowControl::_TestInsertOrderData(){ ...@@ -169,7 +172,6 @@ void FlowControl::_TestInsertOrderData(){
bool FlowControl::_AppendOrderInfo2Redis(const OrderObject* orderObject) { bool FlowControl::_AppendOrderInfo2Redis(const OrderObject* orderObject) {
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FlowControl::_AppendOrderInfo2Redis: OrderId:%1--->>>>]").arg(orderObject->id);
return QtRedisClient::getInstance().pushOrder2Redis(orderObject); return QtRedisClient::getInstance().pushOrder2Redis(orderObject);
} }
...@@ -309,7 +311,8 @@ void FlowControl::_SmartTriggerClickPosBtn(const bool bTimerTrigger) ...@@ -309,7 +311,8 @@ void FlowControl::_SmartTriggerClickPosBtn(const bool bTimerTrigger)
void FlowControl::_NotifyPmsPullOrder() void FlowControl::_NotifyPmsPullOrder()
{ {
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---:_NotifyPmsPullOrder: m_simValidOrdersList.isEmpty()==%1--->>>>>]").arg(m_simValidOrdersList.isEmpty()); QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---:_NotifyPmsPullOrder: m_simValidOrdersList.isEmpty()=%1, m_simValidOrdersList.count()=%2--->>>>>]")
.arg( m_simValidOrdersList.isEmpty()?1:0 ).arg( m_simValidOrdersList.count() );
if(!m_simValidOrdersList.isEmpty()) if(!m_simValidOrdersList.isEmpty())
{ {
m_notifyPmsPullTimer->start(1000*2); m_notifyPmsPullTimer->start(1000*2);
...@@ -338,8 +341,10 @@ void FlowControl::_NotifyPmsPullOrder() ...@@ -338,8 +341,10 @@ void FlowControl::_NotifyPmsPullOrder()
if(insertRet || updateRet) { if(insertRet || updateRet) {
for (int i=0;i<3;i++) { for (int i=0;i<3;i++) {
if( _AppendOrderInfo2Redis(orderObject) ) { if( _AppendOrderInfo2Redis(orderObject) ) {
QLOG_INFO()<<QString("[<<<<---FlowControl::_NotifyPmsPullOrder _AppendOrderInfo2Redis Success Try times:%1--->>>>]").arg(i);
if (i) {
QLOG_INFO()<<QString("[<<<<---FlowControl::_NotifyPmsPullOrder _AppendOrderInfo2Redis Success Try times:%1--->>>>]").arg(i);
}
//只有第一次插入DB成功,才会想OMS汇报入机情况; //只有第一次插入DB成功,才会想OMS汇报入机情况;
// 将此订单添加汇报队列中; 参数2: "1":代表成功; "2":代表失败; 参数3:入机备注; // 将此订单添加汇报队列中; 参数2: "1":代表成功; "2":代表失败; 参数3:入机备注;
if(insertRet) { if(insertRet) {
...@@ -373,6 +378,82 @@ void FlowControl::_NotifyPmsPullOrder() ...@@ -373,6 +378,82 @@ void FlowControl::_NotifyPmsPullOrder()
} }
} }
void FlowControl::_NotifyPmsUpdateOrder()
{
if ( !m_simValidOrdersList.isEmpty() ) {
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_NotifyPmsUpdateOrder: m_simValidOrdersList.count()=%1, m_waitUpdateOrderList.count()=%2, Priority Process Insert List--->>>>>]")
.arg( m_simValidOrdersList.count() ).arg( m_waitUpdateOrderList.count() );
m_notifyPmsUpdateTimer->start(1000*3);
return;
}
if(!m_waitUpdateOrderList.isEmpty())
{
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_NotifyPmsUpdateOrder: m_waitUpdateOrderList.isEmpty()=%1, m_waitUpdateOrderList.count()=%2--->>>>>]")
.arg( m_waitUpdateOrderList.isEmpty()?1:0 ).arg( m_waitUpdateOrderList.count() );
m_notifyPmsUpdateTimer->start(1000*1);
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FM插件 向PMS数据库插入数据; 并添加 Redis --->>>>]");
QString listFirstOrderId = m_waitUpdateOrderList.takeFirst();
OrderObject* orderObject = m_FmOrdersMap.value(listFirstOrderId);
// 更新/ 插入结果;
bool updateRet = false;
bool insertRet = false;
bool bExistOrder = false;
if(orderObject) {
//如果订单存在库中则更新订单状态;
bExistOrder = PmsOrdersData::getInstance().isOrderExist(orderObject->id);
if( bExistOrder ){
updateRet = PmsOrdersData::getInstance().updateOrderStatus( orderObject, orderObject->orderStatus, orderObject->makeStatus );
//不存在则插入;
} else {
QString pmsOrderRef;
insertRet = PmsOrdersData::getInstance().insertOrderData(orderObject,pmsOrderRef);
}
QLOG_INFO()<<QString("[<<<<---FlowControl::_NotifyPmsUpdateOrder Insert Mysql DB Order:%1 bExistOrder:%2 insertRet:%3 updateRet:%4--->>>>]")
.arg(orderObject->id).arg(bExistOrder?1:0).arg(insertRet?1:0).arg(updateRet?1:0);
//如果订单 插入/更新 数据库成功后,向Redis中添加此订单信息;
if(insertRet || updateRet) {
for (int i=0;i<3;i++) {
if( _AppendOrderInfo2Redis(orderObject) ) {
if (i) {
QLOG_INFO()<<QString("[<<<<---FlowControl::_NotifyPmsUpdateOrder _AppendOrderInfo2Redis Success Try times:%1--->>>>]").arg(i);
}
//只有第一次插入DB成功,才会想OMS汇报入机情况;
// 将此订单添加汇报队列中; 参数2: "1":代表成功; "2":代表失败; 参数3:入机备注;
if(insertRet) {
_AddOrderInfo2ReportList(orderObject,QString("1"),QString::fromLocal8Bit("订单入PMS库成功并通知Redis成功"));
}
break;
} else {
QLOG_ERROR()<<QString("[<<<<---FlowControl::_NotifyPmsUpdateOrder _AppendOrderInfo2Redis Failed, Try Again--->>>>]");
continue;
}
}
//如果订单插入/更新 数据库失败后;向服务端汇报订单落库情况;
} else {
QLOG_ERROR()<<QString("[<<<<---FlowControl::_NotifyPmsUpdateOrder Insert Mysql DB Order:%1 Insert/Update Failed--->>>>]")
.arg(orderObject->id);
//只有插入失败才 进行数据清理;防止与重新入机的订单数据出现重复; 删除 orders/order_item/order_item_condiments
if(!bExistOrder && !insertRet) {
PmsOrdersData::getInstance().deleteOrderData(orderObject);
}
//将此订单添加汇报队列中; 参数2: "1":代表成功; "2":代表失败; 参数3:入机备注;
_AddOrderInfo2ReportList(orderObject,QString("2"),QString::fromLocal8Bit("订单 插入/更新 PMS库数据失败"));
}
} else {
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FlowControl::_NotifyPmsUpdateOrder Insert Mysql DB orderObject Is Null:--->>>>]");
}
} else {
m_notifyPmsUpdateTimer->start(1000*5);
}
}
void FlowControl::_NotifyCyclePullAllOrder() void FlowControl::_NotifyCyclePullAllOrder()
{ {
...@@ -392,7 +473,8 @@ void FlowControl::_NotifyCyclePullAllOrder() ...@@ -392,7 +473,8 @@ void FlowControl::_NotifyCyclePullAllOrder()
void FlowControl::_RemindCasherBlinkFloatForm() void FlowControl::_RemindCasherBlinkFloatForm()
{ {
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_RemindCasherBlinkFloatForm: m_simValidOrdersList.isEmpty()==%1--->>>>>]").arg(m_simValidOrdersList.isEmpty()); QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_RemindCasherBlinkFloatForm: m_simValidOrdersList.isEmpty()=%1, m_simValidOrdersList.count()=%2--->>>>>]")
.arg( m_simValidOrdersList.isEmpty() ).arg( m_simValidOrdersList.count() );
if(!m_simValidOrdersList.isEmpty()) if(!m_simValidOrdersList.isEmpty())
{ {
m_remindCasherBlinkFloatTimer->start(1000*8); m_remindCasherBlinkFloatTimer->start(1000*8);
...@@ -407,7 +489,7 @@ void FlowControl::_RemindCasherBlinkFloatForm() ...@@ -407,7 +489,7 @@ void FlowControl::_RemindCasherBlinkFloatForm()
void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
{ {
OrderObject *orderObject = nullptr; OrderObject *orderObject = nullptr;
bool bRetOrderEntryMutex = false; bool bRetOrderUpdateMutex = false;
orderObject = m_FmOrdersMap.value(jsonObject[JSON_ID].toString()); orderObject = m_FmOrdersMap.value(jsonObject[JSON_ID].toString());
/***<1>:FM插件维护的有效订单容器中不存在此订单:整合数据并插入到此订单容器中 ***/ /***<1>:FM插件维护的有效订单容器中不存在此订单:整合数据并插入到此订单容器中 ***/
if(orderObject == nullptr) if(orderObject == nullptr)
...@@ -461,7 +543,6 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -461,7 +543,6 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
m_simValidOrdersList.append(orderObject->id); m_simValidOrdersList.append(orderObject->id);
} }
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> changeOrderStatus--->>>>]");
emit changeOrderStatus(orderObject); emit changeOrderStatus(orderObject);
} }
/***<2>:FM插件维护的有效订单容器中存在此订单:更新订单容器中此订单的订单状态***/ /***<2>:FM插件维护的有效订单容器中存在此订单:更新订单容器中此订单的订单状态***/
...@@ -477,13 +558,13 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -477,13 +558,13 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
.arg(oldMakeStatus).arg(orderObject->makeStatus).arg(oldArriverAhead).arg(orderObject->inAdvanceTakemeal); .arg(oldMakeStatus).arg(orderObject->makeStatus).arg(oldArriverAhead).arg(orderObject->inAdvanceTakemeal);
// 如果订单状态 或 制作状态 或 预约单提前到店 出现变化都需添加到队列; // 如果订单状态 或 制作状态 或 预约单提前到店 出现变化都需添加到队列;
if(oldStatus != orderObject->orderStatus || oldMakeStatus != orderObject->makeStatus || oldArriverAhead != orderObject->inAdvanceTakemeal) { if(oldStatus != orderObject->orderStatus || oldMakeStatus != orderObject->makeStatus || oldArriverAhead != orderObject->inAdvanceTakemeal) {
bRetOrderEntryMutex =m_OrderEntryMutex.tryLock(VALUE_TRYLOCKMEMTIMEOUT); bRetOrderUpdateMutex =m_OrderUpdateMutex.tryLock(VALUE_TRYLOCKMEMTIMEOUT);
if(!bRetOrderEntryMutex) { if(!bRetOrderUpdateMutex) {
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:orderId:%1 OrderStatus:%2 MakeStatus:%3 ArriverAhead:%4 Change m_OrderEntryMutex.tryLock Failed --->>>>]") QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:orderId:%1 OrderStatus:%2 MakeStatus:%3 ArriverAhead:%4 Change m_OrderUpdateMutex.tryLock Failed --->>>>]")
.arg(orderObject->id).arg(orderObject->orderStatus).arg(orderObject->makeStatus).arg(orderObject->inAdvanceTakemeal); .arg(orderObject->id).arg(orderObject->orderStatus).arg(orderObject->makeStatus).arg(orderObject->inAdvanceTakemeal);
} else { } else {
m_simValidOrdersList.append(orderObject->id); m_waitUpdateOrderList.append(orderObject->id);
m_OrderEntryMutex.unlock(); m_OrderUpdateMutex.unlock();
} }
emit changeOrderStatus(orderObject, oldStatus); emit changeOrderStatus(orderObject, oldStatus);
} }
...@@ -495,7 +576,6 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -495,7 +576,6 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
emit startRemind(REMIND_REQREFUND_ORDER); emit startRemind(REMIND_REQREFUND_ORDER);
} }
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->orderStatus:--->>>>]")<<orderObject->orderStatus;
switch (orderObject->orderStatus){ switch (orderObject->orderStatus){
case OrderObject::NewOrder: case OrderObject::NewOrder:
break; break;
...@@ -580,9 +660,10 @@ bool FlowControl::_Login() ...@@ -580,9 +660,10 @@ bool FlowControl::_Login()
bool result; bool result;
QJsonObject sendJson; QJsonObject sendJson;
QJsonObject recvJson; QJsonObject recvJson;
m_puginVersionComments = ConfigManger::GetInstance().GetOrderServerUrl();
sendJson = DataManger::GetInstance().GetLoginData(ConfigManger::GetInstance().GetPartnerId(),m_storeId, sendJson = DataManger::GetInstance().GetLoginData(ConfigManger::GetInstance().GetPartnerId(),m_storeId,
m_password, m_posId, m_cashierId,m_ipPortAddress,m_pmsMachineNo); m_password, m_posId, m_puginVersionComments,m_ipPortAddress,m_pmsMachineNo);
emit showAlert(AlertForm::LOADING, QString::fromLocal8Bit("正在登录......")); emit showAlert(AlertForm::LOADING, QString::fromLocal8Bit("正在登录......"));
...@@ -633,6 +714,7 @@ bool FlowControl::_Login() ...@@ -633,6 +714,7 @@ bool FlowControl::_Login()
m_pullTimer->start(1000*5); m_pullTimer->start(1000*5);
m_reportOMSReocrdOrderTimer->start(1000*5); m_reportOMSReocrdOrderTimer->start(1000*5);
m_notifyPmsPullTimer->start(3*1000); m_notifyPmsPullTimer->start(3*1000);
m_notifyPmsUpdateTimer->start(3*1000);
m_remindCasherBlinkFloatTimer->start(5*1000); m_remindCasherBlinkFloatTimer->start(5*1000);
//m_cyclePullAllOrderTimer->start(1000*60*10); //m_cyclePullAllOrderTimer->start(1000*60*10);
...@@ -755,7 +837,6 @@ bool FlowControl::_PullOrderDetail(const QString& orderId, const QString& channe ...@@ -755,7 +837,6 @@ bool FlowControl::_PullOrderDetail(const QString& orderId, const QString& channe
} else { } else {
m_pullTimer->start(1000*2); m_pullTimer->start(1000*2);
} }
qDebug()<<"[<<<<---Pull Order Detail Result--->>>>]"<<result;
return result; return result;
} }
...@@ -773,11 +854,7 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo) ...@@ -773,11 +854,7 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
QLOG_INFO() << QString("[<<<<---FlowControl::_PullOrderList: Pull Order List--->>>>][requestData:]")<<sendJson; QLOG_INFO() << QString("[<<<<---FlowControl::_PullOrderList: Pull Order List--->>>>][requestData:]")<<sendJson;
if(ConfigManger::GetInstance().GetOrderSslConfig()) { if(ConfigManger::GetInstance().GetOrderSslConfig()) {
// m_pullOrderSocket->SetSslConfig();
m_pullOrderListSocket->SetSslConfig(); m_pullOrderListSocket->SetSslConfig();
QLOG_INFO()<<"FlowControl::_PullOrderList load ssl";
} else {
QLOG_INFO()<<"FlowControl::_PullOrderList load not ssl";
} }
QUrl TempQUrl = ConfigManger::GetInstance().GetOrderServerUrl()+ QUrl TempQUrl = ConfigManger::GetInstance().GetOrderServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_PULLORDERLIST); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_PULLORDERLIST);
...@@ -832,7 +909,6 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo) ...@@ -832,7 +909,6 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
m_pullTimer->start(1000*10); m_pullTimer->start(1000*10);
// 如果某次拉订单列表出现失败;此函数的外层函数 _PullOrderData: 还会将本次拉单列表存起来等待下次拉取; // 如果某次拉订单列表出现失败;此函数的外层函数 _PullOrderData: 还会将本次拉单列表存起来等待下次拉取;
} }
QLOG_INFO()<<"[<<<<---Pull Order List Result--->>>>]"<< result;
return result; return result;
} }
...@@ -866,7 +942,6 @@ bool FlowControl::_SendHeart() ...@@ -866,7 +942,6 @@ bool FlowControl::_SendHeart()
result = false; result = false;
m_bLastHeartIsError = true; m_bLastHeartIsError = true;
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>")); emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
// refresh gui defaultStoreStatus;
emit doUpdateStoreStatus(0,0,0); emit doUpdateStoreStatus(0,0,0);
}else{ }else{
result = true; result = true;
...@@ -910,9 +985,6 @@ bool FlowControl::_ConfirmOrder(const QString &orderId) ...@@ -910,9 +985,6 @@ bool FlowControl::_ConfirmOrder(const QString &orderId)
if(ConfigManger::GetInstance().GetOrderSslConfig()) if(ConfigManger::GetInstance().GetOrderSslConfig())
{ {
m_procOrderSocket->SetSslConfig(); m_procOrderSocket->SetSslConfig();
QLOG_INFO()<<"load ssl";
} else {
QLOG_INFO()<<"load not ssl";
} }
QString url = ConfigManger::GetInstance().GetOrderServerUrl()+ QString url = ConfigManger::GetInstance().GetOrderServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CONFIRM); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CONFIRM);
...@@ -965,7 +1037,6 @@ bool FlowControl::_ConfirmOrder(const QString &orderId) ...@@ -965,7 +1037,6 @@ bool FlowControl::_ConfirmOrder(const QString &orderId)
m_OrderEntryMutex.unlock(); m_OrderEntryMutex.unlock();
QLOG_INFO() << QString("[<<<<---FmTakeout _ConfirmOrder: m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count(); QLOG_INFO() << QString("[<<<<---FmTakeout _ConfirmOrder: m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _ConfirmOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _ConfirmOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _ConfirmOrder: _ClickOMSAssignArea --->>>>]");
} }
} }
} else { } else {
...@@ -1034,7 +1105,6 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr ...@@ -1034,7 +1105,6 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr
m_OrderEntryMutex.unlock(); m_OrderEntryMutex.unlock();
QLOG_INFO() << QString("[<<<<---FmTakeout _RefuseOrder: m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count(); QLOG_INFO() << QString("[<<<<---FmTakeout _RefuseOrder: m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _RefuseOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _RefuseOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _RefuseOrder: _ClickOMSAssignArea --->>>>]");
} }
} }
...@@ -1238,7 +1308,6 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -1238,7 +1308,6 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
} }
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count(); QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: _ClickOMSAssignArea --->>>>]");
m_OrderEntryMutex.unlock(); m_OrderEntryMutex.unlock();
_ClickOMSAssignArea(); //必须执行,否则退货,点击取消后,就不会再提醒了; _ClickOMSAssignArea(); //必须执行,否则退货,点击取消后,就不会再提醒了;
//录正向销售单报错的处理机制; //录正向销售单报错的处理机制;
...@@ -1261,7 +1330,6 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -1261,7 +1330,6 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
} }
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder:SimExceptRefund : m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count(); QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder:SimExceptRefund : m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder:SimExceptRefund : m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder:SimExceptRefund : m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder:SimExceptRefund : _ClickOMSAssignArea --->>>>]");
m_OrderEntryMutex.unlock(); m_OrderEntryMutex.unlock();
_ClickOMSAssignArea(); //必须执行,否则退货,点击取消后,就不会再提醒了; _ClickOMSAssignArea(); //必须执行,否则退货,点击取消后,就不会再提醒了;
} }
...@@ -1321,7 +1389,6 @@ void FlowControl::_AddOrderInfo2ReportList(const OrderObject* orderObject,const ...@@ -1321,7 +1389,6 @@ void FlowControl::_AddOrderInfo2ReportList(const OrderObject* orderObject,const
void FlowControl::_ReportOMSRecordOrderInfo() void FlowControl::_ReportOMSRecordOrderInfo()
{ {
QLOG_INFO()<<"[<<<<----FlowControl::_ReportOMSRecordOrderInfo ---->>>>>]";
if(m_orderRecordRepOMSList.isEmpty()) if(m_orderRecordRepOMSList.isEmpty())
return ; return ;
...@@ -1356,7 +1423,6 @@ void FlowControl::_ReportOMSRecordOrderInfo() ...@@ -1356,7 +1423,6 @@ void FlowControl::_ReportOMSRecordOrderInfo()
QJsonObject sendJson; QJsonObject sendJson;
QJsonObject recvJson; QJsonObject recvJson;
m_reportOMSRecordOrderSocket->SetSslConfig(); m_reportOMSRecordOrderSocket->SetSslConfig();
QLOG_INFO()<<"FlowControl::_ReportOMSRecordOrderInfo load ssl";
//组装POST请求数据; //组装POST请求数据;
sendJson.insert("orderNo",RepOMSRecOrderIn->orderNo); sendJson.insert("orderNo",RepOMSRecOrderIn->orderNo);
sendJson.insert("channel",RepOMSRecOrderIn->channel); sendJson.insert("channel",RepOMSRecOrderIn->channel);
...@@ -1495,9 +1561,6 @@ void FlowControl::onPullDishes() ...@@ -1495,9 +1561,6 @@ void FlowControl::onPullDishes()
{ {
if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt()) if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt())
{ {
//result = false;
//emit showAlert(AlertForm::ERROR, QString("获取[%1]产品信息失败![%2]").arg(channelName, recvJson[JSON_MESSAGE].toString()));
//break;
}else }else
{ {
QMultiMap<QString , dishesObject> tmpMap; QMultiMap<QString , dishesObject> tmpMap;
...@@ -2005,7 +2068,8 @@ bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &er ...@@ -2005,7 +2068,8 @@ bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &er
bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJsonObject &data, QString &error, const QString &orderId) bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJsonObject &data, QString &error, const QString &orderId)
{ {
QLOG_INFO()<<__FUNCTION__<<error<<orderId; QLOG_INFO()<<__FUNCTION__<<error<<orderId;
Q_UNUSED(content);
Q_UNUSED(data);
return false; return false;
} }
...@@ -2134,11 +2198,6 @@ void FlowControl::onSerachOrder(const QString &text) ...@@ -2134,11 +2198,6 @@ void FlowControl::onSerachOrder(const QString &text)
orderMap.insert(QString::fromLocal8Bit("订单号:")+orderId,QString::fromLocal8Bit("三方订单号:")+thirdPartyOrderId); orderMap.insert(QString::fromLocal8Bit("订单号:")+orderId,QString::fromLocal8Bit("三方订单号:")+thirdPartyOrderId);
} }
//移除手机号检索 //移除手机号检索
/*
if(phoneId.startsWith(text)) {
orderMap.insert(QString::fromLocal8Bit("订单号:")+orderId,QString::fromLocal8Bit("手机号:")+phoneId);
}
*/
//新增第三方订单号检索; //新增第三方订单号检索;
if(thirdPartyOrderId.startsWith(text)) { if(thirdPartyOrderId.startsWith(text)) {
orderMap.insert(QString::fromLocal8Bit("订单号:")+orderId,QString::fromLocal8Bit("三方订单号:")+thirdPartyOrderId); orderMap.insert(QString::fromLocal8Bit("订单号:")+orderId,QString::fromLocal8Bit("三方订单号:")+thirdPartyOrderId);
......
...@@ -114,6 +114,7 @@ private: ...@@ -114,6 +114,7 @@ private:
QTimer *m_loginTimer; QTimer *m_loginTimer;
QTimer *m_remindCasherBlinkFloatTimer; //插件程序收到外卖订单后,需要一致提醒店员[直到此外卖订单被全部录入到POS系统] QTimer *m_remindCasherBlinkFloatTimer; //插件程序收到外卖订单后,需要一致提醒店员[直到此外卖订单被全部录入到POS系统]
QTimer *m_notifyPmsPullTimer; QTimer *m_notifyPmsPullTimer;
QTimer *m_notifyPmsUpdateTimer;
//QTimer *m_cyclePullAllOrderTimer; //由于定时器是为了周期性获取全部订单; 原因: PmsPlugin set StoreServiceCenter; aviod missing Orders; //QTimer *m_cyclePullAllOrderTimer; //由于定时器是为了周期性获取全部订单; 原因: PmsPlugin set StoreServiceCenter; aviod missing Orders;
//已经通过心跳返回当天有效订单数据进行 漏单检查,故无需 周期性获取订单列表; //已经通过心跳返回当天有效订单数据进行 漏单检查,故无需 周期性获取订单列表;
// 网络通信 // 网络通信
...@@ -139,6 +140,8 @@ private: ...@@ -139,6 +140,8 @@ private:
QMap<QString, QMultiMap<QString, dishesObject> >m_dishesMap; QMap<QString, QMultiMap<QString, dishesObject> >m_dishesMap;
//等待Simphony拉取的有效订单队列list[orderId] //等待Simphony拉取的有效订单队列list[orderId]
QStringList m_simValidOrdersList; QStringList m_simValidOrdersList;
//等待更新PMS 订单数据的有效订单队列list[orderId]
QStringList m_waitUpdateOrderList;
//订单号与pos短号映射:[可能同时存在两种状态:1:新单记录;2:退单记录;但是小票号就存一个;] //订单号与pos短号映射:[可能同时存在两种状态:1:新单记录;2:退单记录;但是小票号就存一个;]
QMap<QString,QString> m_orderIdToPosCheckNoMap; QMap<QString,QString> m_orderIdToPosCheckNoMap;
//记录当前订单操作 //记录当前订单操作
...@@ -153,6 +156,9 @@ private: ...@@ -153,6 +156,9 @@ private:
//订单操作互斥信号 QSemaphore semaphore; //订单操作互斥信号 QSemaphore semaphore;
QMutex m_OrderEntryMutex; QMutex m_OrderEntryMutex;
// PMS 同步订单列表的操作互斥信号;
QMutex m_OrderUpdateMutex;
//新增三个bool变量用来标识 程序初始化时,两个数据库中的三张表是否能够连接正常; //新增三个bool变量用来标识 程序初始化时,两个数据库中的三张表是否能够连接正常;
bool m_initSimProcOrderDBRet; bool m_initSimProcOrderDBRet;
bool m_initPrintSumBillPosDBRet; bool m_initPrintSumBillPosDBRet;
...@@ -390,6 +396,7 @@ public slots: ...@@ -390,6 +396,7 @@ public slots:
void _ClickOMSAssignArea(); void _ClickOMSAssignArea();
void _ClickToLogin(); void _ClickToLogin();
void _NotifyPmsPullOrder(); void _NotifyPmsPullOrder();
void _NotifyPmsUpdateOrder();
void _NotifyCyclePullAllOrder(); void _NotifyCyclePullAllOrder();
void _RemindCasherBlinkFloatForm(); void _RemindCasherBlinkFloatForm();
void _OrderAnalysis(const QJsonObject &jsonObject); void _OrderAnalysis(const QJsonObject &jsonObject);
......
...@@ -42,19 +42,18 @@ void DataManger::SetPartnerId(const QString &partnerId) ...@@ -42,19 +42,18 @@ void DataManger::SetPartnerId(const QString &partnerId)
m_partnerId=partnerId; m_partnerId=partnerId;
} }
QJsonObject DataManger::GetLoginData(const QString &partnerId, const QString &storeId, const QString &password, QJsonObject DataManger::GetLoginData(const QString& partnerId,const QString& storeId, const QString& password,
const QString &stationId, const QString &cashierId, const QString &ipAddress const QString& stationId, const QString& versionComments,const QString& ipAddress, QString& pmsMachineNo)
,const QString &pmsMachineNo)
{ {
QJsonObject rObj; QJsonObject rObj;
Q_UNUSED(cashierId);
rObj.insert(JSON_IPADDRESS, ipAddress); rObj.insert(JSON_IPADDRESS, ipAddress);
rObj.insert(JSON_PARTNERID,partnerId); rObj.insert(JSON_PARTNERID,partnerId);
rObj.insert(JSON_ORGCODE, storeId); rObj.insert(JSON_ORGCODE, storeId);
rObj.insert(JSON_PASSWORD, password); rObj.insert(JSON_PASSWORD, password);
rObj.insert(JSON_MACHINECODE, stationId); rObj.insert(JSON_MACHINECODE, stationId);
rObj.insert(JSON_PLUGINVERSION, APP_VERSION);
rObj.insert(JSON_PLUGINVERSIONCOMMENTS, versionComments);
rObj.insert(JSON_PMSMACHINENO, pmsMachineNo); rObj.insert(JSON_PMSMACHINENO, pmsMachineNo);
//rObj.insert(JSON_USERID, cashierId);
return rObj; return rObj;
} }
......
...@@ -36,9 +36,11 @@ public: ...@@ -36,9 +36,11 @@ public:
* 参数:[1]门店号[2]密码[3]收银机号[4]收银员号 * 参数:[1]门店号[2]密码[3]收银机号[4]收银员号
* 返回:登录数据 * 返回:登录数据
* */ * */
QJsonObject GetLoginData(const QString& partnerId,const QString& storeId, const QString& password, QJsonObject GetLoginData(const QString& partnerId,const QString& storeId, const QString& password,
const QString& stationId, const QString& cashierId, const QString& stationId, const QString& versionComments,
const QString& ipAddress,const QString& pmsMachineNo); const QString& ipAddress, QString& pmsMachineNo);
/* 功能:获取心跳数据 /* 功能:获取心跳数据
* 参数:[1]门店号[2]密码[3]收银机号[4]收银员号 * 参数:[1]门店号[2]密码[3]收银机号[4]收银员号
* 返回:登录数据 * 返回:登录数据
......
...@@ -174,7 +174,6 @@ int PmsOrdersData::convertPosServiceTypeId( const OrderObject* orderObj, const ...@@ -174,7 +174,6 @@ int PmsOrdersData::convertPosServiceTypeId( const OrderObject* orderObj, const
default: return tempOrderTypeId; default: return tempOrderTypeId;
} }
QLOG_INFO()<<"[<<<<---PmsOrdersData::convertPosServiceTypeId : --->>>>]" <<tempOrderTypeId;
return tempOrderTypeId; return tempOrderTypeId;
} }
...@@ -495,6 +494,7 @@ bool PmsOrdersData::insertProductData(const QList<dishesObject*> proList, const ...@@ -495,6 +494,7 @@ bool PmsOrdersData::insertProductData(const QList<dishesObject*> proList, const
bool PmsOrdersData::insertConponData(const QList<CouponsObject*> coupList, const QString& OrderId, QString& ProInIdRef) { bool PmsOrdersData::insertConponData(const QList<CouponsObject*> coupList, const QString& OrderId, QString& ProInIdRef) {
bool insertCoupRet = false; bool insertCoupRet = false;
bool insertCoupSubProRet = false; bool insertCoupSubProRet = false;
Q_UNUSED(insertCoupSubProRet); // Waitting Start
int insertCoupSucNum = 0; int insertCoupSucNum = 0;
int availCoupNum = 0; // Skip Some Invalid Coupon Products; int availCoupNum = 0; // Skip Some Invalid Coupon Products;
...@@ -741,10 +741,10 @@ bool PmsOrdersData::updateOrderStatus(OrderObject* orderObj, const int &OrderSta ...@@ -741,10 +741,10 @@ bool PmsOrdersData::updateOrderStatus(OrderObject* orderObj, const int &OrderSta
// 需要对应转换并更新: order_type_id; // 需要对应转换并更新: order_type_id;
int tempOrderTypeId = convertPosServiceTypeId( orderObj, orderObj->orderStatus); int tempOrderTypeId = convertPosServiceTypeId( orderObj, orderObj->orderStatus);
query.prepare(QString("update orders set order_status=%1,order_type_id=%2, make_status='%3'," query.prepare(QString("update orders set order_status=%1,order_type_id=%2, global_service_type=%3, global_order_type=%4, make_status='%5',"
" make_source='%4', make_device_id='%5', appointed_remind_template ='%6' where order_id='%7'") " make_source='%6', make_device_id='%7', appointed_remind_template ='%8' where order_id='%9'")
.arg(QString::number(OrderStatus),QString::number(tempOrderTypeId),makeStatus, .arg( QString::number(OrderStatus), QString::number(tempOrderTypeId), QString::number(orderObj->globalServiceType),
orderObj->makeSource, orderObj->makeDeviceId, QString::number(orderObj->globalOrderType) ,makeStatus, orderObj->makeSource, orderObj->makeDeviceId,
QString::number(orderObj->inAdvanceTakemeal) +';'+ orderObj->reserveMakeTime, orderObj->id)); QString::number(orderObj->inAdvanceTakemeal) +';'+ orderObj->reserveMakeTime, orderObj->id));
if(!query.exec()) { if(!query.exec()) {
......
...@@ -129,14 +129,13 @@ void OrderObject::FetchDataFromJson(const QJsonObject &json) ...@@ -129,14 +129,13 @@ void OrderObject::FetchDataFromJson(const QJsonObject &json)
QString OrderObject::getChannelName() QString OrderObject::getChannelName()
{ {
QLOG_INFO() << QString("[<<<<---OrderObject:getChannelName [%1]--->>>>]").arg(channel);
if ( "MOD" == channel ) { if ( "MOD" == channel ) {
if (3 == orderType ) { if (3 == orderType ) {
return QString::fromLocal8Bit("星-客诉"); return QString::fromLocal8Bit("星-客诉");
} else if ( 7 == orderType ) { } else if ( 7 == orderType ) {
return QString::fromLocal8Bit("预-MOD"); return QString::fromLocal8Bit("预-MOD");
} else if ( 8 == orderType ) { } else if ( 8 == orderType ) {
return QString::fromLocal8Bit("拼-MOD"); return QString::fromLocal8Bit("拼-MOD");
} else { } else {
if ( "4" == platformSource ) { if ( "4" == platformSource ) {
return QString::fromLocal8Bit("微信-MOD"); return QString::fromLocal8Bit("微信-MOD");
...@@ -147,23 +146,27 @@ QString OrderObject::getChannelName() ...@@ -147,23 +146,27 @@ QString OrderObject::getChannelName()
}else if("WSG-MOD" == channel ){ }else if("WSG-MOD" == channel ){
if (7 == orderType ) { if (7 == orderType ) {
return QString::fromLocal8Bit("预-WSG"); return QString::fromLocal8Bit("预-WSG");
} else if ( 8 == orderType ) { } else if ( 8 == orderType ) {
return QString::fromLocal8Bit("拼-WSG"); return QString::fromLocal8Bit("拼-WSG");
} else { } else {
return QString::fromLocal8Bit("微信用星说"); return QString::fromLocal8Bit("微信用星说");
} }
}else if("ELE" == channel){ }else if("ELE" == channel){
if ( 7 == orderType ) {
return QString::fromLocal8Bit("预-饿了么");
} else {
return QString::fromLocal8Bit("饿了么"); return QString::fromLocal8Bit("饿了么");
}
}else if( "MOP" == channel ){ }else if( "MOP" == channel ){
if (4 == orderType ) { if (4 == orderType ) {
return QString::fromLocal8Bit("星-自测"); return QString::fromLocal8Bit("星-自测");
} else if ( 7 == orderType ) { } else if ( 7 == orderType ) {
return QString::fromLocal8Bit("预-MOP"); return QString::fromLocal8Bit("预-MOP");
} else if ( 8 == orderType ) { } else if ( 8 == orderType ) {
return QString::fromLocal8Bit("拼-MOP"); return QString::fromLocal8Bit("拼-MOP");
} else { } else {
if ( "5" == platformSource ) { if ( "5" == platformSource ) {
return QString::fromLocal8Bit("口碑-MOP"); return QString::fromLocal8Bit("口碑-MOP");
......
...@@ -20,9 +20,6 @@ FloatForm::FloatForm(QWidget *parent) : ...@@ -20,9 +20,6 @@ FloatForm::FloatForm(QWidget *parent) :
m_bReminding = false; m_bReminding = false;
m_bStoreStatus = true; //程序启动后,初始化为开店状态; m_bStoreStatus = true; //程序启动后,初始化为开店状态;
/*
QPixmap imgNormal(":float_normal.png"); m_imgNormalSize = imgNormal.size();
*/
QPixmap imgStoreBusiStat(":StoreBusinessStatus.png"); QPixmap imgStoreBusiStat(":StoreBusinessStatus.png");
m_imgStoreBusiStatSize = imgStoreBusiStat.size(); m_imgStoreBusiStatSize = imgStoreBusiStat.size();
...@@ -62,14 +59,7 @@ void FloatForm::mousePressEvent(QMouseEvent *event) ...@@ -62,14 +59,7 @@ void FloatForm::mousePressEvent(QMouseEvent *event)
m_lastMousePos = event->globalPos(); m_lastMousePos = event->globalPos();
m_absMove = QPoint(0,0); m_absMove = QPoint(0,0);
} }
/*
if(event->button()==Qt::RightButton) {
sInfoThread.terminate();
workThread.terminate();
qApp->exit(-1);
QProcess::startDetached(qApp->applicationFilePath(), QStringList(qApp->applicationFilePath()));
}
*/
} }
void FloatForm::mouseReleaseEvent(QMouseEvent *event) void FloatForm::mouseReleaseEvent(QMouseEvent *event)
...@@ -138,9 +128,6 @@ void FloatForm::_Blink() ...@@ -138,9 +128,6 @@ void FloatForm::_Blink()
m_animation.setEndValue(0); m_animation.setEndValue(0);
m_animation.start(); m_animation.start();
loop.exec(); loop.exec();
//this->setFixedSize(m_imgRemindSize);
//ui->floatWdg->setStyleSheet("#floatWdg{ border-image: url(:float_remind.png);}");
m_animation.setStartValue(0); m_animation.setStartValue(0);
m_animation.setEndValue(1); m_animation.setEndValue(1);
m_animation.start(); m_animation.start();
...@@ -150,12 +137,6 @@ void FloatForm::_Blink() ...@@ -150,12 +137,6 @@ void FloatForm::_Blink()
m_animation.start(); m_animation.start();
loop.exec(); loop.exec();
/*
if(m_bStoreStatus) {
this->setFixedSize(m_imgNormalSize);
ui->floatWdg->setStyleSheet("#floatWdg{ border-image: url(:float_normal.png);}");
}*/
m_animation.setStartValue(0); m_animation.setStartValue(0);
m_animation.setEndValue(1); m_animation.setEndValue(1);
m_animation.start(); m_animation.start();
...@@ -168,16 +149,13 @@ void FloatForm::_Blink() ...@@ -168,16 +149,13 @@ void FloatForm::_Blink()
void FloatForm::_PlayWav() void FloatForm::_PlayWav()
{ {
//QSound::play(m_remindWav);
if(m_bReminding) { if(m_bReminding) {
//QTimer::singleShot(m_wavPlayInterval, this, &FloatForm::_PlayWav);
QLOG_INFO()<<QString("[<<<----FloatForm::_PlayWav m_bReminding: --->>>>]")<< m_bReminding; QLOG_INFO()<<QString("[<<<----FloatForm::_PlayWav m_bReminding: --->>>>]")<< m_bReminding;
} }
} }
void FloatForm::onStartRemind(int type) void FloatForm::onStartRemind(int type)
{ {
QLOG_INFO()<<QString("[<<<----FloatForm::onStartRemind:type:%1;m_bReminding: --->>>>]").arg(type)<< m_bReminding;
//每次播报音频,将会导致POS插件崩溃;顾在此处停止音频的播放; //每次播报音频,将会导致POS插件崩溃;顾在此处停止音频的播放;
switch(type) { switch(type) {
case REMIND_CONFIRMED_ORDER: case REMIND_CONFIRMED_ORDER:
...@@ -216,7 +194,6 @@ void FloatForm::onShow() ...@@ -216,7 +194,6 @@ void FloatForm::onShow()
void FloatForm::onLockFloatForm(){ void FloatForm::onLockFloatForm(){
QLOG_INFO()<<QString("[<<<----FloatForm::onLockFloatForm : Lock Float Form --->>>>]");
if( this->isEnabled() ){ if( this->isEnabled() ){
this->setEnabled(false); this->setEnabled(false);
} }
...@@ -224,7 +201,6 @@ void FloatForm::onLockFloatForm(){ ...@@ -224,7 +201,6 @@ void FloatForm::onLockFloatForm(){
void FloatForm::onUnLockFloatForm(){ void FloatForm::onUnLockFloatForm(){
QLOG_INFO()<<QString("[<<<----FloatForm::onUnLockFloatForm : unLock Float Form --->>>>]");
if( !this->isEnabled() ){ if( !this->isEnabled() ){
this->setEnabled(true); this->setEnabled(true);
} }
...@@ -286,7 +262,6 @@ void FloatForm::RefreshStoreStatus(int eleStoreStatus, int modStoreStatus,int mo ...@@ -286,7 +262,6 @@ void FloatForm::RefreshStoreStatus(int eleStoreStatus, int modStoreStatus,int mo
} }
void FloatForm::RefreshOrderManagerStatus(int existNewOrder){ void FloatForm::RefreshOrderManagerStatus(int existNewOrder){
QLOG_INFO()<<QString("[<<<----FloatForm::RefreshOrderManagerStatus:%1--->>>>]").arg(existNewOrder);
if(existNewOrder){ //有新订单; if(existNewOrder){ //有新订单;
this->ui->OrderManagerLable->resize(120, 36); //图片源文件大小; x缩小10像素; this->ui->OrderManagerLable->resize(120, 36); //图片源文件大小; x缩小10像素;
this->ui->OrderManagerLable->move(2, 118); //左边距0像素;高度距离上面一个标签 高度 + 10 像素间隔; this->ui->OrderManagerLable->move(2, 118); //左边距0像素;高度距离上面一个标签 高度 + 10 像素间隔;
......
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