Commit 6cfd0ff6 by unknown

订单搜索支持手机号,新增主动退单功能,修改逻辑骑士接单后再打印订单

parent 8d0ad6ad
...@@ -156,6 +156,7 @@ bool FlowControl::_PullOrder() ...@@ -156,6 +156,7 @@ bool FlowControl::_PullOrder()
{ {
//旧数据有更新 //旧数据有更新
int oldStatus = orderObject->status; int oldStatus = orderObject->status;
QString oldcourier = orderObject->courier_name;
orderObject->FromJson(jsonObject); orderObject->FromJson(jsonObject);
QLOG_INFO() << QString("old order[%1:%2].[data:%3]") QLOG_INFO() << QString("old order[%1:%2].[data:%3]")
.arg(orderObject->order_id, orderObject->status_desc) .arg(orderObject->order_id, orderObject->status_desc)
...@@ -164,6 +165,18 @@ bool FlowControl::_PullOrder() ...@@ -164,6 +165,18 @@ bool FlowControl::_PullOrder()
{ {
emit changeOrderStatus(orderObject, oldStatus); emit changeOrderStatus(orderObject, oldStatus);
} }
if(oldcourier!=orderObject->courier_name)
{
// 打印
QLOG_INFO() << QString("[---begin print---].");
if(FmPrinter::GetInstance().DoPrint(ConfigManger::GetInstance().GetPrinterName(), orderObject))
{
QLOG_INFO() << QString("print sucessful");
}else
{
QLOG_INFO() << QString("print failed");
}
}
} }
m_timestamp = orderObject->timestamp; m_timestamp = orderObject->timestamp;
...@@ -251,14 +264,15 @@ bool FlowControl::_ConfirmOrder(const QString &orderId, const DeliverObject &del ...@@ -251,14 +264,15 @@ bool FlowControl::_ConfirmOrder(const QString &orderId, const DeliverObject &del
emit showAlert(AlertForm::LOADING, "正在写入销售单......"); emit showAlert(AlertForm::LOADING, "正在写入销售单......");
// 写入销售单 // 写入销售单
QLOG_INFO() << QString("[---begin entry order---]."); // TODO
if(!FmPlugin::GetInstance().DoOrderEntry(orderObject, error)) // QLOG_INFO() << QString("[---begin entry order---].");
{ // if(!FmPlugin::GetInstance().DoOrderEntry(orderObject, error))
while(!FmPlugin::GetInstance().DoOrderEntry(orderObject, error, true)) // {
{ // while(!FmPlugin::GetInstance().DoOrderEntry(orderObject, error, true))
QLOG_INFO() << QString("entry order failed[%1]").arg(error); // {
} // QLOG_INFO() << QString("entry order failed[%1]").arg(error);
} // }
// }
QLOG_INFO() << QString("[entry order success]."); QLOG_INFO() << QString("[entry order success].");
QString remark(orderObject->remark), deliveryTime; QString remark(orderObject->remark), deliveryTime;
...@@ -272,16 +286,6 @@ bool FlowControl::_ConfirmOrder(const QString &orderId, const DeliverObject &del ...@@ -272,16 +286,6 @@ bool FlowControl::_ConfirmOrder(const QString &orderId, const DeliverObject &del
// TODO 服务器端现还未开发 // TODO 服务器端现还未开发
//orderObject->status_desc = recvJson[JSON_STATUSDESC].toString(); //orderObject->status_desc = recvJson[JSON_STATUSDESC].toString();
emit changeOrderStatus(orderObject, oldStatus); emit changeOrderStatus(orderObject, oldStatus);
// 打印
QLOG_INFO() << QString("[---begin print---].");
if(FmPrinter::GetInstance().DoPrint(ConfigManger::GetInstance().GetPrinterName(), orderObject))
{
QLOG_INFO() << QString("print sucessful");
}else
{
QLOG_INFO() << QString("print failed");
}
} }
} }
...@@ -511,7 +515,8 @@ void FlowControl::onProcessOrder(const QString &operation, const QString &orderI ...@@ -511,7 +515,8 @@ void FlowControl::onProcessOrder(const QString &operation, const QString &orderI
{ {
if(!operation.compare(OPERATION_GETDELIVERS)) if(!operation.compare(OPERATION_GETDELIVERS))
{ {
_GetDelivers(orderId); //_GetDelivers(orderId);
_ConfirmOrder(orderId, deliverObj);
}else if(!operation.compare(OPERATION_CONFRIM)) }else if(!operation.compare(OPERATION_CONFRIM))
{ {
_ConfirmOrder(orderId, deliverObj); _ConfirmOrder(orderId, deliverObj);
...@@ -533,32 +538,39 @@ void FlowControl::onProcessOrder(const QString &operation, const QString &orderI ...@@ -533,32 +538,39 @@ void FlowControl::onProcessOrder(const QString &operation, const QString &orderI
} }
} }
void FlowControl::onGetOrderDetails(const QString &orderId) void FlowControl::onGetOrderDetails(const QString& orderId)
{ {
emit hideAlert(); emit hideAlert();
qDebug()<<orderId;
emit showOrderDetails(m_ordersMap.value(orderId)); emit showOrderDetails(m_ordersMap.value(orderId));
} }
void FlowControl::onSerachOrder(const QString &text) void FlowControl::onSerachOrder(const QString &text)
{ {
QStringList orderIdList; QMap<QString,QString> orderMap;
if(!text.isEmpty()) if(!text.isEmpty())
{ {
QMap<QString, OrderObject*>::iterator order; QMap<QString, OrderObject*>::iterator order;
for(order = m_ordersMap.begin(); order!=m_ordersMap.end(); order++) for(order = m_ordersMap.begin(); order!=m_ordersMap.end(); order++)
{ {
QString orderId = order.key(); QString orderId = order.key();
QString phoneId = order.value()->phone;
while (!orderId.at(0).isDigit()) while (!orderId.at(0).isDigit())
{ {
orderId = orderId.mid(1); orderId = orderId.mid(1);
} }
if(orderId.startsWith(text)) if(orderId.startsWith(text))
{ {
orderIdList.append(order.key()); orderMap.insert("订单号:"+orderId,"手机号:"+phoneId);
}
if(phoneId.startsWith(text))
{
orderMap.insert("订单号:"+orderId,"手机号:"+phoneId);
} }
} }
} }
emit showSearchOrderResult(orderIdList); emit showSearchOrderResult(orderMap);
} }
...@@ -91,7 +91,7 @@ signals: ...@@ -91,7 +91,7 @@ signals:
* 参数:[1]搜索结果 * 参数:[1]搜索结果
* 返回:NULL * 返回:NULL
* */ * */
void showSearchOrderResult(const QStringList& orderIdList); void showSearchOrderResult(const QMap<QString,QString>& orderMap);
private slots: private slots:
/* 功能:登录 /* 功能:登录
...@@ -162,7 +162,7 @@ public slots: ...@@ -162,7 +162,7 @@ public slots:
* 参数:NULL * 参数:NULL
* 返回:NULL * 返回:NULL
* */ * */
void onGetOrderDetails(const QString& orderId); void onGetOrderDetails(const QString &orderId);
/* 功能:搜索订单 /* 功能:搜索订单
* 参数:[1]搜索内容 * 参数:[1]搜索内容
* 返回:NULL * 返回:NULL
......
...@@ -19,10 +19,18 @@ QString GetOperByStatus(int status, bool bRefuse) ...@@ -19,10 +19,18 @@ QString GetOperByStatus(int status, bool bRefuse)
return OPERATION_GETDELIVERS; return OPERATION_GETDELIVERS;
break; break;
case 2: case 2:
if(bRefuse)
{
return OPERATION_REFUNDORDER;
}
return OPERATION_SENDOUT; return OPERATION_SENDOUT;
break; break;
case 5: case 5:
case 4: case 4:
if(bRefuse)
{
return OPERATION_REFUNDORDER;
}
return OPERATION_COMPLETE; return OPERATION_COMPLETE;
break; break;
case 6: case 6:
...@@ -54,10 +62,18 @@ QString GetOperNameByStatus(int status, bool bRefuse) ...@@ -54,10 +62,18 @@ QString GetOperNameByStatus(int status, bool bRefuse)
return OPERATIONNAME_GETDELIVERS; return OPERATIONNAME_GETDELIVERS;
break; break;
case 2: case 2:
if(bRefuse)
{
return OPERATIONNAME_REFUNDORDER;
}
return OPERATIONNAME_SENDOUT; return OPERATIONNAME_SENDOUT;
break; break;
case 5: case 5:
case 4: case 4:
if(bRefuse)
{
return OPERATIONNAME_REFUNDORDER;;
}
return OPERATIONNAME_COMPLETE; return OPERATIONNAME_COMPLETE;
break; break;
case 6: case 6:
......
...@@ -74,7 +74,7 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -74,7 +74,7 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailBtn2->setText(GetOperNameByStatus(orderObject->status, true)); ui->detailBtn2->setText(GetOperNameByStatus(orderObject->status, true));
ui->detailBtn2->setProperty("operation", GetOperByStatus(orderObject->status, true)); ui->detailBtn2->setProperty("operation", GetOperByStatus(orderObject->status, true));
ui->detailBtn2->setProperty("orderId", orderObject->order_id); ui->detailBtn2->setProperty("orderId", orderObject->order_id);
if(orderObject->status != 1 && orderObject->status != 20) if(orderObject->status != 1 && orderObject->status != 20&& orderObject->status != 2&& orderObject->status != 4)
{ {
ui->detailBtn2->hide(); ui->detailBtn2->hide();
} }
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "QsLog.h" #include "QsLog.h"
#include "DTools/util.h" #include "DTools/util.h"
#include <QList> #include <QList>
#include <QMap>
MainForm::MainForm(QWidget *parent) : MainForm::MainForm(QWidget *parent) :
QWidget(parent), QWidget(parent),
...@@ -29,6 +30,7 @@ MainForm::MainForm(QWidget *parent) : ...@@ -29,6 +30,7 @@ MainForm::MainForm(QWidget *parent) :
qRegisterMetaType<DeliverObject>("DeliverObject"); qRegisterMetaType<DeliverObject>("DeliverObject");
qRegisterMetaType< QList<DeliverObject> >("QList<DeliverObject>"); qRegisterMetaType< QList<DeliverObject> >("QList<DeliverObject>");
qRegisterMetaType<AlertForm::Type>("AlertForm::Type"); qRegisterMetaType<AlertForm::Type>("AlertForm::Type");
qRegisterMetaType<QMap<QString,QString>>("QMap<QString,int>");
// 连接信号槽 // 连接信号槽
connect(&m_timeTimer, &QTimer::timeout, this, &MainForm::onSetCurrentTime); connect(&m_timeTimer, &QTimer::timeout, this, &MainForm::onSetCurrentTime);
...@@ -82,7 +84,7 @@ void MainForm::MyShow() ...@@ -82,7 +84,7 @@ void MainForm::MyShow()
m_resultForm = new QListWidget(this); m_resultForm = new QListWidget(this);
m_resultForm->setObjectName("mainListWdg0"); m_resultForm->setObjectName("mainListWdg0");
m_resultForm->setFixedSize(240, 200); m_resultForm->setFixedSize(340, 200);
m_resultForm->move(70, ui->mainFrmSearch->pos().y()-190); m_resultForm->move(70, ui->mainFrmSearch->pos().y()-190);
m_resultForm->hide(); m_resultForm->hide();
connect(m_resultForm, &QListWidget::itemClicked, this, &MainForm::onSearchResultItemClicked); connect(m_resultForm, &QListWidget::itemClicked, this, &MainForm::onSearchResultItemClicked);
...@@ -186,15 +188,23 @@ void MainForm::onShowOrderDetails(OrderObject *orderObject) ...@@ -186,15 +188,23 @@ void MainForm::onShowOrderDetails(OrderObject *orderObject)
m_detailForm->show(); m_detailForm->show();
} }
void MainForm::onShowSearchOrderResult(const QStringList &orderIdList) void MainForm::onShowSearchOrderResult(const QMap<QString,QString>& orderIdList)
{ {
if(orderIdList.isEmpty()) if(orderIdList.isEmpty())
{ {
m_resultForm->hide(); m_resultForm->hide();
return; return;
} }
m_resultForm->clear(); m_resultForm->clear();
m_resultForm->addItems(orderIdList); QMap<QString,QString>::const_iterator order;
qDebug()<<orderIdList;
for(order=orderIdList.begin(); order!=orderIdList.end(); order++)
{
QListWidgetItem* item=new QListWidgetItem();
item->setText(order.key()+" "+order.value());
m_resultForm->addItem(item);
}
m_resultForm->show(); m_resultForm->show();
} }
...@@ -393,5 +403,9 @@ void MainForm::onSearchResultItemClicked(QListWidgetItem *item) ...@@ -393,5 +403,9 @@ void MainForm::onSearchResultItemClicked(QListWidgetItem *item)
ui->mainEdtSearch->clear(); ui->mainEdtSearch->clear();
m_padForm->hide(); m_padForm->hide();
m_resultForm->hide(); m_resultForm->hide();
emit getOrderDetails(item->text()); QString str=item->text();
str=str.mid(4);
QString y = " ";
str=str.mid(0,str.indexOf(y));
emit getOrderDetails(str);
} }
...@@ -65,6 +65,8 @@ private: ...@@ -65,6 +65,8 @@ private:
// 托盘图标 // 托盘图标
SysTray m_tray; SysTray m_tray;
// 订单号长度
int m_orderIdSize;
/* 功能:还原按钮和表 /* 功能:还原按钮和表
* 参数:NULL * 参数:NULL
...@@ -227,7 +229,7 @@ public slots: ...@@ -227,7 +229,7 @@ public slots:
* 参数:[1]订单搜索结果 * 参数:[1]订单搜索结果
* 返回:NULL * 返回:NULL
* */ * */
void onShowSearchOrderResult(const QStringList& orderIdList); void onShowSearchOrderResult(const QMap<QString, QString> &orderIdList);
}; };
#endif // MAINFORM_H #endif // MAINFORM_H
No preview for this file type
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