Commit 3bd036b1 by wuyang.zou

fix bug: 修复众多BUG

parent b3cb2ebb
...@@ -52,17 +52,16 @@ FlowControl::FlowControl() ...@@ -52,17 +52,16 @@ FlowControl::FlowControl()
connect(this,&FlowControl::doPullOrder,this,&FlowControl::_GetReadyForPullOrder); connect(this,&FlowControl::doPullOrder,this,&FlowControl::_GetReadyForPullOrder);
connect(this,&FlowControl::doConfirmOrder,this,&FlowControl::_ConfirmOrder,Qt::BlockingQueuedConnection); connect(this,&FlowControl::doConfirmOrder,this,&FlowControl::_ConfirmOrder,Qt::BlockingQueuedConnection);
connect(this,&FlowControl::doRefundOrder,this,&FlowControl::_RefundOrder,Qt::BlockingQueuedConnection); connect(this,&FlowControl::doRefundOrder,this,&FlowControl::_RefundOrder,Qt::BlockingQueuedConnection);
connect(this, &FlowControl::doLogin, this, &FlowControl::onGetNewStoreInfo,Qt::BlockingQueuedConnection); connect(this, &FlowControl::doLogin, this, &FlowControl::onGetNewStoreInfo,Qt::BlockingQueuedConnection);
/***打开Sqlite数据库并登陆外卖插件***/ /***打开Sqlite数据库并登陆外卖插件***/
SimProcOrderDB::getInstance(); SimProcOrderDB::getInstance();
SimProcOrderDB::getInstance().initSimProcOrderDB();
/***打开SqlServer POS打印汇总信息本地数据库***/ /***打开SqlServer POS打印汇总信息本地数据库***/
PrintSumBillPosDB::getInstance(); PrintSumBillPosDB::getInstance();
if( !PrintSumBillPosDB::getInstance().initPrintSumBillPosDB() ){ if( !PrintSumBillPosDB::getInstance().initPrintSumBillPosDB() ){
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("尝试打开POS本地数据库失败")); emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("尝试打开POS本地数据库失败"));
} }
/*** 启动Http服务:用来响应Simphony_Script获取订单的请求***/ /*** 启动Http服务:用来响应Simphony_Script获取订单的请求***/
loaclHttpServer = new LoaclHttpServer(); loaclHttpServer = new LoaclHttpServer();
loaclHttpServer->run(); loaclHttpServer->run();
...@@ -215,9 +214,10 @@ void FlowControl::_ClickToNotifySimPullOrder() ...@@ -215,9 +214,10 @@ void FlowControl::_ClickToNotifySimPullOrder()
{ {
m_notifySimPullTimer->start(1000*10); m_notifySimPullTimer->start(1000*10);
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FM外卖插件通知 Simphony 获取订单数据--->>>>]"); QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FM外卖插件通知 Simphony 获取订单数据--->>>>]");
emit doHideMainShowFloatFrom();
_ClickOMSAssignArea(); _ClickOMSAssignArea();
}else{ }else{
m_notifySimPullTimer->start(1000*50); m_notifySimPullTimer->start(1000*20);
} }
} }
...@@ -304,6 +304,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -304,6 +304,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:NewOrder m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count(); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:NewOrder m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:NewOrder m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:NewOrder m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:NewOrder _ClickOMSAssignArea --->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:NewOrder _ClickOMSAssignArea --->>>>]");
emit doHideMainShowFloatFrom();
_ClickOMSAssignArea(); _ClickOMSAssignArea();
} }
break; break;
...@@ -322,6 +323,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -322,6 +323,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:OrderConfirmed m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count(); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:OrderConfirmed m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:OrderConfirmed m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:OrderConfirmed m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:OrderConfirmed _ClickOMSAssignArea --->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:OrderConfirmed _ClickOMSAssignArea --->>>>]");
emit doHideMainShowFloatFrom();
_ClickOMSAssignArea(); _ClickOMSAssignArea();
} }
break; break;
...@@ -336,7 +338,6 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -336,7 +338,6 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
break; break;
case OrderObject::Refunded:{ /*退单目前本佳那边不区分 OrderObject::Refunded=6 && OrderObject::Cancled =6*/ case OrderObject::Refunded:{ /*退单目前本佳那边不区分 OrderObject::Refunded=6 && OrderObject::Cancled =6*/
/***case:同意退单、退单、取消订单: 此退单还没push到POS[POS没有确认退单或没有返回确认退单的小票号]***/ /***case:同意退单、退单、取消订单: 此退单还没push到POS[POS没有确认退单或没有返回确认退单的小票号]***/
//m_OrderEntryMutex.lock(); // 扩大锁的范围;
//内存会出现BUG:现在改用数据库中标记来判断; //内存会出现BUG:现在改用数据库中标记来判断;
//if(!orderObject->isCancle) //if(!orderObject->isCancle)
bool bIsRefundOrder = SimProcOrderDB::getInstance().isRefundOrder(orderObject->id); bool bIsRefundOrder = SimProcOrderDB::getInstance().isRefundOrder(orderObject->id);
...@@ -367,13 +368,13 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -367,13 +368,13 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count(); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled _ClickOMSAssignArea --->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled _ClickOMSAssignArea --->>>>]");
//emit doHideMainShowFloatFrom();
//_ClickOMSAssignArea(); //_ClickOMSAssignArea();
} }
/***case:校验此订单push到POS后的小票号是否空:[POS已模拟点单但未返回小票号]***/ /***case:校验此订单push到POS后的小票号是否空:[POS已模拟点单但未返回小票号]***/
//else{未处理} //else{未处理}
} }
} }
//m_OrderEntryMutex.unlock(); //扩大解锁范围; //退单的先不处理;
break; break;
} }
default: default:
...@@ -443,8 +444,8 @@ bool FlowControl::_Login() ...@@ -443,8 +444,8 @@ bool FlowControl::_Login()
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![网络错误]")); emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![网络错误]"));
}else }else
{ {
if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt()) //if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt())
//if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt()) if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt())
{ {
result = false; result = false;
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![%1]").arg(recvJson[JSON_MESSAGE].toString())); emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![%1]").arg(recvJson[JSON_MESSAGE].toString()));
...@@ -492,7 +493,7 @@ void FlowControl::_PullOrderData() ...@@ -492,7 +493,7 @@ void FlowControl::_PullOrderData()
m_orderPullList.removeOne(info); m_orderPullList.removeOne(info);
delete info; delete info;
}else { }else {
QLOG_INFO()<<"[<<<<----FlowControl::_PullOrderData _PullOrderList successful failed---->>>>>]"; QLOG_INFO()<<"[<<<<----FlowControl::_PullOrderData _PullOrderList failed---->>>>>]";
m_orderPullList.removeOne(info); m_orderPullList.removeOne(info);
m_orderPullList.append(info); m_orderPullList.append(info);
} }
...@@ -667,7 +668,6 @@ bool FlowControl::_SendHeart() ...@@ -667,7 +668,6 @@ bool FlowControl::_SendHeart()
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>")); emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
}else }else
{ {
/*
QLOG_INFO() << QString("[<<<<---Send Heart Finish: code:%1--->>>>]").arg(recvJson[JSON_LOGINCODE].toInt()); QLOG_INFO() << QString("[<<<<---Send Heart Finish: code:%1--->>>>]").arg(recvJson[JSON_LOGINCODE].toInt());
if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt()) if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt())
{ {
...@@ -675,8 +675,7 @@ bool FlowControl::_SendHeart() ...@@ -675,8 +675,7 @@ bool FlowControl::_SendHeart()
//emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("发送心跳失败![%1]").arg(recvJson[JSON_MESSAGE].toString())); //emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("发送心跳失败![%1]").arg(recvJson[JSON_MESSAGE].toString()));
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>")); emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
} }
*/ //emit setNetStatus(QString::fromLocal8Bit("<font color='#f5f5f5'>正常</font>"));
emit setNetStatus(QString::fromLocal8Bit("<font color='#f5f5f5'>正常</font>"));
} }
return result; return result;
} }
...@@ -739,6 +738,7 @@ bool FlowControl::_ConfirmOrder(const QString &orderId) ...@@ -739,6 +738,7 @@ bool FlowControl::_ConfirmOrder(const QString &orderId)
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 --->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _ConfirmOrder: _ClickOMSAssignArea --->>>>]");
emit doHideMainShowFloatFrom();
_ClickOMSAssignArea(); _ClickOMSAssignArea();
} }
} }
...@@ -805,6 +805,7 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr ...@@ -805,6 +805,7 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr
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 --->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _RefuseOrder: _ClickOMSAssignArea --->>>>]");
emit doHideMainShowFloatFrom();
_ClickOMSAssignArea(); _ClickOMSAssignArea();
} }
} }
...@@ -962,9 +963,8 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -962,9 +963,8 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl()+ m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_REFUND))); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_REFUND)));
} // 如果退款原因:其他,使用下面接口 } // 如果退款原因:其他,使用下面接口
else{ else {
m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl()+ m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl() + ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CANCLE)));
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CANCLE)));
} }
result = m_procOrderSocket->PostRequest(sendJson, recvJson, error); result = m_procOrderSocket->PostRequest(sendJson, recvJson, error);
QLOG_INFO() << QString("[<<<<---Refund Order Finish--->>>>][result:%1][msg:%2][recvData:%3]") QLOG_INFO() << QString("[<<<<---Refund Order Finish--->>>>][result:%1][msg:%2][recvData:%3]")
...@@ -993,28 +993,7 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -993,28 +993,7 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
//退货订单,将此订单添加到simphony 模拟点单列表中; //退货订单,将此订单添加到simphony 模拟点单列表中;
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: orderObject->id:%1 , orderObject->orderStatus:%2 --->>>>]").arg(orderObject->id).arg(orderObject->orderStatus); QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: orderObject->id:%1 , orderObject->orderStatus:%2 --->>>>]").arg(orderObject->id).arg(orderObject->orderStatus);
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: orderObject->id:%1 , orderObject->isCancle:%2 --->>>>]").arg(orderObject->id).arg(orderObject->isCancle); QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: orderObject->id:%1 , orderObject->isCancle:%2 --->>>>]").arg(orderObject->id).arg(orderObject->isCancle);
if (OrderObject::Refunded == orderObject->orderStatus){ if (OrderObject::Refunded == orderObject->orderStatus) {
/*
if( !SimProcOrderDB::getInstance().isRefundOrder(orderObject->id) ) //发现BUG:存在两种case:①订单还没有录退单到POS;就已经将内存中订单的退单标识置True了,所以必须根据数据库中的数据来判断;
{
// 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还没有模拟点单),则需要直接向现存在Sim有效队列中的记录移除;
m_OrderEntryMutex.lock();
if(!m_simValidOrdersList.contains(orderObject->id))
{
m_simValidOrdersList.insert(0,orderObject->id);
}else{
if(!PrintSumBillPosDB::getInstance().isOrderSumBillExist(orderObject->id)){
m_simValidOrdersList.removeOne(orderObject->id);
}
}
orderObject->isCancle=true;
orderObject->pushOrderType==0;
m_OrderEntryMutex.unlock();
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: _ClickOMSAssignArea --->>>>]");
_ClickOMSAssignArea();
}*/
//能退单成功就肯定能断言,此订单是没有录过退货的 //能退单成功就肯定能断言,此订单是没有录过退货的
// 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还拟点单),则需要直接向现存在Sim有效队列中的记录移除;没有模 // 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还拟点单),则需要直接向现存在Sim有效队列中的记录移除;没有模
m_OrderEntryMutex.lock(); m_OrderEntryMutex.lock();
...@@ -1026,14 +1005,13 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -1026,14 +1005,13 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
orderObject->pushOrderType = 0; orderObject->pushOrderType = 0;
orderObject->pushOrderTimes = 0; orderObject->pushOrderTimes = 0;
}else{ //如果已经存在队列中,就是POS还没有录入销售订单成功; }else{ //如果已经存在队列中,就是POS还没有录入销售订单成功;
//if(!PrintSumBillPosDB::getInstance().isOrderSumBillExist(orderObject->id)){
m_simValidOrdersList.removeOne(orderObject->id); m_simValidOrdersList.removeOne(orderObject->id);
//}
} }
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 --->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: _ClickOMSAssignArea --->>>>]");
m_OrderEntryMutex.unlock(); m_OrderEntryMutex.unlock();
emit doHideMainShowFloatFrom();
_ClickOMSAssignArea(); //必须执行,否则退货,点击取消后,就不会再提醒了; _ClickOMSAssignArea(); //必须执行,否则退货,点击取消后,就不会再提醒了;
} }
...@@ -1516,9 +1494,6 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb ...@@ -1516,9 +1494,6 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
/***** 解析 同步更新POS本地数据库是否成功:retSyncOrderPrintInfo:1->成功********/ /***** 解析 同步更新POS本地数据库是否成功:retSyncOrderPrintInfo:1->成功********/
if(retSyncOrderPrintInfo){ if(retSyncOrderPrintInfo){
// 还没汇报完小票号,因此还不能从 m_simValidOrdersList 列表中移除; // 还没汇报完小票号,因此还不能从 m_simValidOrdersList 列表中移除;
//m_OrderEntryMutex.lock();
//m_simValidOrdersList.removeOne(orderId);
//m_OrderEntryMutex.unlock();
QJsonObject rObj, cObj; QJsonObject rObj, cObj;
rObj.insert("fm_cmd", ""); rObj.insert("fm_cmd", "");
rObj.insert("fm_ver", "1.0"); rObj.insert("fm_ver", "1.0");
...@@ -1616,6 +1591,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro ...@@ -1616,6 +1591,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
} else { } else {
error.clear(); error.clear();
QString orderId=m_simValidOrdersList.first(); QString orderId=m_simValidOrdersList.first();
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[ACTION:01:]FMOMS已登录,且有订单待拉取:orderId:%1--->>>>>]").arg(orderId);
/* /*
int pullNum=MAXPUTTIMES; int pullNum=MAXPUTTIMES;
foreach (auto value, m_simValidOrdersList) { foreach (auto value, m_simValidOrdersList) {
...@@ -1635,11 +1611,14 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro ...@@ -1635,11 +1611,14 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
} }
//防止POS出现多次录单:退货单(销售单应该不会); //防止POS出现多次录单:退货单(销售单应该不会);
if(SimProcOrderDB::getInstance().isPushedOrder(orderObject->id) && SimProcOrderDB::getInstance().isRefundOrder(orderObject->id)){ bool bIsPushOrder = SimProcOrderDB::getInstance().isPushedOrder(orderObject->id);
bool bIsRefundOrder = SimProcOrderDB::getInstance().isRefundOrder(orderObject->id);
if(bIsPushOrder && bIsRefundOrder) {
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[ACTION:01:] bIsPushOrder: ;bIsRefundOrder: ;--->>>>>]")<<bIsPushOrder<<bIsRefundOrder;
error = QString::fromLocal8Bit("该订单已经被POS系统录入完成"); error = QString::fromLocal8Bit("该订单已经被POS系统录入完成");
m_OrderEntryMutex.lock(); m_OrderEntryMutex.lock();
m_simValidOrdersList.removeOne(orderObject->id); m_simValidOrdersList.removeOne(orderObject->id);
m_OrderEntryMutex.lock(); m_OrderEntryMutex.unlock();
return true; return true;
} }
...@@ -1672,10 +1651,10 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro ...@@ -1672,10 +1651,10 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
tempSbkAppPayValue = orderObject->payfmId; tempSbkAppPayValue = orderObject->payfmId;
}else if(1 == orderObject->payWay){ }else if(1 == orderObject->payWay){
tempSbkAppPayType = 78; tempSbkAppPayType = 78;
tempSbkAppPayValue = orderObject->thirdPartyBatch; tempSbkAppPayValue = (orderObject->thirdPartyBatch).length()?orderObject->thirdPartyBatch :QString('0');
}else if(2 == orderObject->payWay){ }else if(2 == orderObject->payWay){
tempSbkAppPayType = 77; tempSbkAppPayType = 77;
tempSbkAppPayValue = orderObject->thirdPartyBatch; tempSbkAppPayValue = (orderObject->thirdPartyBatch).length()?orderObject->thirdPartyBatch :QString('0');
}else{ }else{
tempSbkAppPayType = -1; tempSbkAppPayType = -1;
tempSbkAppPayValue = "-1"; tempSbkAppPayValue = "-1";
...@@ -1701,9 +1680,10 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro ...@@ -1701,9 +1680,10 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
cObj.insert("orderPayType", tempOrderPayType); cObj.insert("orderPayType", tempOrderPayType);
cObj.insert("sbkAppPayType", tempSbkAppPayType); cObj.insert("sbkAppPayType", tempSbkAppPayType);
cObj.insert("sbkAppPayValue", tempSbkAppPayValue); cObj.insert("sbkAppPayValue", tempSbkAppPayValue);
cObj.insert("orderTransFlowNo", orderObject->thirdPartyBatch); //第三方交易流水号 cObj.insert("orderTransFlowNo", (orderObject->thirdPartyBatch).length()?orderObject->thirdPartyBatch :QString('0') ); //第三方交易流水号
cObj.insert("packFree", orderObject->packageFee); cObj.insert("packFree", orderObject->packageFee);
cObj.insert("deliveryFree", orderObject->deliveryPrice); cObj.insert("deliveryFree", orderObject->deliveryPrice);
cObj.insert("waybillId", (orderObject->waybillId).length()?orderObject->waybillId:QString('0') );
cObj.insert("pos_sale_id", orderObject->posCheckNo); cObj.insert("pos_sale_id", orderObject->posCheckNo);
cObj.insert("order_status",orderObject->orderStatus);//订单的状态 cObj.insert("order_status",orderObject->orderStatus);//订单的状态
cObj.insert("pay_ebcode", orderObject->channel); cObj.insert("pay_ebcode", orderObject->channel);
......
...@@ -120,6 +120,13 @@ signals: ...@@ -120,6 +120,13 @@ signals:
* 返回:NULL * 返回:NULL
* */ * */
void showAlert(AlertForm::Type type, const QString& msg); void showAlert(AlertForm::Type type, const QString& msg);
/* 功能:隐藏主界面显示悬浮窗口
* 参数:[1]窗口类型[2]显示信息
* 返回:NULL
* */
void doHideMainShowFloatFrom();
/* 功能:设置主界面门店信息 /* 功能:设置主界面门店信息
* 参数:[1]门店号 * 参数:[1]门店号
* 返回:NULL * 返回:NULL
......
...@@ -157,7 +157,7 @@ QJsonObject DataManger::GetRefundOrderData(int reasonCode,const QString &reason, ...@@ -157,7 +157,7 @@ QJsonObject DataManger::GetRefundOrderData(int reasonCode,const QString &reason,
// 其他退单原因; // 其他退单原因;
else{ else{
rObj.insert(JSON_ORDERID, orderId); rObj.insert(JSON_ORDERID, orderId);
rObj.insert("canceledCause", reason); rObj.insert("canceledCause", reasonCode);
rObj.insert(JSON_POSIPADDRESS,QString("http://") + m_posIpAddress); rObj.insert(JSON_POSIPADDRESS,QString("http://") + m_posIpAddress);
//rObj.insert(JSON_CODE, reasonCode); //rObj.insert(JSON_CODE, reasonCode);
//rObj.insert(JSON_CHANNEL,channel); //rObj.insert(JSON_CHANNEL,channel);
......
...@@ -7,31 +7,28 @@ ...@@ -7,31 +7,28 @@
PrintSumBillPosDB::PrintSumBillPosDB() PrintSumBillPosDB::PrintSumBillPosDB()
{ {
QLOG_INFO()<<"[<<<<---Try Open Pos SqlServer DataBase--->>>>]"; QLOG_INFO()<<"[<<<<---PrintSumBillPosDB:: Structure POS Print CheckNo INFO DataBase--->>>>]";
} }
bool PrintSumBillPosDB::initPrintSumBillPosDB(){ bool PrintSumBillPosDB::initPrintSumBillPosDB(){
//QString dbPath = QString(ConfigManage::Instance().databasePath()); //QString dbPath = QString(ConfigManage::Instance().databasePath());
m_sqlDb = QSqlDatabase::addDatabase("QODBC"); //数据库驱动类型为SQL Server m_sqlDb = QSqlDatabase::addDatabase("QODBC","PrintSumBillPosDB"); //数据库驱动类型为SQL Server
if(m_sqlDb.isValid()){ if(m_sqlDb.isValid()){
QLOG_INFO()<<"[<<<<---SqlServer ODBC driver is valid--->>>>]"; QLOG_INFO()<<"[<<<<---SqlServer ODBC driver is valid--->>>>]";
QString dsn="DRIVER={SQL SERVER};SERVER=127.0.0.1\\sqlexpress;DATABASE=MMXBenefits"; //数据源名称 QT_FmConnectPosDb QString dsn="DRIVER={SQL SERVER};SERVER=127.0.0.1\\sqlexpress;DATABASE=MMXBenefits";
m_sqlDb.setDatabaseName(dsn); //设置数据源名称 m_sqlDb.setDatabaseName(dsn); //设置数据源名称
m_sqlDb.setUserName("sa"); //登录用户 m_sqlDb.setUserName("sa"); //登录用户
m_sqlDb.setPassword("SIM29@123"); m_sqlDb.setPassword("SIM29@123");
if(!m_sqlDb.open()) //打开数据库 if(!m_sqlDb.open()) { //打开数据库
{
QLOG_ERROR()<<"[<<<<---SqlServer Open Database error:--->>>>]"<<m_sqlDb.lastError().text(); QLOG_ERROR()<<"[<<<<---SqlServer Open Database error:--->>>>]"<<m_sqlDb.lastError().text();
} } else {
else {
QLOG_INFO()<<"[<<<<---SqlServer Test Open database success!:--->>>>]"; QLOG_INFO()<<"[<<<<---SqlServer Test Open database success!:--->>>>]";
m_sqlDb.close(); m_sqlDb.close();
return true; return true;
} }
} } else {
else {
QLOG_ERROR()<<"[<<<<---SqlServer ODBC driver no valid--->>>>]"; QLOG_ERROR()<<"[<<<<---SqlServer ODBC driver no valid--->>>>]";
} }
return false; return false;
...@@ -44,9 +41,8 @@ PrintSumBillPosDB &PrintSumBillPosDB::getInstance() ...@@ -44,9 +41,8 @@ PrintSumBillPosDB &PrintSumBillPosDB::getInstance()
} }
bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString& posCheckNo){ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString& posCheckNo){
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!m_sqlDb.open()) if(!m_sqlDb.open()) {
{
QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text(); QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text();
return false; return false;
} }
...@@ -58,7 +54,7 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString& ...@@ -58,7 +54,7 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString&
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->lastName); // --顾客-姓 query.addBindValue(orderObj->lastName); // --顾客-姓
query.addBindValue(orderObj->customerName); // --顾客-全名 query.addBindValue(orderObj->consigneeName); // --顾客-全名
QString temp_customerSex; QString temp_customerSex;
if( !orderObj->customerSex.compare(QString::fromLocal8Bit(FM_MALE)) || !orderObj->customerSex.compare(QString("Male")) ){ if( !orderObj->customerSex.compare(QString::fromLocal8Bit(FM_MALE)) || !orderObj->customerSex.compare(QString("Male")) ){
temp_customerSex = "Male"; temp_customerSex = "Male";
...@@ -95,20 +91,17 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString& ...@@ -95,20 +91,17 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString&
.arg(orderObj->consigneeName).arg(orderObj->addressDetail).arg(orderObj->consigneePhone).arg(orderObj->id) .arg(orderObj->consigneeName).arg(orderObj->addressDetail).arg(orderObj->consigneePhone).arg(orderObj->id)
.arg(orderObj->waybillId).arg(orderObj->pickupCode.length()==0?0:orderObj->pickupCode.toInt()).arg(orderObj->riderPhone).arg(orderObj->riderName); .arg(orderObj->waybillId).arg(orderObj->pickupCode.length()==0?0:orderObj->pickupCode.toInt()).arg(orderObj->riderPhone).arg(orderObj->riderName);
result = false; result = false;
} } else {
else{
QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 Into customer_info Success--->>>>]").arg(orderObj->id); QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 Into customer_info Success--->>>>]").arg(orderObj->id);
result = true; result = true;
} }
m_sqlDb.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool PrintSumBillPosDB::updateOrderSumBillStatus(OrderObject* orderObj, const int &OrderStatus){ bool PrintSumBillPosDB::updateOrderSumBillStatus(OrderObject* orderObj, const int &OrderStatus){
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!m_sqlDb.open()) if(!m_sqlDb.open()) {
{
QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text(); QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text();
return false; return false;
} }
...@@ -116,92 +109,75 @@ bool PrintSumBillPosDB::updateOrderSumBillStatus(OrderObject* orderObj, const in ...@@ -116,92 +109,75 @@ bool PrintSumBillPosDB::updateOrderSumBillStatus(OrderObject* orderObj, const in
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
query.prepare(QString("update tb_msr_customer_info set OrderStatus=%1 where order_id='%2'") query.prepare(QString("update tb_msr_customer_info set OrderStatus=%1 where order_id='%2'")
.arg(QString::number(OrderStatus)).arg(orderObj->id)); .arg(QString::number(OrderStatus)).arg(orderObj->id));
if(!query.exec()) if(!query.exec()) {
{
QLOG_ERROR()<<query.lastError().text()<<"[<<<<---SqlServer Database:update Order Status Failed--->>>>]"; QLOG_ERROR()<<query.lastError().text()<<"[<<<<---SqlServer Database:update Order Status Failed--->>>>]";
result= false; result= false;
} } else {
else{
QLOG_INFO()<<QString("[<<<<---SqlServer Database:Update OrderId %1 OrderStatus success--->>>>]").arg(orderObj->id); QLOG_INFO()<<QString("[<<<<---SqlServer Database:Update OrderId %1 OrderStatus success--->>>>]").arg(orderObj->id);
result = true; result = true;
} }
m_sqlDb.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool PrintSumBillPosDB::isOrderAndCknoSumBillExist(const QString& orderId,const QString& posCheckNo){ bool PrintSumBillPosDB::isOrderAndCknoSumBillExist(const QString& orderId,const QString& posCheckNo){
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!m_sqlDb.open()) if(!m_sqlDb.open()) {
{
QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text(); QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
query.prepare(QString("select order_id from tb_msr_customer_info where order_id='%1' and chk_num='%2'").arg(orderId).arg(posCheckNo)); query.prepare(QString("select order_id from tb_msr_customer_info where order_id='%1' and chk_num='%2'").arg(orderId).arg(posCheckNo));
if(!query.exec()) if(!query.exec()) {
{
QLOG_ERROR()<<"[<<<<---SqlServer Database:isOrderAndCknoSumBillExit--->>>>]"<<orderId<<query.lastError().text(); QLOG_ERROR()<<"[<<<<---SqlServer Database:isOrderAndCknoSumBillExit--->>>>]"<<orderId<<query.lastError().text();
result= false; result= false;
} }
if(query.first()) if(query.first()) {
{
result= true; result= true;
} } else {
else{
result = false; result = false;
} }
m_sqlDb.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool PrintSumBillPosDB::isOrderSumBillExist(const QString& orderId){ bool PrintSumBillPosDB::isOrderSumBillExist(const QString& orderId){
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!m_sqlDb.open()) if(!m_sqlDb.open()) {
{
QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text(); QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
query.prepare(QString("select order_id from tb_msr_customer_info where order_id='%1'").arg(orderId)); query.prepare(QString("select order_id from tb_msr_customer_info where order_id='%1'").arg(orderId));
if(!query.exec()) if(!query.exec()) {
{
QLOG_ERROR()<<"[<<<<---SqlServer Database:isOrderSumBillExit--->>>>]"<<orderId<<query.lastError().text(); QLOG_ERROR()<<"[<<<<---SqlServer Database:isOrderSumBillExit--->>>>]"<<orderId<<query.lastError().text();
result= false; result= false;
} }
if(query.first()) if(query.first()) {
{
result= true; result= true;
} } else {
else{
result = false; result = false;
} }
m_sqlDb.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool PrintSumBillPosDB::queryValue(const QString& orderId, const QString& key, QString& error, QVariant &value){ bool PrintSumBillPosDB::queryValue(const QString& orderId, const QString& key, QString& error, QVariant &value){
QMutexLocker mutex(&m_mutex); QMutexLocker mutex(&m_mutex);
if(!m_sqlDb.open()) if(!m_sqlDb.open()) {
{
error.append(QString("SqlServer Database:Open Failed").append(m_sqlDb.lastError().text())); error.append(QString("SqlServer Database:Open Failed").append(m_sqlDb.lastError().text()));
return false; return false;
} }
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
query.prepare(QString("select %1 from tb_msr_customer_info where order_id='%1'").arg(key).arg(orderId)); query.prepare(QString("select %1 from tb_msr_customer_info where order_id='%1'").arg(key).arg(orderId));
if(!query.exec()) if(!query.exec()) {
{
error.append(query.lastError().text()); error.append(query.lastError().text());
m_sqlDb.close(); m_sqlDb.close();
return false; return false;
} } else {
else{ while(query.next()) {
while(query.next())
{
value= query.value(0); value= query.value(0);
} }
} }
...@@ -211,25 +187,20 @@ bool PrintSumBillPosDB::queryValue(const QString& orderId, const QString& key, Q ...@@ -211,25 +187,20 @@ bool PrintSumBillPosDB::queryValue(const QString& orderId, const QString& key, Q
bool PrintSumBillPosDB::queryIsNull(const QString &orderId, const QString& key,QString &error, bool &result){ bool PrintSumBillPosDB::queryIsNull(const QString &orderId, const QString& key,QString &error, bool &result){
QMutexLocker mutex(&m_mutex); QMutexLocker mutex(&m_mutex);
if(!m_sqlDb.open()) if(!m_sqlDb.open()) {
{
error.append(QString("SqlServer Database:Open Failed").append(m_sqlDb.lastError().text())); error.append(QString("SqlServer Database:Open Failed").append(m_sqlDb.lastError().text()));
return false; return false;
} }
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
query.prepare(QString("select %1 from tb_msr_customer_info where order_id=%2 and %3 is null").arg(orderId,orderId,key)); query.prepare(QString("select %1 from tb_msr_customer_info where order_id=%2 and %3 is null").arg(orderId,orderId,key));
if(!query.exec()) if(!query.exec()) {
{
error.append(query.lastError().text()); error.append(query.lastError().text());
m_sqlDb.close(); m_sqlDb.close();
return false; return false;
} } else {
else{ if(query.first()) {
if(query.first())
{
result= true; result= true;
} } else{
else{
result = false; result = false;
} }
} }
......
...@@ -4,39 +4,46 @@ ...@@ -4,39 +4,46 @@
SimProcOrderDB::SimProcOrderDB() SimProcOrderDB::SimProcOrderDB()
{ {
m_mutex.lock(); QLOG_INFO()<<"[<<<<---SimProcOrderDB:: Structure Order Push and Refund DataBase--->>>>]";
QString dbpath=QCoreApplication::applicationDirPath()+QString("/SimProcOrderDB.db"); }
db=QSqlDatabase::addDatabase("QSQLITE","SimProcOrderDB_connection");
db.setDatabaseName(dbpath); bool SimProcOrderDB::initSimProcOrderDB(){
if(!db.open()) m_sqlDb=QSqlDatabase::addDatabase("QODBC","SimProcOrderDB"); //数据库驱动类型为SQL server;
{ if(m_sqlDb.isValid()){
QString error=db.lastError().text(); QLOG_INFO()<<"[<<<<---SimProcOrderDB::SqlServer ODBC driver is valid--->>>>]";
QLOG_ERROR()<<QString("[<<<<---Sqlite Database:Open Filed--->>>>][%1]").arg(error); QString dsn="DRIVER={SQL SERVER};SERVER=127.0.0.1\\sqlexpress;DATABASE=MMXBenefits;Trusted_Connection=yes";
} m_sqlDb.setDatabaseName(dsn); //设置数据源名称
else{ m_sqlDb.setUserName("sa"); //登录用户
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Open Successed--->>>>]"); m_sqlDb.setPassword("SIM29@123");
if(!m_sqlDb.open()) { //打开数据库
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::SqlServer Open Database error:--->>>>]"<<m_sqlDb.lastError().text();
} else {
QLOG_INFO()<<"[<<<<---SimProcOrderDB::SqlServer Test Open database success!:--->>>>]";
QSqlQuery query(m_sqlDb);
QString selectsql ="select * from sys.tables where name='SimProcOrderTable'" ;
if(!query.exec(selectsql)) {
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::SqlServer Database check table SimProcOrderTable command failed--->>>>]"<<query.lastError().text();
}
if(query.next()) {
QLOG_INFO() << "[<<<<---SimProcOrderDB::Table SimProcOrderTable Has Exist--->>>>]";
} else {
QLOG_INFO() << "[<<<<---SimProcOrderDB::Table SimProcOrderTable Does Not Exist--->>>>]";
query.prepare(QString("create table SimProcOrderTable ( orderId varchar(20) primary key,isPushed int,isRefund int,isReport int,isBackReport int,posCheckNo varchar(20),creatTime varchar(20) )"));
if(!query.exec()){
QLOG_ERROR()<< "[<<<<---Create Table SimProcOrderTable Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
return false;
} }
QSqlQuery query(db);
int isTableExist=0;
query.exec(QString("select count(*) from sqlite_master where type='table' and name='%1'").arg("SimProcOrderTable"));
while(query.next())
{
isTableExist = query.value(0).toInt();
} }
if(!isTableExist){ m_sqlDb.close();
QLOG_INFO() << "[<<<<---Sqlite Database:Table SimProcOrderTable Does Not Exist--->>>>]"; return true;
query.prepare(QString("create table SimProcOrderTable (orderId varchar(20) primary key,isPushed int(1),isRefund int(1),isReport int(1),isBackReport int(1),posCheckNo varchar(20),creatTime varchar(20))"));
if(!query.exec())
{
QLOG_ERROR()<<query.lastError().text()<<QString::number(query.lastError().type())<<"[<<<<---Sqlite Database:Create Table SimProcOrderTable Faild--->>>>]";
} }
} else{ } else {
QLOG_INFO() << "[<<<<---Sqlite Database:Table SimProcOrderTable Has Exist--->>>>]"; QLOG_ERROR()<<"[<<<<---SimProcOrderDB::SqlServer ODBC driver no valid";
} }
db.close(); return false;
m_mutex.unlock();
} }
SimProcOrderDB &SimProcOrderDB::getInstance() SimProcOrderDB &SimProcOrderDB::getInstance()
{ {
static SimProcOrderDB simProcOrderDB; static SimProcOrderDB simProcOrderDB;
...@@ -45,333 +52,281 @@ SimProcOrderDB &SimProcOrderDB::getInstance() ...@@ -45,333 +52,281 @@ SimProcOrderDB &SimProcOrderDB::getInstance()
bool SimProcOrderDB::insertSimProcOrder(const QString &orderId,const QString& creatTime) bool SimProcOrderDB::insertSimProcOrder(const QString &orderId,const QString& creatTime)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::insertSimProcOrder Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("insert into SimProcOrderTable values('%1',0,0,0,0,NUll,'%6')").arg(orderId).arg(creatTime)); query.prepare(QString("insert into SimProcOrderTable values('%1',0,0,0,0,NUll,'%6')").arg(orderId).arg(creatTime));
qDebug()<<creatTime; if(!query.exec()) {
if(!query.exec()) QLOG_ERROR()<<"[<<<<---SimProcOrderDB:insertSimProcOrder Error--->>>>]"<<query.lastError().text()<<QString::number(query.lastError().type());
{
QLOG_ERROR()<<query.lastError().text()<<QString::number(query.lastError().type())<<"[<<<<---Sqlite Database:insertSimProcOrder Error--->>>>]";
result = false; result = false;
} } else {
else{ QLOG_INFO()<<QString("[<<<<---SimProcOrderDB:: Insert OrderId %1 Into SimProcOrderTable Success--->>>>]").arg(orderId);
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Insert OrderId %1 Into SimProcOrderTable Success--->>>>]").arg(orderId);
result = true; result = true;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::updatePushOrderStatus(const QString &orderId, const int &pushOrderStatus) bool SimProcOrderDB::updatePushOrderStatus(const QString &orderId, const int &pushOrderStatus)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updatePushOrderStatus Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("update SimProcOrderTable set isPushed=%1 where orderId='%2'") query.prepare(QString("update SimProcOrderTable set isPushed=%1 where orderId='%2'")
.arg(QString::number(pushOrderStatus)).arg(orderId)); .arg(QString::number(pushOrderStatus)).arg(orderId));
if(!query.exec()) if(!query.exec())
{ {
QLOG_ERROR()<<query.lastError().text()<<"[<<<<---Sqlite Database:updatePushOrderStatus Failed--->>>>]"; QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updatePushOrderStatus Failed--->>>>]"<<query.lastError().text();
result= false; result= false;
} } else {
else{ QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::Update OrderId %1 pushOrderStatus success;pushOrderStatus:%2--->>>>]").arg(orderId).arg(pushOrderStatus);
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 pushOrderStatus success;pushOrderStatus:%2--->>>>]").arg(orderId).arg(pushOrderStatus);
result = true; result = true;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::isPushedOrder(const QString &orderId) bool SimProcOrderDB::isPushedOrder(const QString &orderId)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::isPushedOrder Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("select isPushed from SimProcOrderTable where orderId='%1'").arg(orderId)); query.prepare(QString("select isPushed from SimProcOrderTable where orderId='%1'").arg(orderId));
if(!query.exec()) if(!query.exec()){
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::isPushedOrder Failed--->>>>]"<<query.lastError().text()<<orderId;
QLOG_ERROR()<<query.lastError().text()<<orderId<<"[<<<<---Sqlite Database:isPushedOrder Failed--->>>>]";
result= false; result= false;
} }
while(query.next()) while(query.next()) {
{
result= query.value(0).toBool(); result= query.value(0).toBool();
QLOG_INFO()<<QString("[<<<<---Sqlite Database:isPushedOrder orderId:%1 isPushedOrder:%2 --->>>>]").arg(orderId).arg(result); QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::isPushedOrder orderId:%1 isPushedOrder:%2 --->>>>]").arg(orderId).arg(result);
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::updateRefundOrderStatus(const QString &orderId, const int &refundOrderStatus) bool SimProcOrderDB::updateRefundOrderStatus(const QString &orderId, const int &refundOrderStatus)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updateRefundOrderStatus Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("update SimProcOrderTable set isRefund=%1 where orderId='%2'") query.prepare(QString("update SimProcOrderTable set isRefund=%1 where orderId='%2'")
.arg(QString::number(refundOrderStatus)).arg(orderId)); .arg(QString::number(refundOrderStatus)).arg(orderId));
if(!query.exec()) if(!query.exec()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updateRefundOrderStatus Failed--->>>>]"<<query.lastError().text();
QLOG_ERROR()<<query.lastError().text()<<"[<<<<---Sqlite Database:updateRefundOrderStatus Failed--->>>>]";
result= false; result= false;
} } else {
else{ QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::Update OrderId %1 refundOrderStatus Successd; refundOrderStatus:%2 --->>>>]").arg(orderId).arg(refundOrderStatus);
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 refundOrderStatus Successd; refundOrderStatus:%2 --->>>>]").arg(orderId).arg(refundOrderStatus);
result = true; result = true;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::isRefundOrder(const QString &orderId) bool SimProcOrderDB::isRefundOrder(const QString &orderId)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()){
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::isRefundOrder Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("select isRefund from SimProcOrderTable where orderId='%1'").arg(orderId)); query.prepare(QString("select isRefund from SimProcOrderTable where orderId='%1'").arg(orderId));
if(!query.exec()) if(!query.exec()) {
{ QLOG_ERROR()<<orderId<<"[<<<<---SimProcOrderDB::isRefundOrder Failed--->>>>]"<<query.lastError().text();
QLOG_ERROR()<<query.lastError().text()<<orderId<<"[<<<<---Sqlite Database:isRefundOrder Failed--->>>>]";
result= false; result= false;
} }
while(query.next()) while(query.next()) {
{
result= query.value(0).toBool(); result= query.value(0).toBool();
QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::isRefundOrder: orderId:%1, isRefundOrder:%2--->>>>]").arg(orderId).arg(result); QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::isRefundOrder: orderId:%1, isRefundOrder:%2--->>>>]").arg(orderId).arg(result);
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::updateReportOrderStatus(const QString &orderId, const int &reportOrderStatus) bool SimProcOrderDB::updateReportOrderStatus(const QString &orderId, const int &reportOrderStatus)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updateReportOrderStatus Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("update SimProcOrderTable set isReport=%1 where orderId='%2'") query.prepare(QString("update SimProcOrderTable set isReport=%1 where orderId='%2'")
.arg(QString::number(reportOrderStatus)).arg(orderId)); .arg(QString::number(reportOrderStatus)).arg(orderId));
if(!query.exec()) if(!query.exec()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updateReportOrderStatus Failed--->>>>]"<<query.lastError().text();
QLOG_ERROR()<<query.lastError().text()<<"[<<<<---Sqlite Database:updateReportOrderStatus Failed--->>>>]";
result= false; result= false;
} } else {
else{ QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::Update OrderId %1 reportOrderStatus Success--->>>>]").arg(orderId);
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 reportOrderStatus Success--->>>>]").arg(orderId);
result = true; result = true;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::isReportOrder(const QString &orderId) bool SimProcOrderDB::isReportOrder(const QString &orderId)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()){
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::isReportOrder Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("select isReport from SimProcOrderTable where orderId='%1'").arg(orderId)); query.prepare(QString("select isReport from SimProcOrderTable where orderId='%1'").arg(orderId));
if(!query.exec()) if(!query.exec()) {
{ QLOG_ERROR()<<query.lastError().text()<<orderId<<"[<<<<---SimProcOrderDB::isReportOrder Failed--->>>>]";
QLOG_ERROR()<<query.lastError().text()<<orderId<<"[<<<<---Sqlite Database:isReportOrder Failed--->>>>]";
result= false; result= false;
} }
while(query.next()) while(query.next()) {
{
result= query.value(0).toBool(); result= query.value(0).toBool();
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::updateBackReportOrderStatus(const QString &orderId, const int &backReportOrderStatus) bool SimProcOrderDB::updateBackReportOrderStatus(const QString &orderId, const int &backReportOrderStatus)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updateBackReportOrderStatus Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("update SimProcOrderTable set isBackReport=%1 where orderId='%2'") query.prepare(QString("update SimProcOrderTable set isBackReport=%1 where orderId='%2'")
.arg(QString::number(backReportOrderStatus)).arg(orderId)); .arg(QString::number(backReportOrderStatus)).arg(orderId));
if(!query.exec()) if(!query.exec()) {
{ QLOG_ERROR()<<query.lastError().text()<<"[<<<<---SimProcOrderDB::updateBackReportOrderStatus Failed--->>>>]";
QLOG_ERROR()<<query.lastError().text()<<"[<<<<---Sqlite Database:updateBackReportOrderStatus Failed--->>>>]";
result= false; result= false;
} } else {
else{ QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::Update OrderId %1 backReportOrderStatus Success--->>>>]").arg(orderId);
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 backReportOrderStatus Success--->>>>]").arg(orderId);
result = true; result = true;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::isBackReportOrder(const QString &orderId) bool SimProcOrderDB::isBackReportOrder(const QString &orderId)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::isBackReportOrder Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("select isBackReport from SimProcOrderTable where orderId='%1'").arg(orderId)); query.prepare(QString("select isBackReport from SimProcOrderTable where orderId='%1'").arg(orderId));
if(!query.exec()) if(!query.exec()) {
{ QLOG_ERROR()<<query.lastError().text()<<orderId<<"[<<<<---SimProcOrderDB::isBackReportOrder Failed--->>>>]";
QLOG_ERROR()<<query.lastError().text()<<orderId<<"[<<<<---Sqlite Database:isBackReportOrder Failed--->>>>]";
result= false; result= false;
} }
while(query.next()) while(query.next()) {
{
result= query.value(0).toBool(); result= query.value(0).toBool();
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::isOrderExist(const QString &orderId) bool SimProcOrderDB::isOrderExist(const QString &orderId)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::isOrderExist Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("select orderId from SimProcOrderTable where orderId='%1'").arg(orderId)); query.prepare(QString("select orderId from SimProcOrderTable where orderId='%1'").arg(orderId));
if(!query.exec()) if(!query.exec()) {
{ QLOG_ERROR()<<query.lastError().text()<<orderId<<"[<<<<---SimProcOrderDB::isOrderExit Failed--->>>>]";
QLOG_ERROR()<<query.lastError().text()<<orderId<<"[<<<<---Sqlite Database:isOrderExit Failed--->>>>]";
result= false; result= false;
} }
if(query.first()) if(query.first()) {
{
result= true; result= true;
} } else {
else{
result = false; result = false;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::updatePosOrderCheckNo(const QString &orderId, const QString &posOrderCheckNo) bool SimProcOrderDB::updatePosOrderCheckNo(const QString &orderId, const QString &posOrderCheckNo)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updatePosOrderCheckNo Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result; bool result;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("update SimProcOrderTable set posCheckNo='%1' where orderId='%2'") query.prepare(QString("update SimProcOrderTable set posCheckNo='%1' where orderId='%2'")
.arg(posOrderCheckNo).arg(orderId)); .arg(posOrderCheckNo).arg(orderId));
if(!query.exec()) if(!query.exec()) {
{
QLOG_ERROR()<<query.lastError().text()<<__FUNCTION__; QLOG_ERROR()<<query.lastError().text()<<__FUNCTION__;
result= false; result= false;
} } else {
else{ QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::Action4: Report CheckNo : Update OrderId:%1 posCheckNo:%2 Success--->>>>]").arg(orderId,posOrderCheckNo);
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Action4: Report CheckNo : Update OrderId:%1 posCheckNo:%2 Success--->>>>]").arg(orderId,posOrderCheckNo);
result = true; result = true;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::getPosOrderCheckNo(const QString &orderId,QString& posOrderCheckNo) bool SimProcOrderDB::getPosOrderCheckNo(const QString &orderId,QString& posOrderCheckNo)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
bool result=false; bool result=false;
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::getPosOrderCheckNo Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return result; return result;
} }
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("select posCheckNo from SimProcOrderTable where orderId='%1'").arg(orderId)); query.prepare(QString("select posCheckNo from SimProcOrderTable where orderId='%1'").arg(orderId));
if(!query.exec()) if(!query.exec()) {
{
QLOG_ERROR()<<query.lastError().text()<<orderId<<__FUNCTION__; QLOG_ERROR()<<query.lastError().text()<<orderId<<__FUNCTION__;
return result; return result;
} }
while(query.next()) while(query.next()) {
{
posOrderCheckNo= query.value(0).toString(); posOrderCheckNo= query.value(0).toString();
result=true; result=true;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
bool SimProcOrderDB::deleteOrderRecord(QString creatTime) bool SimProcOrderDB::deleteOrderRecord(QString creatTime)
{ {
m_mutex.lock(); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ QLOG_ERROR()<<"[<<<<---SimProcOrderDB::deleteOrderRecord Open Failed--->>>>]"<<m_sqlDb.lastError().text();
QLOG_ERROR()<<"[<<<<---Sqlite Database:Open Failed--->>>>]"<<db.lastError().text();
return false; return false;
} }
bool result=true; bool result=true;
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("delete from SimProcOrderTable where creatTime<'%1'").arg(creatTime)); query.prepare(QString("delete from SimProcOrderTable where creatTime<'%1'").arg(creatTime));
if(!query.exec()) if(!query.exec()) {
{
QLOG_ERROR()<<query.lastError().text()<<__FUNCTION__; QLOG_ERROR()<<query.lastError().text()<<__FUNCTION__;
result= false; result= false;
} }
db.close(); m_sqlDb.close();
m_mutex.unlock();
return result; return result;
} }
...@@ -379,79 +334,68 @@ bool SimProcOrderDB::deleteOrderRecord(QString creatTime) ...@@ -379,79 +334,68 @@ bool SimProcOrderDB::deleteOrderRecord(QString creatTime)
bool SimProcOrderDB::queryValue(const QString &orderId, const QString& key, QString &error, QVariant & value) bool SimProcOrderDB::queryValue(const QString &orderId, const QString& key, QString &error, QVariant & value)
{ {
QMutexLocker mutex(&m_mutex); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ error.append(QString("SimProcOrderDB::queryValue :Open Failed").append(m_sqlDb.lastError().text()));
error.append(QString("Sqlite Database:Open Failed").append(db.lastError().text()));
return false; return false;
} }
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("select %1 from SimProcOrderTable where orderId='%1'").arg(key).arg(orderId)); query.prepare(QString("select %1 from SimProcOrderTable where orderId='%1'").arg(key).arg(orderId));
if(!query.exec()) if(!query.exec()) {
{
error.append(query.lastError().text()); error.append(query.lastError().text());
db.close(); m_sqlDb.close();
return false; return false;
} } else {
else{
while(query.next()) while(query.next())
{ {
value= query.value(0); value= query.value(0);
} }
} }
db.close(); m_sqlDb.close();
return true; return true;
} }
bool SimProcOrderDB::updatekey(const QString &orderId, const QString &key, const int value, QString &error, bool &result) bool SimProcOrderDB::updatekey(const QString &orderId, const QString &key, const int value, QString &error, bool &result)
{ {
QMutexLocker mutex(&m_mutex); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ error.append(QString("SimProcOrderDB::updatekey :Open Failed").append(m_sqlDb.lastError().text()));
error.append(QString("Sqlite Database:Open Failed").append(db.lastError().text()));
return false; return false;
} }
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("update SimProcOrderTable set %1=%2 where orderId='%3'").arg(key) query.prepare(QString("update SimProcOrderTable set %1=%2 where orderId='%3'").arg(key)
.arg(QString::number(value)).arg(orderId)); .arg(QString::number(value)).arg(orderId));
if(!query.exec()) if(!query.exec()) {
{
error.append(query.lastError().text()); error.append(query.lastError().text());
db.close(); m_sqlDb.close();
return false; return false;
} } else {
else{
result = true; result = true;
} }
db.close(); m_sqlDb.close();
return true; return true;
} }
bool SimProcOrderDB::queryIsNull(const QString &orderId, const QString &key, QString &error, bool &result) bool SimProcOrderDB::queryIsNull(const QString &orderId, const QString &key, QString &error, bool &result)
{ {
QMutexLocker mutex(&m_mutex); QMutexLocker mutex(&m_mutex);
if(!db.open()) if(!m_sqlDb.open()) {
{ error.append(QString("SimProcOrderDB::queryIsNull Open Failed").append(m_sqlDb.lastError().text()));
error.append(QString("Sqlite Database:Open Failed").append(db.lastError().text()));
return false; return false;
} }
QSqlQuery query(db); QSqlQuery query(m_sqlDb);
query.prepare(QString("select %1 from SimProcOrderTable where orderId=%2 and %3 is null").arg(orderId,orderId,key)); query.prepare(QString("select %1 from SimProcOrderTable where orderId=%2 and %3 is null").arg(orderId,orderId,key));
if(!query.exec()) if(!query.exec()) {
{
error.append(query.lastError().text()); error.append(query.lastError().text());
db.close(); m_sqlDb.close();
return false; return false;
} } else {
else{ if(query.first()) {
if(query.first())
{
result= true; result= true;
} } else {
else{
result = false; result = false;
} }
} }
db.close(); m_sqlDb.close();
return true; return true;
} }
...@@ -16,6 +16,13 @@ public: ...@@ -16,6 +16,13 @@ public:
// explicit SimProcOrderDB(QObject *parent = 0); // explicit SimProcOrderDB(QObject *parent = 0);
static SimProcOrderDB& getInstance(); static SimProcOrderDB& getInstance();
/**
*功能:初始化数据库
*参数:[1]订单号 [2]创建时间
*/
bool initSimProcOrderDB();
/** /**
*功能:插入一条Simphony返回小票号的订单新数据 *功能:插入一条Simphony返回小票号的订单新数据
*参数:[1]订单号 [2]创建时间 *参数:[1]订单号 [2]创建时间
...@@ -108,7 +115,7 @@ private: ...@@ -108,7 +115,7 @@ private:
SimProcOrderDB(); SimProcOrderDB();
SimProcOrderDB(SimProcOrderDB const&); SimProcOrderDB(SimProcOrderDB const&);
SimProcOrderDB& operator=(SimProcOrderDB const&); SimProcOrderDB& operator=(SimProcOrderDB const&);
QSqlDatabase db; QSqlDatabase m_sqlDb;
signals: signals:
......
...@@ -88,6 +88,7 @@ int main(int argc, char *argv[]) ...@@ -88,6 +88,7 @@ int main(int argc, char *argv[])
MainForm w; MainForm w;
QObject::connect(&w, &MainForm::showFloatForm, &f, &FloatForm::onShow); QObject::connect(&w, &MainForm::showFloatForm, &f, &FloatForm::onShow);
QObject::connect(&FlowControl::GetInstance(), &FlowControl::startRemind, &f, &FloatForm::onStartRemind); QObject::connect(&FlowControl::GetInstance(), &FlowControl::startRemind, &f, &FloatForm::onStartRemind);
QObject::connect(&FlowControl::GetInstance(), &FlowControl::doHideMainShowFloatFrom, &w, &MainForm::on_mainBtnHide_clicked);
QObject::connect(&w, &MainForm::startRemind, &f, &FloatForm::onStartRemind); QObject::connect(&w, &MainForm::startRemind, &f, &FloatForm::onStartRemind);
QObject::connect(&w, &MainForm::stopRemind, &f, &FloatForm::onStopRemind); QObject::connect(&w, &MainForm::stopRemind, &f, &FloatForm::onStopRemind);
QObject::connect(&f, &FloatForm::showMainForm, &w, &MainForm::show); QObject::connect(&f, &FloatForm::showMainForm, &w, &MainForm::show);
......
...@@ -165,11 +165,13 @@ private slots: ...@@ -165,11 +165,13 @@ private slots:
* 返回:NULL * 返回:NULL
* */ * */
void on_mainBtnSet_clicked(); void on_mainBtnSet_clicked();
/* 功能:隐藏按钮对应动作 /* 功能:隐藏按钮对应动作
* 参数:NULL * 参数:NULL
* 返回:NULL * 返回:NULL
* */ * */
void on_mainBtnHide_clicked(); //void on_mainBtnHide_clicked();
/* 功能:上翻按钮对应动作 /* 功能:上翻按钮对应动作
* 参数:NULL * 参数:NULL
* 返回:NULL * 返回:NULL
...@@ -214,6 +216,12 @@ private slots: ...@@ -214,6 +216,12 @@ private slots:
void on_mainBtnDayReport_clicked(); void on_mainBtnDayReport_clicked();
public slots: public slots:
/* 功能:隐藏按钮对应动作
* 参数:NULL
* 返回:NULL
* */
void on_mainBtnHide_clicked();
/* 功能:隐藏通知窗口 /* 功能:隐藏通知窗口
* 参数:NULL * 参数:NULL
* 返回:NULL * 返回:NULL
......
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