Commit e46a6f81 by wuyang.zou

fix bug: 修复 订单检索功能,各个表格按时间倒序排列,美化网络异常功,完善,退单后窗体残留

parent 45fa6706
......@@ -293,6 +293,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
{
orderObject->pushOrderType = 1;
orderObject->pushOrderTimes = 0;
// 针对新订单肯定没有在POS里录入过;
m_OrderEntryMutex.lock();
if(!m_simValidOrdersList.contains(orderObject->id))
{
......@@ -306,6 +307,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
}
break;
case OrderObject::Confirmed:
// 针对已经确认的订单:POS可能录过,也可能没有; 因此就需要 orderObject->isPush 来判断POS是否录过:true:录过;false:没录过;
if(!orderObject->isPush)
{
orderObject->pushOrderType = 1;
......@@ -432,7 +434,8 @@ bool FlowControl::_Login()
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![网络错误]"));
}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())
{
result = false;
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![%1]").arg(recvJson[JSON_MESSAGE].toString()));
......@@ -447,7 +450,7 @@ bool FlowControl::_Login()
emit setStoreInfo(m_storeId);
emit setCashierInfo(m_cashierId);
m_bLoginResult= true;
m_clearTimer->start(1000*60*30); // 一小时执行一次:清理两天前的插件订单
m_clearTimer->start(1000*60*20); // 二十分钟执行一次清理任务
m_heartTimer->start(1000*60*5);
m_pullTimer->start(1000*2);
m_notifySimPullTimer->start(10*1000);
......@@ -530,7 +533,7 @@ bool FlowControl::_PullOrderDetail(const QString& orderId)
.arg(result).arg(error)<<recvJson;
if(!result)
{
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>异常</font>"));
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
}else
{
qDebug()<<recvJson;
......@@ -578,7 +581,8 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
QLOG_INFO() << QString("[<<<<---Pull Order List--->>>>][requestData:]")<<sendJson;
if(ConfigManger::GetInstance().GetOrderSslConfig())
{
m_pullOrderSocket->SetSslConfig();
// m_pullOrderSocket->SetSslConfig();
m_pullOrderListSocket->SetSslConfig();
QLOG_INFO()<<"FlowControl::_PullOrderList load ssl";
}
else{
......@@ -587,13 +591,13 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
m_pullOrderListSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_PULLORDERLIST)));
QLOG_INFO()<<ConfigManger::GetInstance().GetOrderServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_PULLORDERLIST);
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_PULLORDERLIST)<< " requestData: " <<sendJson;
result = m_pullOrderListSocket->PostRequest(sendJson, recvJson, error);
QLOG_INFO() << QString("[<<<<---Pull Order List Finish.--->>>>][result:%1][msg:%2]")
.arg(result).arg(error)<<recvJson;
if(!result)
{
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>异常</font>"));
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
}else
{
qDebug()<<recvJson;
......@@ -650,13 +654,18 @@ bool FlowControl::_SendHeart()
.arg(result).arg(error)<<recvJson;
if(!result)
{
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("发送心跳失败![网络错误]"));
//emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("发送心跳失败![网络错误]"));
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
}else
{
if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt())
//QLOG_INFO() << QString("[<<<<---Send Heart Finish: code:%1--->>>>]").arg(recvJson[JSON_STATUSCODE].toInt());
//if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt())
QLOG_INFO() << QString("[<<<<---Send Heart Finish: code:%1--->>>>]").arg(recvJson[JSON_LOGINCODE].toInt());
if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt())
{
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()));
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
}
}
return result;
......@@ -1236,18 +1245,21 @@ void FlowControl::onDailyReport()
void FlowControl::_CrondClearExpireOrder()
{
//QDateTime currentDateTime= QDateTime::currentDateTime();
QDate currentDate = QDate::currentDate();
QDateTime currentDateTime= QDateTime::currentDateTime();
// QDate currentDate = QDate::currentDate();
OrderObject *order=NULL;
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_CrondClearExpireOrder: 清理内存中订单数据的清理日期:%1 --->>>>]").arg(currentDateTime.toString("yyyyMMdd hh:mm:ss"));
m_OrderEntryMutex.lock();
foreach (order, m_FmOrdersMap.values()) {
//QDateTime createDateTime=QDateTime::fromString(order->createTime,"yyyyMMdd 00:00:00");
QDate createDate = QDate::fromString(order->createTime,"yyyyMMdd");
//qint64 days=createDateTime.daysTo(currentDateTime);
qint64 days=createDate.daysTo(currentDate);
if(days>=1)
{
QLOG_INFO()<<QString("[<<<<---Crond Clear Expire Order: orderID:%1--->>>>]").arg(order->id);
QDateTime createDateTime = QDateTime::fromString(order->createTime,"yyyyMMdd hh:mm:ss");
//QDate createDate = QDate::fromString(order->createTime,"yyyyMMdd");
//qint64 days=createDate.daysTo(currentDate);
qint64 seconds = createDateTime.secsTo(currentDateTime);
//创建订单时间,超过当前时间 三十分就进行清理;
qint64 minutes = seconds/(60*30);
if(minutes>=1)
{
QLOG_INFO()<<QString("[<<<<---_CrondClearExpireOrder: ClearExpireOrder: orderID:%1--->>>>]").arg(order->id);
emit clearorder(order->id,order->orderStatus);
m_FmOrdersMap.value(order->id)->deleteLater();
m_simValidOrdersList.removeOne(order->id);
......@@ -1255,6 +1267,7 @@ void FlowControl::_CrondClearExpireOrder()
}
}
m_OrderEntryMutex.unlock();
SimProcOrderDB::getInstance().deleteOrderRecord(QDate::currentDate().addMonths(-1).toString("yyyyMMdd"));
}
......@@ -1357,52 +1370,75 @@ bool FlowControl::_ResponseSimphony04Request(const QJsonObject &content, QJsonOb
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[04:返回小票号] %1订单已经成功推送给simphony:--->>>>]").arg(orderId);
m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo);
}
OrderObject* order_p = m_FmOrdersMap.value(orderId);
OrderObject* order_p = m_FmOrdersMap.value(orderId);
if (!order_p){
QLOG_ERROR()<<QString::fromLocal8Bit("[<<<<---%1订单并不存在m_FmOrdersMap[键值对]中;m_FmOrdersMap.size()=%2--->>>>]").arg(orderId).arg(m_FmOrdersMap.size());
result=false;
error=QString::fromLocal8Bit("%1订单并不存在m_FmOrdersMap[键值对]中;m_FmOrdersMap.size()=%2").arg(orderId).arg(m_FmOrdersMap.size());
return result;
return false;
}
if(m_simValidOrdersList.contains(orderId))
{
/***** 汇报POS小票号是否成功;begin:*********/
bool bRetReportCheckNo = false;
if(order_p->pushOrderType==1)
{
order_p->isPush== true;
SimProcOrderDB::getInstance().updatePushOrderStatus(orderId,1);
SimProcOrderDB::getInstance().updatePosOrderCheckNo(orderId,posCheckNo);
}
else
{
} else {
order_p->isCancle== true;
SimProcOrderDB::getInstance().updateRefundOrderStatus(orderId,1);
}
bRetReportCheckNo = SimProcOrderDB::getInstance().updatePosOrderCheckNo(orderId,posCheckNo);
/***** 解析 汇报POS小票号是否成功:bRetReportCheckNo:true->成功********/
QJsonObject rObj, cObj;
rObj.insert("fm_cmd", "");
rObj.insert("fm_ver", "1.0");
cObj.insert("pay_id", "002");
cObj.insert("pay_str", QString::fromLocal8Bit("非码外卖"));
cObj.insert("paid_trans_id",orderId);
if(bRetReportCheckNo){
// 已经汇报完小票号,因此必须从 m_simValidOrdersList 列表中移除;
m_OrderEntryMutex.lock();
m_simValidOrdersList.removeOne(orderId);
m_OrderEntryMutex.unlock();
}
cObj.insert("reqResult",1); // 汇报POS小票号结果:[1:成功;0:失败]
rObj.insert("pay_id", cObj);
data = rObj;
} /***** 解析 汇报POS小票号是否成功:bRetReportCheckNo:true->成功*****/
else{
result=false;
error=QString::fromLocal8Bit("汇报POS小票号结果失败");
// 即使汇报小票号失败,同样也必须将此订单从 m_simValidOrdersList 列表中移除;
m_OrderEntryMutex.lock();
m_simValidOrdersList.removeOne(orderId);
m_OrderEntryMutex.unlock();
cObj.insert("reqResult",0); // 汇报POS小票号结果:[1:成功;0:失败]
rObj.insert("pay_id", cObj);
data = rObj;
}
}
/* 汇报完小票号后,就必须将其从 m_simValidOrdersList 列表中移除;
else {
//????????????????????????????????????????
order_p->isCancle = false;
order_p->isPush = true;
order_p->pushOrderType = 0;
order_p->pushOrderTimes=0;
m_OrderEntryMutex.lock();
if(!m_simValidOrdersList.contains(orderId))
{
if(!m_simValidOrdersList.contains(orderId)) {
m_simValidOrdersList.append(orderId);
}
m_OrderEntryMutex.unlock();
}
}
else{
} */
} else {
result=false;
error=QString::fromLocal8Bit("订单号或者短号不能为空");
}
}
else{
} else {
result=false;
error=QString::fromLocal8Bit("请求参数错误");
}
......@@ -1412,7 +1448,6 @@ bool FlowControl::_ResponseSimphony04Request(const QJsonObject &content, QJsonOb
bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonObject &data, QString &error)
{
// 从 _ResponseSimphony04Request 函数拷贝过来;未做任何改动;【后期将用05代替04的业务】
QLOG_INFO()<<__FUNCTION__;
bool result=true;
if(m_bLoginResult&&content.contains("orderId")){
......@@ -1425,13 +1460,11 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
}
if(!posCheckNo.isEmpty()&&!orderId.isEmpty())
{
OrderObject* order_p = m_FmOrdersMap.value(orderId);
if (!order_p){
QLOG_ERROR()<<QString::fromLocal8Bit("[<<<<---%1订单并不存在m_FmOrdersMap[键值对]中;m_FmOrdersMap.size()=%2--->>>>]").arg(orderId).arg(m_FmOrdersMap.size());
result=false;
error=QString::fromLocal8Bit("%1订单并不存在m_FmOrdersMap[键值对]中;m_FmOrdersMap.size()=%2").arg(orderId).arg(m_FmOrdersMap.size());
return result;
return false;
}
//更新小票号;
if(!m_orderIdToPosCheckNoMap.contains(orderId))
......@@ -1449,33 +1482,21 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
if(m_simValidOrdersList.contains(orderId))
{
/**** action:04:功能:目前先不使用;
if(order_p->pushOrderType==1)
{
SimProcOrderDB::getInstance().updatePushOrderStatus(orderId,1);
SimProcOrderDB::getInstance().updatePosOrderCheckNo(orderId,posCheckNo);
}
else
{
SimProcOrderDB::getInstance().updateRefundOrderStatus(orderId,1);
}
****/
/***** 更新 POS本地数据库的打印信息是否成功;begin:*********/
int retSyncOrderPrintInfo = 0; //默认是同步POS本地数据失败;
bool bRet = PrintSumBillPosDB::getInstance().isOrderAndCknoSumBillExist(orderId,posCheckNo);
if (bRet){
retSyncOrderPrintInfo = 1;
}
/*****POS本地数据库不存在 orderId &&posCheckNo*********/
} /*****POS本地数据库不存在 orderId &&posCheckNo*********/
else{
bRet = PrintSumBillPosDB::getInstance().insertOrderSumBill(order_p,posCheckNo);
if (bRet){
retSyncOrderPrintInfo = 1;
}
}
/***** 更新 POS本地数据库的打印信息是否成功;end:********/
} /***** 更新 POS本地数据库的打印信息是否成功;end:********/
/***** 解析 同步更新POS本地数据库是否成功:retSyncOrderPrintInfo:1->成功********/
if(retSyncOrderPrintInfo){
// 还没汇报完小票号,因此还不能从 m_simValidOrdersList 列表中移除;
//m_OrderEntryMutex.lock();
//m_simValidOrdersList.removeOne(orderId);
//m_OrderEntryMutex.unlock();
......@@ -1484,95 +1505,25 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
rObj.insert("fm_ver", "1.0");
cObj.insert("pay_id", "002");
cObj.insert("pay_str", QString::fromLocal8Bit("非码外卖"));
int tempOrderType,tempOrderPayType,tempSbkAppPayType=0;
QString tempSbkAppPayValue="0";
// 转换成星巴克规定的订单类型;
//星巴克的订单类型:1:新订单; 2:预订单; 3:客诉单;
if(3 == order_p->getOrderType()){
tempOrderType = 12;
tempOrderPayType = 21;
}
// OMS提供的数据://订单渠道: 星巴克APP,百度外卖,饿了么APP,美团外卖 ;
else if("MOD" == order_p->channel){
tempOrderType = 9;
tempOrderPayType = 84;
//星巴克App端支付方式: 1:支付宝; 2:微信; 3:银联; 4:SVC卡;
if(4 == order_p->payWay){
tempSbkAppPayType = 14 ;
tempSbkAppPayValue = order_p->payfmId;
}else if(1 == order_p->payWay){
tempSbkAppPayType = 78;
tempSbkAppPayValue = order_p->id;
}else if(2 == order_p->payWay){
tempSbkAppPayType = 77;
tempSbkAppPayValue = order_p->id;
}else{
tempSbkAppPayType = -1;
tempSbkAppPayValue = "-1";
}
}else if("BAIDU" == order_p->channel){
tempOrderType = 11;
tempOrderPayType = 83;
}else if("ELE" == order_p->channel){
tempOrderType = 11;
tempOrderPayType = 83;
}else if("MEITUAN" == order_p->channel){
tempOrderType = 11;
tempOrderPayType = 83;
}else{
tempOrderType = 11;
tempOrderPayType = 83;
}
cObj.insert("orderOriginType", tempOrderType);
cObj.insert("orderPayType", tempOrderPayType);
cObj.insert("sbkAppPayType", tempSbkAppPayType);
cObj.insert("sbkAppPayValue", tempSbkAppPayValue);
cObj.insert("packFree", order_p->packageFee);
cObj.insert("deliveryFree", order_p->deliveryPrice);
cObj.insert("retSyncOrderPrintInfo",retSyncOrderPrintInfo); //同步POS本地数据库打印信息结果:[1:同步成功;0:同步失败]
cObj.insert("reqResult",retSyncOrderPrintInfo); //同步POS本地数据库打印信息结果:[1:同步成功;0:同步失败]
cObj.insert("paid_trans_id",orderId);
cObj.insert("pos_sale_id", posCheckNo);
cObj.insert("products_fee", order_p->productPrice); // 商品金额
cObj.insert("discount_fee", 0); // 优惠总额
//只有星巴克App 才挂MSR的虚拟卡号;第三方App MSR_NO='-1';
QString temp_MSR_NO;
if("MOD"==order_p->channel){
temp_MSR_NO = (order_p->msr_no.length()==0)?order_p->customerId:order_p->msr_no;
temp_MSR_NO = (temp_MSR_NO.length()==0)?QString::fromLocal8Bit("no_MsrNo_no_CustomerId"):temp_MSR_NO;
}else{
temp_MSR_NO = "-1";
}
cObj.insert("msr_card_no",temp_MSR_NO) ; // MSR卡号
rObj.insert("pay_id", cObj);
data = rObj;
}
/***** 解析 同步更新POS本地数据库是否成功:retSyncOrderPrintInfo:0->失败*****/
} /***** 解析 同步更新POS本地数据库是否成功:retSyncOrderPrintInfo:0->失败*****/
else{
result=false;
error=QString::fromLocal8Bit("POS本地数据库的打印信息操作失败");
}
}
else{
/**** action:04:功能:目前先不使用;
order_p->isCancle = false;
order_p->isPush = true;
order_p->pushOrderType = 0;
order_p->pushOrderTimes=0;
****/
} else {
m_OrderEntryMutex.lock();
if(!m_simValidOrdersList.contains(orderId))
{
m_simValidOrdersList.append(orderId);
}
m_OrderEntryMutex.unlock();
}
}
else{
} else {
result=false;
error=QString::fromLocal8Bit("订单号或者短号不能为空");
}
error=QString::fromLocal8Bit("订单编号 和 POS小票号不能为空");
}
else{
} else {
result=false;
error=QString::fromLocal8Bit("请求参数错误");
}
......@@ -1693,10 +1644,10 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
tempSbkAppPayValue = orderObject->payfmId;
}else if(1 == orderObject->payWay){
tempSbkAppPayType = 78;
tempSbkAppPayValue = orderObject->id;
tempSbkAppPayValue = orderObject->thirdPartyBatch;
}else if(2 == orderObject->payWay){
tempSbkAppPayType = 77;
tempSbkAppPayValue = orderObject->id;
tempSbkAppPayValue = orderObject->thirdPartyBatch;
}else{
tempSbkAppPayType = -1;
tempSbkAppPayValue = "-1";
......@@ -1723,6 +1674,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
cObj.insert("orderPayType", tempOrderPayType);
cObj.insert("sbkAppPayType", tempSbkAppPayType);
cObj.insert("sbkAppPayValue", tempSbkAppPayValue);
cObj.insert("orderTransFlowNo", orderObject->thirdPartyBatch); //第三方交易流水号
cObj.insert("packFree", orderObject->packageFee);
cObj.insert("deliveryFree", orderObject->deliveryPrice);
cObj.insert("pos_sale_id", orderObject->posCheckNo);
......@@ -1907,15 +1859,15 @@ void FlowControl::onGetOrderDetails(const QString& orderId)
void FlowControl::onSerachOrder(const QString &text)
{
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FlowControl::onSerachOrder:输入的数字串:%1 --->>>>]").arg(text);
QMap<QString,QString> orderMap;
if(!text.isEmpty())
{
QMap<QString, OrderObject*>::iterator order;
for(order = m_FmOrdersMap.begin(); order!=m_FmOrdersMap.end(); order++)
{
QString orderId = order.key();
QString phoneId = order.value()->phone;
QString phoneId = order.value()->consigneePhone;
while (!orderId.at(0).isDigit())
{
orderId = orderId.mid(1);
......
......@@ -12,6 +12,7 @@ class OrderObject : public QObject
Q_PROPERTY (QString id READ getId WRITE setId)
Q_PROPERTY (QString payfmId READ getPayfmId WRITE setPayfmId)
Q_PROPERTY (QString thirdPartyBatch READ getThirdPartyBatch WRITE setThirdPartyBatch)
Q_PROPERTY (int orderType READ getOrderType WRITE setOrderType)
Q_PROPERTY (QString orgOrderId READ getOrgOrderId WRITE setOrgOrderId)
Q_PROPERTY (QString waybillId READ getWaybillId WRITE setWaybillId)
......@@ -87,6 +88,7 @@ public:
QString id; //编号
QString payfmId; //FM唯一码
QString thirdPartyBatch; //第三方交易流水号
int orderType; //订单类型: 用来区分是 正常订单(1) 预订单(2) 还是 客诉单:3 (星巴克定义客诉单的类型:12);
QString orgOrderId; //原始订单编号
QString waybillId; //运单号
......@@ -150,6 +152,10 @@ public:
inline QString getPayfmId()const{return payfmId;}
inline void setPayfmId(const QString& v){payfmId = v;}
inline QString getThirdPartyBatch()const{return thirdPartyBatch;}
inline void setThirdPartyBatch(const QString& v){thirdPartyBatch = v;}
inline int getOrderType()const{return orderType;}
inline void setOrderType(const int& v){orderType = v;}
......
......@@ -4,6 +4,7 @@
#include "preDefine.h"
#include <QEventLoop>
#include <QTimer>
#include <QFile>
#include <QSslConfiguration>
BillSocket::BillSocket(QObject *parent)
......@@ -99,4 +100,30 @@ void BillSocket::SetSslConfig()
m_sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
m_sslConfig.setProtocol(QSsl::AnyProtocol);
m_networkRequest.setSslConfiguration(m_sslConfig);
/*
QSslConfiguration m_sslConfig = QSslConfiguration::defaultConfiguration();
QString keyDir = QGuiApplication::applicationDirPath() + "/key/";
// 创建客户端证书
QFile fileCrt(keyDir+"客户端证书.pem");
if (!fileCrt.open(QIODevice::ReadOnly))
qDebug() << "!fileCrt.open==" ;
const QSslCertificate certificate(&fileCrt, QSsl::Pem);
fileCrt.close();
// 创建客户端私钥
QFile fileKey(keyDir+"key.pem");
fileKey.open(QIODevice::ReadOnly);
const QSslKey prvateKey(&fileKey, QSsl::Rsa);
fileKey.close();
m_sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
m_sslConfig.setProtocol(QSsl::TlsV1_0);
m_sslConfig.setPrivateKey(prvateKey);
m_sslConfig.setLocalCertificate(certificate);
//加入ssl配置信息
m_networkRequest.setSslConfiguration(m_sslConfig);
m_networkR
*/
}
......@@ -35,6 +35,7 @@ MainForm::MainForm(QWidget *parent) :
qRegisterMetaType<dishesObject>("dishesObject");
qRegisterMetaType< QMap< QString, QMultiMap<QString, dishesObject> > >("QMap<QString, QMultiMap<QString, dishesObject>>");
qRegisterMetaType< QMap<QString, int> >("QMap<QString, int>");
qRegisterMetaType< QMap<QString, QString> >("QMap<QString, QString>");
// 连接信号槽
connect(&m_timeTimer, &QTimer::timeout, this, &MainForm::onSetCurrentTime);
......@@ -96,7 +97,7 @@ void MainForm::MyShow()
m_resultForm = new QListWidget(this);
m_resultForm->setObjectName("mainListWdg0");
m_resultForm->setFixedSize(340, 200);
m_resultForm->setFixedSize(400, 200);
m_resultForm->move(70, ui->mainFrmSearch->pos().y()-190);
m_resultForm->hide();
connect(m_resultForm, &QListWidget::itemClicked, this, &MainForm::onSearchResultItemClicked);
......@@ -180,11 +181,9 @@ void MainForm::onMainTabBtnClicked()
_RevertBtnTable();
QPushButton *btn = (QPushButton*)sender();
m_currentTable = findChild<QTableWidget*>(btn->property("tableName").toString());
m_currentTable->show();
btn->setChecked(true);
btn->setEnabled(false);
m_prevBtn = btn;
m_prevTable = m_currentTable;
}
......@@ -216,9 +215,8 @@ void MainForm::onShowOrderDetails(OrderObject *orderObject)
void MainForm::onShowSearchOrderResult(const QMap<QString,QString>& orderIdList)
{
if(orderIdList.isEmpty())
{
QLOG_INFO() << QString("[<<<<---MainForm::onShowSearchOrderResult: orderIdList.length:%1 --->>>>]").arg(orderIdList.count());
if(orderIdList.isEmpty()) {
m_resultForm->hide();
return;
}
......@@ -271,6 +269,8 @@ void MainForm::_SetTablesSortEnable(bool bEnable)
foreach (QTableWidget *table, m_tableList)
{
table->setSortingEnabled(bEnable);
// 默认按 第六列的订单创建时间降序;
table->sortByColumn(5,Qt::DescendingOrder);
}
}
......
......@@ -1017,7 +1017,7 @@
</column>
<column>
<property name="text">
<string>操作</string>
<string>异常原因</string>
</property>
</column>
</widget>
......
......@@ -55,6 +55,7 @@
#define JSON_USERID "userId"
#define JSON_BUSINESSDATE "business_date"
#define JSON_STATUSCODE "statusCode"
#define JSON_LOGINCODE "code"
#define JSON_ERRCODE "code"
#define JSON_STATUS "status"
#define JSON_ORDERSTATUS "orderStatus"
......
......@@ -8,18 +8,15 @@ refDishesForm::refDishesForm(QWidget *parent) :
ui(new Ui::refDishesForm)
{
ui->setupUi(this);
setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);
this->setModal(true);
connect(this, &refDishesForm::updDishes, &FlowControl::GetInstance(), &FlowControl::onUpdDishesForRef);
}
refDishesForm::~refDishesForm()
{
delete ui;
}
void refDishesForm::InitData(OrderObject *obj)
......@@ -81,11 +78,12 @@ void refDishesForm::InitData(OrderObject *obj)
void refDishesForm::_Init()
{
ui->refDishesBtnOk->setEnabled(false);
foreach(QPushButton* btn, m_btnList)
{
QWidget* parentQWid = btn->parentWidget();
disconnect(btn, &QPushButton::toggled, this, &refDishesForm::onDishesBtnToggled);
delete btn;
parentQWid->deleteLater();
}
m_btnList.clear();
......@@ -99,6 +97,7 @@ void refDishesForm::_Init()
{
ui->refDishesTable->removeRow(i);
}
ui->refDishesTable->clear();
m_dishesMap.clear();
}
......
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