Commit fbaea4c6 by yunpeng.song

对接新接口

parent 5565ea3f
...@@ -30,15 +30,6 @@ private: ...@@ -30,15 +30,6 @@ private:
FlowControl(FlowControl const&); FlowControl(FlowControl const&);
FlowControl& operator=(FlowControl const&); FlowControl& operator=(FlowControl const&);
// typedef struct ORDER_PROPERPY
// {
// bool bReaded;//是否成功入账过
// bool bCancled;//是否成功退款入账过
// bool entryType;//入账类型
// int pullNum;//入账失败次数
// //QDateTime btimeStamp;
// }OrderProperpy;
typedef struct TOPULL_ORDER typedef struct TOPULL_ORDER
{ {
int pageSize; int pageSize;
...@@ -68,11 +59,11 @@ private: ...@@ -68,11 +59,11 @@ private:
QTimer *m_clearTimer; QTimer *m_clearTimer;
QTimer *m_heartTimer; QTimer *m_heartTimer;
QTimer *m_pullTimer; QTimer *m_pullTimer;
QTimer *m_operateTimer;
QTimer *m_loginTimer; QTimer *m_loginTimer;
// 网络通信 // 网络通信
BillSocket *m_loginSocket; BillSocket *m_loginSocket;
BillSocket *m_pullOrderSocket; BillSocket *m_pullOrderSocket;
BillSocket *m_pullOrderListSocket;
BillSocket *m_procOrderSocket; BillSocket *m_procOrderSocket;
BillSocket *m_pullDishesSocket; BillSocket *m_pullDishesSocket;
// 订单容器 // 订单容器
...@@ -94,9 +85,7 @@ private: ...@@ -94,9 +85,7 @@ private:
//订单拉取记录 //订单拉取记录
QList<PullOrderInfo> m_orderPullList; QList<PullOrderInfo> m_orderPullList;
//订单操作互斥信号 //订单操作互斥信号
QSemaphore semaphore; //QSemaphore semaphore;
//订单操作状态
OrderOperation orderOperation;
QMutex m_OrderEntryMutex; QMutex m_OrderEntryMutex;
signals: signals:
...@@ -194,10 +183,20 @@ private slots: ...@@ -194,10 +183,20 @@ private slots:
* */ * */
bool _Login(); bool _Login();
/* 功能:拉取订单 /* 功能:拉取订单
* 参数:[1]订单编号
* 返回:是否成功
* */
void _PullOrder();
/* 功能:拉取指定订单
* 参数:[1]订单编号
* 返回:是否成功
* */
bool _PullOrderDetail(const QString &orderId);
/* 功能:拉取订单
* 参数:NULL * 参数:NULL
* 返回:是否成功 * 返回:是否成功
* */ * */
bool _PullOrder(); bool _PullOrderList(const int &pageSize, const int &pageNo);
/* 功能:发送心跳 /* 功能:发送心跳
* 参数:NULL * 参数:NULL
* 返回:是否成功 * 返回:是否成功
...@@ -258,20 +257,17 @@ private slots: ...@@ -258,20 +257,17 @@ private slots:
bool _Get12ReplyJson(const QJsonObject &content, QJsonObject &data,QString &error); bool _Get12ReplyJson(const QJsonObject &content, QJsonObject &data,QString &error);
bool _GetLoginReplyJson(const QJsonObject &content, QString &error); bool _GetLoginReplyJson(const QJsonObject &content, QString &error);
bool _GetQueryReplyJson(QJsonObject &data,QString &error, const QString &orderId); bool _GetQueryReplyJson(QJsonObject &data,QString &error, const QString &orderId);
void _HandleOrderOperation(const QString& orderId);
void _OperateTimeOut();
// 单位转换 // 单位转换
QString _Penny2Dollar(int penny); QString _Penny2Dollar(int penny);
QString _GetIpAddress(); QString _GetIpAddress();
void _AddOrderPull(const QString& orderId,const QString& channel,const int& pageNumber=1,const int& pageSize=100); void _AddOrderPull(const QString& orderId=0,const QString& channel=0,const int& pageNumber=1,const int& pageSize=100);
void _GetOrder(const QString& orderId,const QString& channel); void _GetOrder(const QString& orderId,const QString& channel);
//点击屏幕指定区域 //点击屏幕指定区域
void _ClickOMSAssignArea(); void _ClickOMSAssignArea();
void _ClickToLogin(); void _ClickToLogin();
void _StartOperateTimer(); void _OrderAnalysis(const QJsonObject &jsonObject);
......
...@@ -63,17 +63,11 @@ QJsonObject DataManger::GetHeartData(const QString &password, ...@@ -63,17 +63,11 @@ QJsonObject DataManger::GetHeartData(const QString &password,
return rObj; return rObj;
} }
QJsonObject DataManger::GetPullOrderData(const QString &orderId, const QString &channel, QJsonObject DataManger::GetPullOrderListData(const int& pageNumber, const int& pageSize)
const int& pageNumber, const int& pageSize)
{ {
QJsonObject rObj; QJsonObject rObj;
if(orderId.isEmpty()) rObj.insert(JSON_PAGENUMBER,pageNumber);
{ rObj.insert(JSON_PAGESIZE,pageSize);
rObj.insert(JSON_PAGENUMBER,pageNumber);
rObj.insert(JSON_PAGESIZE,pageSize);
}
rObj.insert(JSON_BUSINESSID,orderId);
rObj.insert(JSON_CHANNEL, channel);
rObj.insert(JSON_SHOPCODE,m_storeId); rObj.insert(JSON_SHOPCODE,m_storeId);
//rObj.insert(JSON_AUTOCONFIRM, autoconfirm); //rObj.insert(JSON_AUTOCONFIRM, autoconfirm);
return rObj; return rObj;
...@@ -136,15 +130,15 @@ QJsonObject DataManger::GetCompleteOrderData(const QString &orderId) ...@@ -136,15 +130,15 @@ QJsonObject DataManger::GetCompleteOrderData(const QString &orderId)
QJsonObject DataManger::GetRefundOrderData(int reasonCode,const QString &reason, const QString &orderId,const QString& channel) QJsonObject DataManger::GetRefundOrderData(int reasonCode,const QString &reason, const QString &orderId,const QString& channel)
{ {
QJsonObject rObj; QJsonObject rObj;
rObj.insert(JSON_BUSINESSID, orderId); rObj.insert(JSON_ORDERID, orderId);
//TEST //TEST
//rObj.insert(JSON_REASON, "其它"); //rObj.insert(JSON_REASON, "其它");
rObj.insert(JSON_REASON, reason); rObj.insert("canceledCause", reason);
rObj.insert(JSON_CODE, reasonCode); // rObj.insert(JSON_CODE, reasonCode);
rObj.insert(JSON_CHANNEL,channel); // rObj.insert(JSON_CHANNEL,channel);
rObj.insert(JSON_SHOPCODE, m_storeId); // rObj.insert(JSON_SHOPCODE, m_storeId);
return rObj; return rObj;
} }
......
...@@ -39,8 +39,7 @@ public: ...@@ -39,8 +39,7 @@ public:
* 参数:[1]时间戳 * 参数:[1]时间戳
* 返回:登录数据 * 返回:登录数据
* */ * */
QJsonObject GetPullOrderData(const QString& orderId, const QString &channel, QJsonObject GetPullOrderListData(const int &pageNumber=0, const int &pageSize=100);
const int &pageNumber=0, const int &pageSize=100);
/* 功能:获取拉取配送员数据 /* 功能:获取拉取配送员数据
* 参数:[1]门店号[2]渠道代码 * 参数:[1]门店号[2]渠道代码
* 返回:登录数据 * 返回:登录数据
......
...@@ -16,7 +16,7 @@ void SysTray::_CreatMenu() ...@@ -16,7 +16,7 @@ void SysTray::_CreatMenu()
{ {
m_menu = new QMenu(); m_menu = new QMenu();
m_menu->setObjectName("trayMenu"); m_menu->setObjectName("trayMenu");
QAction *acQuit = new QAction("退出", m_menu); QAction *acQuit = new QAction(QString::fromLocal8Bit("退出"), m_menu);
connect(acQuit, &QAction::triggered, this, &SysTray::onActionQuitTriggered); connect(acQuit, &QAction::triggered, this, &SysTray::onActionQuitTriggered);
m_menu->addAction(acQuit); m_menu->addAction(acQuit);
......
...@@ -57,24 +57,24 @@ QString GetOperNameByStatus(int status, bool bRefuse) ...@@ -57,24 +57,24 @@ QString GetOperNameByStatus(int status, bool bRefuse)
case 1: case 1:
if(bRefuse) if(bRefuse)
{ {
return OPERATIONNAME_REFUSE; return QString::fromLocal8Bit(OPERATIONNAME_REFUSE);
} }
return OPERATIONNAME_GETDELIVERS; return QString::fromLocal8Bit(OPERATIONNAME_GETDELIVERS);
break; break;
case 2: case 2:
if(bRefuse) if(bRefuse)
{ {
return OPERATIONNAME_REFUNDORDER; return QString::fromLocal8Bit(OPERATIONNAME_REFUNDORDER);
} }
return OPERATIONNAME_SENDOUT; return QString::fromLocal8Bit(OPERATIONNAME_SENDOUT);
break; break;
case 5: case 5:
case 4: case 4:
if(bRefuse) if(bRefuse)
{ {
return OPERATIONNAME_REFUNDORDER;; return QString::fromLocal8Bit(OPERATIONNAME_REFUNDORDER);
} }
return OPERATIONNAME_COMPLETE; return QString::fromLocal8Bit(OPERATIONNAME_COMPLETE);
break; break;
case 6: case 6:
case 200: case 200:
...@@ -83,9 +83,9 @@ QString GetOperNameByStatus(int status, bool bRefuse) ...@@ -83,9 +83,9 @@ QString GetOperNameByStatus(int status, bool bRefuse)
case 20: case 20:
if(bRefuse) if(bRefuse)
{ {
return OPERATIONNAME_REFUSEREFUND; return QString::fromLocal8Bit(OPERATIONNAME_REFUSEREFUND);
} }
return OPERATIONNAME_REFUNDORDER; return QString::fromLocal8Bit(OPERATIONNAME_REFUNDORDER);
break; break;
default: default:
return "NULL"; return "NULL";
......
#include "dishesObject.h" #include "dishesObject.h"
#include <QJsonArray>
dishesObject::dishesObject(const dishesObject &dish, QObject *parent):QObject(parent)
{
qDeleteAll(sub_products);
sub_products.clear();
const QMetaObject *m = dish.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{
QMetaProperty qmp = m->property(i);
QString key = QString::fromLatin1(qmp.name());
QVariant value = dish.property(key.toUtf8());
this->setProperty(key.toUtf8(), value);
}
foreach (auto ptr, dish.sub_products) {
dishesObject *product=new dishesObject(*ptr,this);
this->sub_products.append(product);
}
}
dishesObject& dishesObject::operator =(const dishesObject& dish)
{
qDeleteAll(sub_products);
sub_products.clear();
const QMetaObject *m = dish.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{
QMetaProperty qmp = m->property(i);
QString key = QString::fromLatin1(qmp.name());
QVariant value = dish.property(key.toUtf8());
this->setProperty(key.toUtf8(), value);
}
foreach (auto ptr, dish.sub_products) {
dishesObject *product=new dishesObject(*ptr,this);
this->sub_products.append(product);
}
return *this;
}
void dishesObject::FetchDataFromJson(const QJsonObject &json)
{
foreach(QString key, json.keys())
{
setProperty(key.toUtf8(), json[key].toVariant());
}
qDeleteAll(sub_products);
sub_products.clear();
QJsonArray subDishesArray = json["sub_products"].toArray();
foreach(QJsonValue subDish, subDishesArray)
{
dishesObject *item = new dishesObject(this);
item->FetchDataFromJson(subDish.toObject());
sub_products.append(item);
}
return;
}
#ifndef DISHESOBJECT_H #ifndef DISHESOBJECT_H
#define DISHESOBJECT_H #define DISHESOBJECT_H
#include <QObject> #include <QObject>
#include "baseObject.h" #include <QJsonObject>
#include <QVariant>
class dishesObject : public BaseObject #include <QMetaProperty>
class dishesObject : public QObject
{ {
Q_OBJECT Q_OBJECT
public: Q_PROPERTY (QString id READ getId WRITE setId)
explicit dishesObject(QObject *parent = 0): Q_PROPERTY (QString specId READ getspecId WRITE setspecId)
BaseObject(parent){}
public:
Q_PROPERTY (QString code READ getcode WRITE setcode)
Q_PROPERTY (QString name READ getname WRITE setname) Q_PROPERTY (QString name READ getname WRITE setname)
Q_PROPERTY (int status READ getstatus WRITE setstatus) Q_PROPERTY (QString specName READ getspecName WRITE setspecName)
Q_PROPERTY (QString pic READ getpic WRITE setpic) Q_PROPERTY (QString code READ getcode WRITE setcode)
Q_PROPERTY (int packagePrice READ getpackagePrice WRITE setpackagePrice)
Q_PROPERTY (int qty READ getqty WRITE setqty)
Q_PROPERTY (int price READ getprice WRITE setprice) Q_PROPERTY (int price READ getprice WRITE setprice)
Q_PROPERTY (QString unit READ getunit WRITE setunit)
Q_PROPERTY (int rank READ getrank WRITE setrank)
Q_PROPERTY (QString description READ getdescription WRITE setdescription)
QString code; public:
explicit dishesObject(QObject *parent = 0):QObject(parent){}
dishesObject(const dishesObject& dish,QObject* parent=0);
dishesObject& operator =(const dishesObject& dish);
void FetchDataFromJson(const QJsonObject &json);
QString id;
QString name; QString name;
int status; QString specId;
QString pic; QString specName;
QString code;
int qty;
int packagePrice;
int price; int price;
QString unit; QList<dishesObject*> sub_products;
int rank;
QString description;
protected: protected:
inline QString getcode(){ return code; } inline QString getId(){ return id; }
inline void setcode(const QString& v){ code=v; } inline void setId(const QString& v){ id = v; }
inline QString getname(){ return name; }
inline void setname(const QString& v){ name=v; }
inline int getstatus(){ return status; } inline QString getspecId(){ return specId; }
inline void setstatus(const int& v){ status=v; } inline void setspecId(const QString& v){ specId = v; }
inline QString getpic(){ return pic; } inline QString getname(){ return name; }
inline void setpic(const QString& v){ pic=v; } inline void setname(const QString& v){ name = v; }
inline int getprice(){ return price; } inline int getprice(){ return price; }
inline void setprice(const int& v){ price=v; } inline void setprice(const int& v){ price = v; }
inline QString getunit(){ return unit; } inline int getpackagePrice(){ return packagePrice; }
inline void setunit(const QString& v){ unit=v; } inline void setpackagePrice(const int& v){ packagePrice = v; }
inline int getrank(){ return rank; } inline QString getspecName(){ return specName; }
inline void setrank(const int& v){ rank=v; } inline void setspecName(const QString& v){ specName = v; }
inline QString getcode(){ return code; }
inline void setcode(const QString& v){ code = v; }
inline QString getdescription(){ return description; } inline int getqty(){ return qty; }
inline void setdescription(const QString& v){ description=v; } inline void setqty(const int& v){ qty = v; }
}; };
#endif // DISHESOBJECT_H #endif // DISHESOBJECT_H
#include "orderObject.h" #include "orderObject.h"
#include "preDefine.h" #include "preDefine.h"
#include <QJsonArray> #include <QJsonArray>
OrderObject::OrderObject(const OrderObject &order, QObject *parent):QObject(parent)
{
qDeleteAll(proList);
proList.clear();
const QMetaObject *m = order.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{
QMetaProperty qmp = m->property(i);
QString key = QString::fromLatin1(qmp.name());
QVariant value = order.property(key.toUtf8());
this->setProperty(key.toUtf8(), value);
}
foreach (auto ptr, order.proList) {
dishesObject *product=new dishesObject(*ptr,this);
this->proList.append(product);
}
}
OrderObject& OrderObject::operator =(const OrderObject& order)
{
qDeleteAll(proList);
proList.clear();
const QMetaObject *m = order.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{
QMetaProperty qmp = m->property(i);
QString key = QString::fromLatin1(qmp.name());
QVariant value = order.property(key.toUtf8());
this->setProperty(key.toUtf8(), value);
}
foreach (auto ptr, order.proList) {
dishesObject *product=new dishesObject(*ptr,this);
this->proList.append(product);
}
return *this;
}
void OrderObject::FromJson(const QJsonObject &json) void OrderObject::FromJson(const QJsonObject &json)
{ {
...@@ -10,28 +46,50 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -10,28 +46,50 @@ void OrderObject::FromJson(const QJsonObject &json)
QJsonArray products = json[JSON_PRODUCTS].toArray(); QJsonArray products = json[JSON_PRODUCTS].toArray();
foreach(QJsonValue product, products) foreach(QJsonValue product, products)
{ {
QJsonObject dishJson = product.toObject(); QJsonObject proJson = product.toObject();
DishObject *dishObject = new DishObject(this); dishesObject *proObject = new dishesObject(this);
dishObject->FetchDataFromJson(dishJson); proObject->FetchDataFromJson(proJson);
proList.append(dishObject); proList.append(proObject);
} }
return; return;
} }
void DishObject::FetchDataFromJson(const QJsonObject &json)
void OrderObject::FetchDataFromJson(const QJsonObject &json)
{ {
foreach(QString key, json.keys()) QStringList keys = json.keys();
foreach(QString key, keys)
{ {
setProperty(key.toUtf8(), json[key].toVariant()); setProperty(key.toUtf8(), json[key].toVariant());
} }
qDeleteAll(sub_products); return;
sub_products.clear(); }
QJsonArray subDishesArray = json["sub_product"].toArray();
foreach(QJsonValue subDish, subDishesArray) QString OrderObject::getChannelName()
{
int value = channel.toInt();
qDebug()<<"value----------"<<value;
switch(value)
{ {
DishObject *item = new DishObject(this); case 1:return QString::fromLocal8Bit("星巴克");
item->FetchDataFromJson(subDish.toObject()); case 2:return QString::fromLocal8Bit("百度外卖");
sub_products.append(item); case 3:return QString::fromLocal8Bit("饿了么");
deafult: return QString::fromLocal8Bit("未知");
} }
return; return QString::fromLocal8Bit("未知");
}
QString OrderObject::getOrderStatusDec()
{
switch(orderStatus)
{
case 1:return QString::fromLocal8Bit("下单待支付");
case 2:return QString::fromLocal8Bit("已支付");
case 3:return QString::fromLocal8Bit("接单");
case 4:return QString::fromLocal8Bit("配送中");
case 5:return QString::fromLocal8Bit("完成");
case 6:return QString::fromLocal8Bit("取消");
deafult: return QString::fromLocal8Bit("未知");
}
return QString::fromLocal8Bit("未知");
} }
...@@ -51,6 +51,39 @@ bool BillSocket::Request(const QJsonObject &requestJson, QJsonObject &recvJson, ...@@ -51,6 +51,39 @@ bool BillSocket::Request(const QJsonObject &requestJson, QJsonObject &recvJson,
return true; return true;
} }
bool BillSocket::Get( QJsonObject &recvJson, QString &error)
{
if(QNetworkAccessManager::Accessible != m_networkManger.networkAccessible())
{
m_networkManger.setNetworkAccessible(QNetworkAccessManager::Accessible);
}
QEventLoop eventLoop;
QNetworkReply *reply = m_networkManger.get(m_networkRequest);
connect(&m_networkManger, SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)), &eventLoop, SLOT(quit()));
connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), &eventLoop, SLOT(quit()));
// 加用定时器防止网络出现异常长时间不返回导致的阻塞
QTimer::singleShot(VALUE_NETTIMEOUT, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
if(reply->error() != QNetworkReply::NoError)
{
error = reply->errorString();
return false;
}
QByteArray recvArray = reply->readAll();
if(recvArray.size() == 0)
{
error = "nothing recved";
return false;
}
recvJson = QJsonDocument::fromJson(recvArray).object();
reply->deleteLater();
return true;
}
void BillSocket::SetUrl(QUrl url) void BillSocket::SetUrl(QUrl url)
{ {
m_networkRequest.setUrl(url); m_networkRequest.setUrl(url);
......
...@@ -15,6 +15,7 @@ public: ...@@ -15,6 +15,7 @@ public:
~BillSocket(); ~BillSocket();
bool Request(const QJsonObject& requestJson, QJsonObject& recvJson, QString& error); bool Request(const QJsonObject& requestJson, QJsonObject& recvJson, QString& error);
bool Get(QJsonObject& recvJson, QString& error);
void SetUrl(QUrl url); void SetUrl(QUrl url);
void SetSslConfig(); void SetSslConfig();
......
...@@ -34,19 +34,17 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -34,19 +34,17 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailBtn1->hide(); ui->detailBtn1->hide();
ui->detailBtn0->hide(); ui->detailBtn0->hide();
// 初始化界面 // 初始化界面
ui->detailLab0->setText(QString("[%1 # %2][%3][%4]").arg(QString::number(orderObject->order_index),orderObject->channel_name, ui->detailLab0->setText(QString("[%1 # %2][%3][%4]").arg(QString::number(orderObject->orderIndex),orderObject->getChannelName(),
orderObject->status_desc, orderObject->getOrderStatusDec(),
orderObject->order_id)); orderObject->id));
//ui->detailLab5->setText(QString("[%1]").arg(orderObject->remark)); ui->detailLab1->setText(QString("%1:%2").arg(orderObject->customerName,orderObject->phone));
ui->detailLab1->setText(QString("%1:%2").arg(orderObject->customer,orderObject->phone)); ui->detailLab2->setText(orderObject->deliveryTime.isEmpty()? QString::fromLocal8Bit("立即送出") : orderObject->deliveryTime);
//ui->detailLab3->setText(orderObject->address); ui->detailLab3->setText(orderObject->riderName.isEmpty() ? QString::fromLocal8Bit("暂未指定") : QString::fromLocal8Bit("[姓名]%1 [电话]%2")
//ui->detailLab4->setText(QString("[配送方式]%1 [配送费]%2").arg(orderObject->delivery_party,Penny2Dollar(orderObject->send_fee))); .arg(orderObject->riderName, orderObject->riderPhone));
ui->detailLab2->setText(orderObject->delivery_time==0? QString::fromLocal8Bit("立即送出") : QDateTime::fromTime_t(orderObject->delivery_time).toString("MM/dd hh:mm")); //TODO
ui->detailLab3->setText(orderObject->courier_name.isEmpty() ? QString::fromLocal8Bit("暂未指定") : QString::fromLocal8Bit("[姓名]%1 [电话]%2") ui->detailLab4->setText(Penny2Dollar(orderObject->productPrice));
.arg(orderObject->courier_name, orderObject->courier_phone)); ui->detailLab6->setText(orderObject->needInvoice? orderObject->invoiceTitle : QString::fromLocal8Bit("不需要发票"));
ui->detailLab4->setText(Penny2Dollar(orderObject->product_fee)); ui->detailLab5->setText(QString("[%1]").arg(orderObject->memo));
//ui->detailLab8->setText(orderObject->has_invoiced? QString("发票抬头:%1").arg(orderObject->invoice_title) : "不需要发票");
ui->detailLab5->setText(QString("[%1]").arg(orderObject->remark));
for(int i=0; i<orderObject->proList.count(); i++) for(int i=0; i<orderObject->proList.count(); i++)
{ {
ui->detailTable0->insertRow(i); ui->detailTable0->insertRow(i);
...@@ -54,35 +52,35 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -54,35 +52,35 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailTable0->item(i, 0)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(i, 0)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(i, 1, new QTableWidgetItem(Penny2Dollar(orderObject->proList.at(i)->price))); // 价格 ui->detailTable0->setItem(i, 1, new QTableWidgetItem(Penny2Dollar(orderObject->proList.at(i)->price))); // 价格
ui->detailTable0->item(i, 1)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(i, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(i, 2, new QTableWidgetItem(QString::number(orderObject->proList.at(i)->productAmount))); // 数量 ui->detailTable0->setItem(i, 2, new QTableWidgetItem(QString::number(orderObject->proList.at(i)->qty))); // 数量
ui->detailTable0->item(i, 2)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(i, 2)->setTextAlignment(Qt::AlignCenter);
} }
//TODO
QString records; // QString records;
foreach(QString record, orderObject->records) // foreach(QString record, orderObject->records)
{ // {
records.append(record+"\r\n"); // records.append(record+"\r\n");
} // }
ui->detailLabRecord->setText(records); // ui->detailLabRecord->setText(records);
// if(!ConfigManger::GetInstance().GetIsExistReEntryOrder()) // if(!ConfigManger::GetInstance().GetIsExistReEntryOrder())
// { // {
// ui->detailBtn0->hide(); // ui->detailBtn0->hide();
// } // }
ui->detailBtn2->setText(GetOperNameByStatus(orderObject->status, true)); ui->detailBtn2->setText(GetOperNameByStatus(orderObject->orderStatus, true));
ui->detailBtn2->setProperty("operation", GetOperByStatus(orderObject->status, true)); ui->detailBtn2->setProperty("operation", GetOperByStatus(orderObject->orderStatus, true));
ui->detailBtn2->setProperty("orderId", orderObject->order_id); ui->detailBtn2->setProperty("orderId", orderObject->id);
if(orderObject->status != 1 && orderObject->status != 20&& orderObject->status != 2&& orderObject->status != 4) if(orderObject->orderStatus != 1 && orderObject->orderStatus != 20&& orderObject->orderStatus != 2&& orderObject->orderStatus != 4)
{ {
ui->detailBtn2->hide(); ui->detailBtn2->hide();
} }
ui->detailBtn3->setText(GetOperNameByStatus(orderObject->status)); ui->detailBtn3->setText(GetOperNameByStatus(orderObject->orderStatus));
ui->detailBtn3->setProperty("operation", GetOperByStatus(orderObject->status)); ui->detailBtn3->setProperty("operation", GetOperByStatus(orderObject->orderStatus));
ui->detailBtn3->setProperty("orderId", orderObject->order_id); ui->detailBtn3->setProperty("orderId", orderObject->id);
if(!GetOperByStatus(orderObject->status).compare("NULL")) if(!GetOperByStatus(orderObject->orderStatus).compare("NULL"))
{ {
ui->detailBtn3->hide(); ui->detailBtn3->hide();
} }
...@@ -109,12 +107,12 @@ void DetailForm::_Init() ...@@ -109,12 +107,12 @@ void DetailForm::_Init()
ui->detailTable0->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); ui->detailTable0->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
} }
QString DetailForm::GetProductName(DishObject* dish) QString DetailForm::GetProductName(dishesObject *dish)
{ {
QString name; QString name;
QString propertyTags; QString propertyTags;
name.append(dish->name).append("\r\n"); name.append(dish->name).append("\r\n");
propertyTags=dish->property_tags; propertyTags=dish->specId;
if(!propertyTags.isEmpty()) if(!propertyTags.isEmpty())
{ {
name.append(QString("(%1)").arg(propertyTags)); name.append(QString("(%1)").arg(propertyTags));
......
...@@ -39,7 +39,7 @@ private: ...@@ -39,7 +39,7 @@ private:
RejectForm *m_rejectForm; RejectForm *m_rejectForm;
RefuseForm *m_refuseForm; RefuseForm *m_refuseForm;
QString GetProductName(DishObject* dish); QString GetProductName(dishesObject* dish);
signals: signals:
/* 功能:处理订单 /* 功能:处理订单
......
...@@ -668,7 +668,7 @@ ...@@ -668,7 +668,7 @@
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string/> <string>发票抬头:</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
......
...@@ -26,7 +26,7 @@ void disTabWdg::IniDishesData(QString channelCode, QList<dishesObject> disObjLis ...@@ -26,7 +26,7 @@ void disTabWdg::IniDishesData(QString channelCode, QList<dishesObject> disObjLis
QMap<int, dishesObject> sortMap; QMap<int, dishesObject> sortMap;
foreach (dishesObject obj, disObjList) foreach (dishesObject obj, disObjList)
{ {
sortMap.insert(obj.rank, obj); //sortMap.insert(obj.rank, obj);
} }
QMap<int, dishesObject>::iterator iter; QMap<int, dishesObject>::iterator iter;
...@@ -40,14 +40,14 @@ void disTabWdg::IniDishesData(QString channelCode, QList<dishesObject> disObjLis ...@@ -40,14 +40,14 @@ void disTabWdg::IniDishesData(QString channelCode, QList<dishesObject> disObjLis
foreach(dishesObject dObj, m_disObjList) foreach(dishesObject dObj, m_disObjList)
//foreach(dishesObject dObj, disObjList) //foreach(dishesObject dObj, disObjList)
{ {
dishesItem *item = new dishesItem(m_channelCode, dObj.code, dObj.status, dObj.name,this); //dishesItem *item = new dishesItem(m_channelCode, dObj.code, dObj.status, dObj.name,this);
if(index==0) if(index==0)
{ {
row = ui->disTabWdg_tablewdg->rowCount(); row = ui->disTabWdg_tablewdg->rowCount();
ui->disTabWdg_tablewdg->insertRow(row); ui->disTabWdg_tablewdg->insertRow(row);
} }
ui->disTabWdg_tablewdg->setCellWidget(row, index, item); //ui->disTabWdg_tablewdg->setCellWidget(row, index, item);
index++; index++;
if(index==2) if(index==2)
{ {
......
...@@ -32,7 +32,7 @@ SOURCES += main.cpp\ ...@@ -32,7 +32,7 @@ SOURCES += main.cpp\
DTools/dataManger.cpp \ DTools/dataManger.cpp \
Model/orderObject.cpp \ Model/orderObject.cpp \
Model/baseObject.cpp \ Model/baseObject.cpp \
Model/productObject.cpp \ Model/dishesObject.cpp \
DTools/util.cpp \ DTools/util.cpp \
settingForm.cpp \ settingForm.cpp \
floatForm.cpp \ floatForm.cpp \
...@@ -50,7 +50,6 @@ SOURCES += main.cpp\ ...@@ -50,7 +50,6 @@ SOURCES += main.cpp\
disTabWdg.cpp \ disTabWdg.cpp \
refdishesForm.cpp \ refdishesForm.cpp \
refuseForm.cpp \ refuseForm.cpp \
Model/dishesObject.cpp \
dailyreportForm.cpp \ dailyreportForm.cpp \
Model/dailyObject.cpp Model/dailyObject.cpp
...@@ -64,7 +63,7 @@ HEADERS += \ ...@@ -64,7 +63,7 @@ HEADERS += \
DTools/dataManger.h \ DTools/dataManger.h \
Model/orderObject.h \ Model/orderObject.h \
Model/baseObject.h \ Model/baseObject.h \
Model/productObject.h \ Model/dishesObject.h \
DTools/util.h \ DTools/util.h \
settingForm.h \ settingForm.h \
floatForm.h \ floatForm.h \
...@@ -82,7 +81,6 @@ HEADERS += \ ...@@ -82,7 +81,6 @@ HEADERS += \
disTabWdg.h \ disTabWdg.h \
refdishesForm.h \ refdishesForm.h \
refuseForm.h \ refuseForm.h \
Model/dishesObject.h \
dailyreportForm.h \ dailyreportForm.h \
Model/dailyObject.h \ Model/dailyObject.h \
DTools/dump.h DTools/dump.h
......
IDI_ICON1 ICON DISCARDABLE "logo.ico" IDI_ICON ICON DISCARDABLE "logo.ico"
\ No newline at end of file \ No newline at end of file
...@@ -342,19 +342,20 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus) ...@@ -342,19 +342,20 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
// 非首次收到的订单需要现在原先表中删除 // 非首次收到的订单需要现在原先表中删除
if(oldStatus != -100) if(oldStatus != -100)
{ {
if(2==orderObject->order_type&&(1==oldStatus||2==oldStatus)) //TODO
{ // if(/*2==orderObject->order_type&&*/(1==oldStatus||2==oldStatus))
table=ui->mainTableReserve; // {
tabBtn = ui->mainBtnReserve; // table=ui->mainTableReserve;
} // tabBtn = ui->mainBtnReserve;
else{ // }
//else{
tabBtn = _GetTabBtnByOrderStatus(oldStatus); tabBtn = _GetTabBtnByOrderStatus(oldStatus);
table = findChild<QTableWidget*>(tabBtn->property("tableName").toString()); table = findChild<QTableWidget*>(tabBtn->property("tableName").toString());
} //}
for(int i=0; i<table->rowCount(); i++) for(int i=0; i<table->rowCount(); i++)
{ {
if(!table->item(i, 1)->text().compare(orderObject->order_id)) if(!table->item(i, 1)->text().compare(orderObject->id))
{ {
table->removeRow(i); table->removeRow(i);
QString btnText(tabBtn->property("name").toString()); QString btnText(tabBtn->property("name").toString());
...@@ -364,39 +365,40 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus) ...@@ -364,39 +365,40 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
} }
} }
// 将数据插入到表中 // 将数据插入到表中
if(2==orderObject->order_type&&(1==orderObject->status||2==orderObject->status)) //TODO
{ // if(/*2==orderObject->order_type&&*/(1==orderObject->orderStatus||2==orderObject->orderStatus))
table = ui->mainTableReserve; // {
tabBtn = ui->mainBtnReserve; // table = ui->mainTableReserve;
} // tabBtn = ui->mainBtnReserve;
else{ // }
//else{
tabBtn = _GetTabBtnByOrderStatus(orderObject->status); tabBtn = _GetTabBtnByOrderStatus(orderObject->orderStatus);
table = findChild<QTableWidget*>(tabBtn->property("tableName").toString()); table = findChild<QTableWidget*>(tabBtn->property("tableName").toString());
} //}
table->insertRow(0); table->insertRow(0);
QTableWidgetItem *item0 = new QTableWidgetItem(orderObject->channel_name); QTableWidgetItem *item0 = new QTableWidgetItem(orderObject->getChannelName());
item0->setTextAlignment(Qt::AlignCenter); item0->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 0, item0); // 渠道 table->setItem(0, 0, item0); // 渠道
QTableWidgetItem *item1 = new QTableWidgetItem(orderObject->order_id); QTableWidgetItem *item1 = new QTableWidgetItem(orderObject->id);
item1->setTextAlignment(Qt::AlignCenter); item1->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 1, item1); // 订单ID table->setItem(0, 1, item1); // 订单ID
QTableWidgetItem *item2 = new QTableWidgetItem(Penny2Dollar(orderObject->product_fee)); QTableWidgetItem *item2 = new QTableWidgetItem(Penny2Dollar(orderObject->totalPrice));
item2->setTextAlignment(Qt::AlignCenter); item2->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 2, item2); // 金额 table->setItem(0, 2, item2); // 金额
QTableWidgetItem *item3 = new QTableWidgetItem(orderObject->customer); QTableWidgetItem *item3 = new QTableWidgetItem(orderObject->customerName);
item3->setTextAlignment(Qt::AlignCenter); item3->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 3, item3); // 姓名 table->setItem(0, 3, item3); // 姓名
QTableWidgetItem *item4 = new QTableWidgetItem(orderObject->phone); QTableWidgetItem *item4 = new QTableWidgetItem(orderObject->phone);
item4->setTextAlignment(Qt::AlignCenter); item4->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 4, item4); // 联系方式 table->setItem(0, 4, item4); // 联系方式
QTableWidgetItem *item5 = new QTableWidgetItem(QDateTime::fromTime_t(orderObject->create_time).toString("MM-dd hh:mm")); //QTableWidgetItem *item5 = new QTableWidgetItem(QDateTime::fromTime_t(orderObject->createTime).toString("MM-dd hh:mm"));
QTableWidgetItem *item5 = new QTableWidgetItem(orderObject->createTime);
item5->setTextAlignment(Qt::AlignCenter); item5->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 5, item5); // 下单时间 table->setItem(0, 5, item5); // 下单时间
if(table != ui->mainTableFinsh) if(table != ui->mainTableFinsh)
{ {
if(!table->property("operationName").toString().compare("接单")&&1==orderObject->status) if(/*!table->property("operationName").toString().compare("接单")&&*/2==orderObject->orderStatus)
{ {
qDebug()<<table->objectName()<<"------"; qDebug()<<table->objectName()<<"------";
QWidget *pWdg = new QWidget(table); QWidget *pWdg = new QWidget(table);
...@@ -405,7 +407,7 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus) ...@@ -405,7 +407,7 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
pBtn->setFixedSize(70, 30); pBtn->setFixedSize(70, 30);
pBtn->setFocusPolicy(Qt::NoFocus); pBtn->setFocusPolicy(Qt::NoFocus);
pBtn->setObjectName("mainProcBtn"); pBtn->setObjectName("mainProcBtn");
pBtn->setProperty("orderId", orderObject->order_id); pBtn->setProperty("orderId", orderObject->id);
pBtn->setProperty("operation", table->property("operation").toString()); pBtn->setProperty("operation", table->property("operation").toString());
pBtn->setText(table->property("operationName").toString()); pBtn->setText(table->property("operationName").toString());
hLayout->addWidget(pBtn); hLayout->addWidget(pBtn);
......
...@@ -55,11 +55,13 @@ ...@@ -55,11 +55,13 @@
#define JSON_USERID "userId" #define JSON_USERID "userId"
#define JSON_BUSINESSDATE "business_date" #define JSON_BUSINESSDATE "business_date"
#define JSON_STATUSCODE "statusCode" #define JSON_STATUSCODE "statusCode"
#define JSON_ERRCODE "errcode" #define JSON_ERRCODE "code"
#define JSON_STATUS "status" #define JSON_STATUS "status"
#define JSON_ORDERSTATUS "orderStatus"
#define JSON_STATUSDESC "status_desc" #define JSON_STATUSDESC "status_desc"
#define JSON_MESSAGE "msg" #define JSON_MESSAGE "msg"
#define JSON_ERRMSG "errmsg" #define JSON_ERRMSG "msg"
#define JSON_RECEIVINGSTATUS "receivingStatus"
#define JSON_TIMESTAMPS "timestamp" #define JSON_TIMESTAMPS "timestamp"
#define JSON_AUTOCONFIRM "autoconfirm" #define JSON_AUTOCONFIRM "autoconfirm"
#define JSON_TOKEN "PosToken" #define JSON_TOKEN "PosToken"
...@@ -68,17 +70,19 @@ ...@@ -68,17 +70,19 @@
#define JSON_ORDERS "orders" #define JSON_ORDERS "orders"
#define JSON_COUNT "count" #define JSON_COUNT "count"
#define JSON_PRODUCTS "products" #define JSON_PRODUCTS "products"
#define JSON_ORDERID "order_id" #define JSON_ID "id"
#define JSON_ORDERID "orderId"
#define JSON_ORDER_ID "order_id"
#define JSON_BUSINESSID "businessId" #define JSON_BUSINESSID "businessId"
#define JSON_REASON "reason" #define JSON_REASON "reason"
#define JSON_REASONCODE "reason_code" #define JSON_REASONCODE "reason_code"
#define JSON_SYNCTIME "sync_time" #define JSON_SYNCTIME "sync_time"
#define JSON_SHOPCODE "shopCode" #define JSON_SHOPCODE "storeId"
#define JSON_CHANNEL "channel" #define JSON_CHANNEL "channel"
#define JSON_BUSINESSSTATUS "business_status" #define JSON_BUSINESSSTATUS "business_status"
#define JSON_CODE "code" #define JSON_CODE "code"
#define JSON_PAGENUMBER "pageNumber" #define JSON_PAGENUMBER "page_no"
#define JSON_PAGESIZE "pageSize" #define JSON_PAGESIZE "page_size"
#define JSON_DELIVERS "deliverymans" #define JSON_DELIVERS "deliverymans"
#define JSON_DELIVERYID "deliveryman_id" #define JSON_DELIVERYID "deliveryman_id"
#define JSON_DELIVERYNAME "deliveryman_name" #define JSON_DELIVERYNAME "deliveryman_name"
...@@ -122,9 +126,10 @@ ...@@ -122,9 +126,10 @@
//接口地址 //接口地址
#define INI_INTERFACE_ILOGIN "login" #define INI_INTERFACE_ILOGIN "login"
#define INI_INTERFACE_GETSTORESTATE "getstorestate" #define INI_INTERFACE_GETSTORESTATE "getStoreState"
#define INI_INTERFACE_UPDATESTATE "updatestate" #define INI_INTERFACE_UPDATESTATE "updateState"
#define INI_INTERFACE_PULLORDER "pullOrder" #define INI_INTERFACE_PULLORDER "pullOrder"
#define INI_INTERFACE_PULLORDERLIST "pullOrderList"
#define INI_INTERFACE_HEART "heart" #define INI_INTERFACE_HEART "heart"
#define INI_INTERFACE_CONFIRM "confirm" #define INI_INTERFACE_CONFIRM "confirm"
#define INI_INTERFACE_CANCLE "cancle" #define INI_INTERFACE_CANCLE "cancle"
......
...@@ -26,13 +26,13 @@ void refDishesForm::InitData(OrderObject *obj) ...@@ -26,13 +26,13 @@ void refDishesForm::InitData(OrderObject *obj)
_Init(); _Init();
int i=0; int i=0;
foreach (DishObject *product, obj->proList) foreach (dishesObject *product, obj->proList)
{ {
QPushButton *btn = new QPushButton(this); QPushButton *btn = new QPushButton(this);
btn->setFixedSize(260, 50); btn->setFixedSize(260, 50);
btn->setCheckable(true); btn->setCheckable(true);
btn->setText(product->name); btn->setText(product->name);
btn->setObjectName(product->pid); btn->setObjectName(product->id);
btn->setStyleSheet("QPushButton{ color: #3d3d3d; \ btn->setStyleSheet("QPushButton{ color: #3d3d3d; \
background-color: rgb(255, 255, 255); \ background-color: rgb(255, 255, 255); \
border: 1px solid #C0C0C0; \ border: 1px solid #C0C0C0; \
......
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