Commit 6cfd0ff6 by unknown

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

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