Commit c63739b6 by yunpeng.song

针对私有化部署新接口的修改

parent 6f06a3d6
......@@ -17,6 +17,7 @@
#include <QMutex>
#include <QDateTime>
#include <QTimer>
#include <QPair>
class FlowControl : public QObject
{
......@@ -34,9 +35,17 @@ private:
bool bReaded;
bool bCancled;
bool entryType;
QDateTime btimeStamp;
//QDateTime btimeStamp;
}OrderProperpy;
typedef struct TOPULL_ORDER
{
int pageSize;
int pageNumber;
QString channel;
QString orderId;
}PullOrderInfo;
private:
// 门店信息
QString m_storeId;
......@@ -45,10 +54,12 @@ private:
QString m_cashierId;
QDateTime m_bDate;
QString m_storeName;
int m_orderCount;
QPair<QString,QString> m_orderPair;
//订单清除定时器
QTimer *m_clearTimer;
QTimer *m_heartTimer;
QTimer *m_pullTimer;
// 网络通信
BillSocket *m_loginSocket;
BillSocket *m_pullOrderSocket;
......@@ -67,10 +78,11 @@ private:
QMap<QString, QMultiMap<QString, dishesObject> >m_dishesMap;
// 已接单的订单
QMap<QString, OrderProperpy> m_ordersMapZhy;
QMap<QString, OrderProperpy> m_ordersMapXbk;
QMap<QString, QString> m_view2Id;
QMutex m_mutex;
QList<PullOrderInfo> m_orderPullList;
signals:
......@@ -152,6 +164,8 @@ signals:
* */
void showDailyReportData(QJsonObject);
void doPullOrder(const QString& orderId,const QString& channel);
private slots:
bool _GetStoreInfo();
/* 功能:登录
......@@ -164,6 +178,12 @@ private slots:
* 返回:是否成功
* */
bool _PullOrder();
/* 功能:发送心跳
* 参数:NULL
* 返回:是否成功
* */
bool _SendHeart();
/* 功能:获取配送员
* 参数:[1]订单编号
* 返回:是否成功
......@@ -209,42 +229,27 @@ private slots:
* 返回:Json对象
* */
QJsonObject _GetHttpReplyJson(const int status, const QString& msg, const QJsonObject& data, const int &iscontinue);
/* 功能:解析周黑鸭发送过来的数据
* 参数:NULL
* 返回:是否成功
* */
bool _ParseRequest(const int actionId, const QJsonObject& content, QJsonObject& data, QString& error);
/**
*功能:清空订单Map里的订单
*参数:无
*返回:无
**/
void _ClearOrder();
// 返回订单列表
bool _Get43ReplyJson(int type, QString date, QJsonObject& data, QString& error);
// 返回订单详情
bool _Get12ReplyJson(QString orderId, QJsonObject& data, QString& error);
// 设置订单已读
bool _Get44ReplyJson(QStringList orderdId, QJsonObject& data, QString& error);
// 查询订单
bool _Get99ReplyJson(QString begin, QString end, QJsonObject& data, QString& error);
bool _GetReplyJson(const int &actionId, const QJsonObject &content,QJsonObject &data,
QString &error, const QString &orderId);
bool _GetLoginReplyJson(const QJsonObject &content, QJsonObject &data, QString &error);
bool _GetLoginReplyJson(const QJsonObject &content, QString &error);
bool _GetQueryReplyJson(QJsonObject &data,QString &error, const QString &orderId);
bool _GetPushReplyJson(QJsonObject &data, QString &error);
void _HandleOrderOperation(bool result);
// 单位转换
QString _Penny2Dollar(int penny);
// 转换订单状态
int _ConverBillStatus(int statusFm);
// 获取周黑鸭的订单状态描述
QString _GetBillStatusDsc(int statusZhy);
QString _GetIpAddress();
void _AddOrder(const QString& orderId,const QString& channel,const int& pageNumber=1,const int& pageSize=100);
void _GetOrder(const QString& orderId,const QString& channel);
// 获取周黑鸭对应平台编号
void _GetChannelName( const QString& fmChannel, QString& zhyChannel, QString& zhyChannelname);
public slots:
/* 功能:获取到新的门店信息
......
......@@ -4,7 +4,7 @@
#include <QSqlError>
#include "preDefine.h"
void ConfigManger::GetStoreInfo(QString &storeId, QString &posNo,QString &cashierId,QString &password)
void ConfigManger::GetStoreInfo(QString &storeId,/* QString &posNo,QString &cashierId,*/QString &password)
{
storeId=m_config->value(INI_STOREID).toString();
//posNo=m_config->value(INI_POSNO).toString();
......@@ -46,9 +46,18 @@ void ConfigManger::SetSqlConnectInfo(const ConfigManger::SqlConnectInfo &info)
m_userConfig->setValue(INI_DB_DATABASE, info.database);
}
QUrl ConfigManger::GetServerUrl()
QString ConfigManger::GetLoginServerUrl()
{
return m_config->value(INI_SERVER).toUrl();
return m_config->value(INI_LOGINSERVER).toString();
}
QString ConfigManger::GetOrderServerUrl()
{
return m_config->value(INI_ORDERSERVER).toString();
}
QString ConfigManger::GetInterfaceName(const QString &name)
{
return m_config->value(QString("Interface/")+name).toString();
}
QString ConfigManger::GetPrinterName()
......@@ -111,9 +120,9 @@ int ConfigManger::GetHttpServerPort()
return m_config->value(INI_HTTPSERVERPORT, 80).toInt();
}
QString ConfigManger::GetPerfix()
QString ConfigManger::GetPartnerId()
{
return m_config->value(INI_PERFIX).toString();
return m_config->value(INI_PARTNERID).toString();
}
int ConfigManger::GetUpdDishesInterval()
......@@ -121,5 +130,15 @@ int ConfigManger::GetUpdDishesInterval()
return m_config->value(INI_INTERVAL).toInt();
}
int ConfigManger::GetPushServerPort()
{
return m_config->value(INI_PUSHSERVERPORT,24409).toInt();
}
QString ConfigManger::GetIpAddress()
{
return m_config->value("IpAddress/ip").toString();
}
......@@ -19,7 +19,7 @@ public:
}SqlConnectInfo;
public:
void GetStoreInfo(QString& storeId, QString& posNo, QString& cashierId, QString &password);
void GetStoreInfo(QString& storeId, QString &password);
static ConfigManger& GetInstance();
/* 功能:获取数据库连接信息
......@@ -32,11 +32,21 @@ public:
* 返回:NULL
* */
void SetSqlConnectInfo(const SqlConnectInfo& info);
/* 功能:读取服务器地址
/* 功能:读取登入服务器地址
* 参数:NULL
* 返回:服务器地址
* */
QUrl GetServerUrl();
QString GetLoginServerUrl();
/* 功能:读取订单服务器地址
* 参数:NULL
* 返回:服务器地址
* */
QString GetOrderServerUrl();
/* 功能:读取接口名称
* 参数:NULL
* 返回:服务器地址
* */
QString GetInterfaceName(const QString& name);
/* 功能:读取打印机名称
* 参数:NULL
* 返回:服务器地址
......@@ -95,11 +105,11 @@ public:
* */
int GetHttpServerPort();
/* 功能:获取前缀
/* 功能:获取商户号
* 参数:NULL
* 返回:前缀
* */
QString GetPerfix();
QString GetPartnerId();
/* 功能:获取同步库存的间隔
* 参数:NULL
......@@ -107,6 +117,10 @@ public:
* */
int GetUpdDishesInterval();
int GetPushServerPort();
QString GetIpAddress();
private:
ConfigManger();
ConfigManger(ConfigManger const&);
......
......@@ -26,26 +26,79 @@ void DataManger::SetToken(const QString &token)
m_token = token;
}
QJsonObject DataManger::GetLoginData(const QString &storeId, const QString &password, const QString &stationId, const QString &cashierId)
void DataManger::SetStoreId(const QString &storeId)
{
QJsonObject rObj, cObj;
rObj.insert(JSON_REQTYPE, LOGIN);
cObj.insert(JSON_USERNAME, storeId);
cObj.insert(JSON_PASSWORD, password);
rObj.insert(JSON_CURRENTUSER, cObj);
rObj.insert(JSON_STATIONID, stationId);
rObj.insert(JSON_OPERATORID, cashierId);
m_storeId = storeId;
}
QJsonObject DataManger::GetLoginData(const QString &partnerId, const QString &storeId, const QString &password,
const QString &stationId, const QString &cashierId, const QString &ipAddress)
{
QJsonObject rObj;
#ifdef TEST
rObj.insert(JSON_IPADDRESS, ipAddress);
rObj.insert(JSON_PARTNERID,"7ba9ce8d-4ffd-4acf-96e6-42a117ad6fe6");
rObj.insert(JSON_ORGCODE, storeId);
rObj.insert(JSON_PASSWORD, password);
rObj.insert(JSON_MACHINECODE, stationId);
//rObj.insert(JSON_USERID, cashierId);
#else
QJsonObject rObj;
rObj.insert(JSON_IPADDRESS, ipAddress);
rObj.insert(JSON_PARTNERID,partnerId);
rObj.insert(JSON_ORGCODE, storeId);
rObj.insert(JSON_PASSWORD, password);
rObj.insert(JSON_MACHINECODE, stationId);
//rObj.insert(JSON_USERID, cashierId);
#endif
return rObj;
}
QJsonObject DataManger::GetPullOrderData(const QString &timestamp,const int &autoconfirm)
QJsonObject DataManger::GetHeartData(const QString &partnerId, const QString &storeId,const QString &password,
const QString &stationId, const QString &cashierId, const QString &ipAddress)
{
QJsonObject rObj;
rObj.insert(JSON_REQTYPE, PULL_ORDER);
rObj.insert(JSON_TIMESTAMPS, timestamp);
rObj.insert(JSON_AUTOCONFIRM, autoconfirm);
rObj.insert(JSON_TOKEN, m_token);
rObj.insert(JSON_POSVERSION, APP_VERSION);
#ifdef TEST
rObj.insert(JSON_IPADDRESS, ipAddress);
rObj.insert(JSON_PARTNERID,"7ba9ce8d-4ffd-4acf-96e6-42a117ad6fe6");
rObj.insert(JSON_ORGCODE, storeId);
rObj.insert(JSON_PASSWORD, password);
rObj.insert(JSON_MACHINECODE, stationId);
//rObj.insert(JSON_USERID, cashierId);
#else
QJsonObject rObj;
rObj.insert(JSON_IPADDRESS, ipAddress);
rObj.insert(JSON_PARTNERID,partnerId);
rObj.insert(JSON_STOREID, storeId);
rObj.insert(JSON_PASSWORD, password);
rObj.insert(JSON_POSNO, stationId);
//rObj.insert(JSON_USERID, cashierId);
#endif
return rObj;
}
QJsonObject DataManger::GetPullOrderData(const QString &orderId, const QString &channel,
/*const int &autoconfirm,*/ const QString &storeId,
const int& pageNumber,const int& pageSize)
{
QJsonObject rObj;
if(orderId.isEmpty())
{
rObj.insert(JSON_PAGENUMBER,pageNumber);
rObj.insert(JSON_PAGESIZE,pageSize);
}
#ifdef TEST
rObj.insert(JSON_BUSINESSID,orderId);
rObj.insert(JSON_CHANNEL, channel);
rObj.insert(JSON_SHOPCODE,storeId);
#else
rObj.insert(JSON_BUSINESSID,orderId);
rObj.insert(JSON_CHANNEL, channel);
rObj.insert(JSON_SHOPCODE,storeId);
//rObj.insert(JSON_AUTOCONFIRM, autoconfirm);
#endif
return rObj;
}
......@@ -60,17 +113,13 @@ QJsonObject DataManger::GetPullDeliverData(const QString &storeId, const QString
return rObj;
}
QJsonObject DataManger::GetConfirmOrderData(const QString &orderId, const QString &deliverId, const QString &deliverName, const QString &deliverPhone)
QJsonObject DataManger::GetConfirmOrderData(const QString &orderId, const QString &channel, const QString &shopCode)
{
QJsonObject rObj, cObj;
rObj.insert(JSON_REQTYPE, CONFIRM_ORDER);
cObj.insert(JSON_ORDERID, orderId);
cObj.insert(JSON_DELIVERYID, deliverId);
cObj.insert(JSON_DELIVERYNAME, deliverName);
cObj.insert(JSON_DELIVERYPHONE, deliverPhone);
rObj.insert(JSON_ORDER, cObj);
rObj.insert(JSON_TOKEN, m_token);
rObj.insert(JSON_POSVERSION, APP_VERSION);
QJsonObject rObj;
//rObj.insert(JSON_REQTYPE, CONFIRM_ORDER);
rObj.insert(JSON_BUSINESSID, orderId);
rObj.insert(JSON_CHANNEL, channel);
rObj.insert(JSON_SHOPCODE, shopCode);
return rObj;
}
......@@ -108,15 +157,22 @@ QJsonObject DataManger::GetCompleteOrderData(const QString &orderId)
return rObj;
}
QJsonObject DataManger::GetRefundOrderData(const QString &reason, const QString &orderId)
QJsonObject DataManger::GetRefundOrderData(const QString &reason, const QString &orderId,const QString& channel)
{
QJsonObject rObj, cObj;
rObj.insert(JSON_REQTYPE, REFUND_ORDER);
cObj.insert(JSON_ORDERID, orderId);
cObj.insert(JSON_REASON, reason);
rObj.insert(JSON_ORDER, cObj);
rObj.insert(JSON_TOKEN, m_token);
rObj.insert(JSON_POSVERSION, APP_VERSION);
QJsonObject rObj;
#ifdef TEST
rObj.insert(JSON_BUSINESSID, orderId);
rObj.insert(JSON_REASON, reason);
rObj.insert(JSON_CODE, -1);
rObj.insert(JSON_CHANNEL,channel);
rObj.insert(JSON_SHOPCODE, m_storeId);
#else
rObj.insert(JSON_BUSINESSID, orderId);
rObj.insert(JSON_REASON, reason);
rObj.insert(JSON_CODE, -1);
rObj.insert(JSON_CHANNEL,channel);
rObj.insert(JSON_SHOPCODE, m_storeId);
#endif
return rObj;
}
......@@ -194,7 +250,7 @@ QJsonObject DataManger::GetOperatingStatusData(const QString &channel, int statu
rObj.insert(JSON_REQTYPE, SET_STORE_OPERATING_STATUS);
rObj.insert(JSON_TOKEN, m_token);
rObj.insert(JSON_CHANNEL, channel);
rObj.insert("business_status", status);
rObj.insert(JSON_BUSINESSSTATUS, status);
return rObj;
}
QJsonObject DataManger::GetDayReportData(const QString &business)
......
......@@ -13,17 +13,29 @@ public:
* 返回:NULL
* */
void SetToken(const QString& token);
/* 功能:设置门店信息
* 参数:[1]token
* 返回:NULL
* */
void SetStoreId(const QString& storeId);
/* 功能:获取登录数据
* 参数:[1]门店号[2]密码[3]收银机号[4]收银员号
* 返回:登录数据
* */
QJsonObject GetLoginData(const QString& storeId, const QString& password,
const QString& stationId, const QString& cashierId);
QJsonObject GetLoginData(const QString& partnerId,const QString& storeId, const QString& password,
const QString& stationId, const QString& cashierId,const QString& ipAddress);
/* 功能:获取心跳数据
* 参数:[1]门店号[2]密码[3]收银机号[4]收银员号
* 返回:登录数据
* */
QJsonObject GetHeartData(const QString& partnerId,const QString& storeId,const QString& password,
const QString& stationId, const QString& cashierId,const QString& ipAddress);
/* 功能:获取拉取订单数据
* 参数:[1]时间戳
* 返回:登录数据
* */
QJsonObject GetPullOrderData(const QString& timestamp, const int &autoconfirm);
QJsonObject GetPullOrderData(const QString& orderId, const QString &channel, const QString& storeId,
const int &pageNumber=0, const int &pageSize=100);
/* 功能:获取拉取配送员数据
* 参数:[1]门店号[2]渠道代码
* 返回:登录数据
......@@ -33,8 +45,8 @@ public:
* 参数:[1]订单编号[2]配送员编号[3]配送员姓名[4]配送员电话
* 返回:登录数据
* */
QJsonObject GetConfirmOrderData(const QString& orderId, const QString& deliverId,
const QString& deliverName, const QString& deliverPhone);
QJsonObject GetConfirmOrderData(const QString& orderId, const QString& channel,
const QString& shopCode);
/* 功能:获取拒绝订单数据
* 参数:[1]拒单原因[2]订单编号
* 返回:登录数据
......@@ -54,7 +66,7 @@ public:
* 参数:[1]时间戳
* 返回:登录数据
* */
QJsonObject GetRefundOrderData(const QString& reason, const QString& orderId);
QJsonObject GetRefundOrderData(const QString& reason, const QString& orderId, const QString &channel);
/* 功能:获取拒绝退单数据
* 参数:[1]时间戳
* 返回:登录数据
......@@ -99,6 +111,7 @@ private:
DataManger& operator=(DataManger const&);
// token
QString m_token;
QString m_storeId;
};
#endif // DATAMANGER_H
#include "SysTray.h"
#include <QApplication>
#include <QThread>
extern QThread sInfoThread;
extern QThread tcpThread;
extern QThread workThread;
SysTray::SysTray(QObject *parent) :
......@@ -25,7 +25,7 @@ void SysTray::_CreatMenu()
void SysTray::onActionQuitTriggered()
{
sInfoThread.terminate();
tcpThread.terminate();
workThread.terminate();
qApp->exit(-1);
}
......@@ -3,7 +3,7 @@
#include <QVariant>
#include "preDefine.h"
BaseObject::BaseObject(const BaseObject &p)
BaseObject::BaseObject(const BaseObject &p, QObject *parent):QObject{parent}
{
const QMetaObject *m = p.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
......@@ -18,15 +18,14 @@ BaseObject::BaseObject(const BaseObject &p)
BaseObject &BaseObject::operator =(const BaseObject &p)
{
const QMetaObject *m = p.metaObject();
BaseObject np;
for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{
QMetaProperty qmp = m->property(i);
QString key = QString::fromLatin1(qmp.name());
QVariant value = p.property(key.toUtf8());
np.setProperty(key.toUtf8(), value);
this->setProperty(key.toUtf8(), value);
}
return np;
return *this;
}
void BaseObject::FetchDataFromJson(const QJsonObject &json)
......
......@@ -13,7 +13,7 @@ public:
BaseObject(QObject *parent=0)
:QObject(parent){}
BaseObject(BaseObject const&);
BaseObject(BaseObject const&,QObject* parent=0);
BaseObject &operator = (BaseObject const&);
/* 功能:从Json对象初始化属性值
......
......@@ -10,6 +10,12 @@ public:
OrderObject(QObject *parent=0)
:BaseObject(parent){}
typedef enum {
NewOrder=1,Confirmed,Cancled,Sendout,ToSend,
Finished,Locked=-1,RequestRefund=20,
AgreeRefund=30,RefuseRefund=40,Refunded=100
}OrderStatus;
/* 功能:从Json对象初获取数据
* 参数:[1]JSon对象
* 返回:NULL
......
#include "billSocket.h"
#include <QtNetwork/QNetworkReply>
#include "DTools/configManger.h"
#include "preDefine.h"
#include <QEventLoop>
#include <QTimer>
......@@ -9,8 +8,7 @@
BillSocket::BillSocket(QObject *parent)
: QObject(parent)
{
m_networkRequest.setUrl(ConfigManger::GetInstance().GetServerUrl());
m_networkRequest.setRawHeader("Content-Type","text/json");
m_networkRequest.setRawHeader("Content-Type","application/json");
}
BillSocket::~BillSocket()
......@@ -48,8 +46,12 @@ bool BillSocket::Request(const QJsonObject &requestJson, QJsonObject &recvJson,
return false;
}
recvJson = QJsonDocument::fromJson(recvArray).object();
qDebug() << recvJson;
reply->deleteLater();
return true;
}
void BillSocket::SetUrl(QUrl url)
{
m_networkRequest.setUrl(url);
}
......@@ -5,6 +5,7 @@
#include <QJsonDocument>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QUrl>
class BillSocket : public QObject
{
......@@ -14,6 +15,7 @@ public:
~BillSocket();
bool Request(const QJsonObject& requestJson, QJsonObject& recvJson, QString& error);
void SetUrl(QUrl url);
private:
QNetworkAccessManager m_networkManger;
......
......@@ -6,7 +6,9 @@ AlertForm::AlertForm(QWidget *parent) :
ui(new Ui::AlertForm)
{
ui->setupUi(this);
m_timer =new QTimer(this);
m_timer->setSingleShot(true);
connect(m_timer,&QTimer::timeout,this,&AlertForm::hideForm);
_Init();
}
......@@ -39,7 +41,8 @@ void AlertForm::SetContent(AlertForm::Type type, const QString &msg)
break;
}
ui->alertLabMsg->setText(msg);
if(!m_timer->isActive())
m_timer->start(5000);
return;
}
......@@ -61,6 +64,11 @@ void AlertForm::_Init()
ui->alertLabError->hide();
}
void AlertForm::hideForm()
{
this->hide();
}
void AlertForm::on_alertBtnOk_clicked()
{
this->hide();
......
......@@ -4,6 +4,7 @@
// 通知窗口
#include <QDialog>
#include <QMovie>
#include <QTimer>
namespace Ui {
class AlertForm;
......@@ -31,6 +32,7 @@ public:
void SetContent(AlertForm::Type type, const QString& msg);
private:
QTimer *m_timer;
Ui::AlertForm *ui;
// 动画对象
QMovie *m_movie;
......@@ -40,6 +42,7 @@ private:
* 返回:NULL
* */
void _Init();
void hideForm();
private slots:
void on_alertBtnOk_clicked();
......
......@@ -120,20 +120,20 @@ void DailyReportForm::paintEvent(QPaintEvent *event)
void DailyReportForm::Initdata(QJsonObject json)
{
salesOrdersNumTotal=0, salesOrdersSumTotal=0.0;
refundsOrdersNumTotal=0, refundsOrdersSumTotal=0.0;
entrySuccessNum=0, entrySuccessSum=0.0;
entryFailedNum=0, entryFailedSum=0.0;
ui->label_businessday->setText(QString("日结(<font color='#ff0000'>当前营业日:%1</font>)").arg(json[JSON_BUSINESSDATE].toString()));
ui->lable_storeName->setText(json[JSON_STORENAME].toString());
ui->label_writePosNo->setText(json[JSON_STATIONID].toString());
QString storeId=json[JSON_STOREID].toString().remove(0,7);
ui->label_writeStoreId->setText(storeId);
ui->label_writeDateTime->setText(json[JSON_BUSINESSDATE].toString());
ui->label_writeCashier->setText(json[JSON_OPERATORID].toString());
QJsonArray dailyArray=json[JSON_DAILYSUMMARYS].toArray();
foreach (QJsonValue value, dailyArray) {
QJsonObject obj=value.toObject();
_SetChannelData(obj);
}
// salesOrdersNumTotal=0, salesOrdersSumTotal=0.0;
// refundsOrdersNumTotal=0, refundsOrdersSumTotal=0.0;
// entrySuccessNum=0, entrySuccessSum=0.0;
// entryFailedNum=0, entryFailedSum=0.0;
// ui->label_businessday->setText(QString("日结(<font color='#ff0000'>当前营业日:%1</font>)").arg(json[JSON_BUSINESSDATE].toString()));
// ui->lable_storeName->setText(json[JSON_STORENAME].toString());
// ui->label_writePosNo->setText(json[JSON_STATIONID].toString());
// QString storeId=json[JSON_STOREID].toString().remove(0,7);
// ui->label_writeStoreId->setText(storeId);
// ui->label_writeDateTime->setText(json[JSON_BUSINESSDATE].toString());
// ui->label_writeCashier->setText(json[JSON_OPERATORID].toString());
// QJsonArray dailyArray=json[JSON_DAILYSUMMARYS].toArray();
// foreach (QJsonValue value, dailyArray) {
// QJsonObject obj=value.toObject();
// _SetChannelData(obj);
// }
}
......@@ -34,8 +34,8 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailBtn1->hide();
// 初始化界面
ui->detailLab0->setText(QString("[%1][%2][%3]").arg(orderObject->channelName,
orderObject->status_desc,
ui->detailLab0->setText(QString("[%1]").arg(/*orderObject->channelName,
orderObject->status_desc,*/
orderObject->order_id));
ui->detailLab1->setText(QString("[%1]%2").arg(orderObject->pay_type,
orderObject->remark));
......@@ -93,6 +93,9 @@ void DetailForm::InitData(OrderObject *orderObject)
m_rejectForm = new RejectForm(this);
if(m_refuseForm==NULL)
m_refuseForm = new RefuseForm(this);
#ifdef TODO
ui->detailBtn3->hide();
#endif
}
void DetailForm::_Init()
......@@ -113,16 +116,16 @@ void DetailForm::onOperaBtnClicked()
{
hide();
QPushButton *pBtn = (QPushButton*)sender();
if(pBtn->text()=="拒单")
{
m_rejectForm->show();
if(m_rejectForm->exec()==QDialog::Accepted)
{
emit processRejectOrder( pBtn->property("orderId").toString(),m_rejectForm->GetReasonCode());
}
}
else if(pBtn->text()=="退单")
if(pBtn->text()=="拒单"||pBtn->text()=="退单")
{
// m_rejectForm->show();
// if(m_rejectForm->exec()==QDialog::Accepted)
// {
// emit processRejectOrder( pBtn->property("orderId").toString(),m_rejectForm->GetReasonCode());
// }
// }
// else if(pBtn->text()=="退单")
// {
m_refuseForm->show();
if(m_refuseForm->exec()==QDialog::Accepted)
{
......
......@@ -7,7 +7,7 @@
#include <QProcess>
#include <QThread>
extern QThread sInfoThread;
extern QThread tcpThread;
extern QThread workThread;
FloatForm::FloatForm(QWidget *parent) :
......@@ -77,7 +77,6 @@ void FloatForm::mouseReleaseEvent(QMouseEvent *event)
int y = m_absMove.y();
if(!m_bMouseMove || (((x>-10)&&(x<10))&&((y>-10)&&(y<10))))
{
qDebug() << "hide";
hide();
m_raiseTimer.stop();
emit showMainForm();
......
......@@ -16,6 +16,8 @@ TEMPLATE = app
INCLUDEPATH += DTools
DEFINES += TEST TODO
SOURCES += main.cpp\
mainForm.cpp \
alertForm.cpp \
......
......@@ -16,7 +16,7 @@ using namespace QsLogging;
QString g_appDir;
QThread sInfoThread;
QThread tcpThread;
QThread workThread;
void InitLogger()
......
......@@ -10,7 +10,7 @@
#include <QProcess>
#include <QThread>
extern QThread sInfoThread;
extern QThread tcpThread;
extern QThread workThread;
MainForm::MainForm(QWidget *parent) :
......@@ -55,7 +55,7 @@ MainForm::MainForm(QWidget *parent) :
connect(&FlowControl::GetInstance(), &FlowControl::setNetStatus, this, &MainForm::onSetNetStatus);
connect(&FlowControl::GetInstance(), &FlowControl::setStoreInfo, this, &MainForm::onSetStoreInfo);
connect(&FlowControl::GetInstance(), &FlowControl::setCashierInfo, this, &MainForm::onSetCashierInfo);
connect(&FlowControl::GetInstance(), &FlowControl::changeOrderStatus, this, &MainForm::onChangeOrderStatus);
connect(&FlowControl::GetInstance(), &FlowControl::changeOrderStatus, this, &MainForm::onChangeOrderStatus,Qt::BlockingQueuedConnection);
connect(&FlowControl::GetInstance(), &FlowControl::showDeliverPickForm, this, &MainForm::onShowDeliverPickForm);
connect(&FlowControl::GetInstance(), &FlowControl::showOrderDetails, this, &MainForm::onShowOrderDetails);
connect(&FlowControl::GetInstance(), &FlowControl::clearorder, this, &MainForm::onOrderClear);
......@@ -78,7 +78,7 @@ MainForm::~MainForm()
void MainForm::MyShow()
{
#ifndef QT_DEBUG
#ifdef QT_DEBUG
this->show();
#else
this->showFullScreen();
......@@ -113,6 +113,10 @@ void MainForm::MyShow()
m_dailyReportForm =new DailyReportForm(this);
ui->mainBtnDayReport->hide();
#ifdef TODO
ui->mainBtnDishManager->hide();
ui->mainBtnStoreManager->hide();
#endif
//emit flowStart();
return;
}
......@@ -279,21 +283,21 @@ QPushButton *MainForm::_GetTabBtnByOrderStatus(int orderStatus)
{
switch(orderStatus)
{
case 1:
case OrderObject::NewOrder:
return ui->mainBtnNew;
break;
case 2:
case OrderObject::Confirmed:
return ui->mainBtnMake;
break;
case 5:
case 4:
case OrderObject::ToSend:
case OrderObject::Sendout:
return ui->mainBtnSend;
break;
case 6:
case 200:
case OrderObject::Finished:
// case 200:
return ui->mainBtnFinsh;
break;
case 20:
case OrderObject::RequestRefund:
return ui->mainBtnRefund;
break;
default:
......@@ -367,7 +371,7 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
QTableWidgetItem *item1 = new QTableWidgetItem(orderObject->order_id);
item1->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 1, item1); // 订单ID
QTableWidgetItem *item2 = new QTableWidgetItem(Penny2Dollar(orderObject->shop_fee));
QTableWidgetItem *item2 = new QTableWidgetItem(Penny2Dollar(orderObject->product_fee));
item2->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 2, item2); // 金额
QTableWidgetItem *item3 = new QTableWidgetItem(orderObject->customer);
......@@ -393,8 +397,14 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
hLayout->addWidget(pBtn);
hLayout->setMargin(0);
pWdg->setLayout(hLayout);
table->setCellWidget(0, 6, pWdg); // 操作按钮
#ifdef TODO
if(!table->property("operationName").toString().compare("接单"))
{
table->setCellWidget(0, 6, pWdg); // 操作按钮
}
#else
table->setCellWidget(0, 6, pWdg);
#endif
connect(pBtn, &QPushButton::clicked, this, &MainForm::onMainProcBtnClicked);
}
......
......@@ -19,7 +19,8 @@
#define INI_DB_PASSWORD "DbInfo/password"
#define INI_DB_DATABASE "DbInfo/database"
#define INI_DB_PORT "DbInfo/port"
#define INI_SERVER "FmServer/url"
#define INI_LOGINSERVER "FmServer/loginUrl"
#define INI_ORDERSERVER "FmServer/orderUrl"
#define INI_PRINTERNAME "Printer/name"
#define INI_FLOATPOSTION "Float/postion"
#define INI_FLOATOPACITY "Float/opacity"
......@@ -33,35 +34,49 @@
#define INI_POSNO "Software/posno"
#define INI_PASSWORD "Software/password"
#define INI_AUTOCONFIRM "Software/autoconfirm"
#define INI_PERFIX "Software/perfix"
#define INI_INTERVAL "Software/interval"
#define INI_PARTNERID "Software/partnerid"
#define INI_INTERVAL "Software/interval"
#define INI_HTTPSERVERPORT "HttpServer/port"
#define INI_PUSHSERVERPORT "PushServer/port"
#define JSON_REQTYPE "reqtype"
#define JSON_CURRENTUSER "current_user"
#define JSON_USERNAME "username"
#define JSON_STOREID "storeId"
#define JSON_PASSWORD "password"
#define JSON_STATIONID "station_id"
#define JSON_STORENAME "store_name"
#define JSON_OPERATORID "operator_id"
#define JSON_IPADDRESS "iPAddress"
#define JSON_MACHINECODE "machineCode"
#define JSON_PARTNERID "partnerId"
#define JSON_ORGCODE "orgCode"
#define JSON_POSNO "posNo"
#define JSON_STORENAME "StoreName"
#define JSON_USERID "userId"
#define JSON_BUSINESSDATE "business_date"
#define JSON_STATUSCODE "statusCode"
#define JSON_ERRCODE "errcode"
#define JSON_STATUS "status"
#define JSON_STATUSDESC "status_desc"
#define JSON_MESSAGE "msg"
#define JSON_ERRMSG "errmsg"
#define JSON_TIMESTAMPS "timestamp"
#define JSON_AUTOCONFIRM "autoconfirm"
#define JSON_TOKEN "token"
#define JSON_TOKEN "PosToken"
#define JSON_DATA "data"
#define JSON_POSVERSION "pos_version"
#define JSON_ORDERS "orders"
#define JSON_COUNT "count"
#define JSON_PRODUCTS "products"
#define JSON_ORDERID "order_id"
#define JSON_BUSINESSID "businessId"
#define JSON_REASON "reason"
#define JSON_REASONCODE "reason_code"
#define JSON_SYNCTIME "sync_time"
#define JSON_STOREID "store_id"
#define JSON_SHOPCODE "shopCode"
#define JSON_CHANNEL "channel"
#define JSON_BUSINESSSTATUS "business_status"
#define JSON_CODE "code"
#define JSON_PAGENUMBER "pageNumber"
#define JSON_PAGESIZE "pageSize"
#define JSON_DELIVERS "deliverymans"
#define JSON_DELIVERYID "deliveryman_id"
#define JSON_DELIVERYNAME "deliveryman_name"
......@@ -99,6 +114,15 @@
#define OPERATIONNAME_REFUSEREFUND "拒绝"
#define OPERATIONNAME_REFUNDORDER "退单"
//接口地址
#define INI_INTERFACE_ILOGIN "login"
#define INI_INTERFACE_PULLORDER "pullOrder"
#define INI_INTERFACE_HEART "heart"
#define INI_INTERFACE_CONFIRM "confirm"
#define INI_INTERFACE_CANCLE "cancle"
// 属性名称
#define PROPERTY_ID "id" // 人员编号
#define PROPERTY_NAME "name" // 人员姓名
......@@ -114,6 +138,8 @@
#define VALUE_NETTIMEOUT 10000
// 默认重新尝试登录的时间
#define VALUE_RELOGINTIME 20000
// 默认心跳间隔的时间
#define VALUE_SENDHEARTTIME 20000
// 新订单提示音音频时长
#define VALUE_NEWORDERTIME 6000 //TODO
// 需退款提示音音频时长
......
......@@ -4,8 +4,8 @@
RefuseForm::RefuseForm(QWidget *parent) :
QDialog(parent),
m_orderObject(NULL),
ui(new Ui::RefuseForm)
ui(new Ui::RefuseForm),
m_orderObject(NULL)
{
ui->setupUi(this);
setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint);
......@@ -50,18 +50,24 @@ void RefuseForm::on_reason1_toggled(bool checked)
void RefuseForm::on_reason2_toggled(bool checked)
{
if(m_orderObject!=NULL&&checked)
//TODO
// if(m_orderObject!=NULL&&checked)
// {
// m_refDishesForm->InitData(m_orderObject);
// if(QDialog::Accepted == m_refDishesForm->exec())
// {
// ui->refuseBtnOk->setEnabled(true);
// m_reasonCode="菜品已售完";
// on_refuseBtnOk_clicked();
// }else
// {
// _Init();
// }
// }
if(checked)
{
m_refDishesForm->InitData(m_orderObject);
if(QDialog::Accepted == m_refDishesForm->exec())
{
ui->refuseBtnOk->setEnabled(true);
m_reasonCode="菜品已售完";
on_refuseBtnOk_clicked();
}else
{
_Init();
}
ui->refuseBtnOk->setEnabled(true);
m_reasonCode="菜品已售完";
}
}
......
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