Commit d8b004d6 by NitefullWind

1. 实现打印日结单、交班单时弹窗显示等待信息。

parent 2f600226
...@@ -52,6 +52,7 @@ Control::Control(QObject *parent) : QObject(parent), _widget(NULL) ...@@ -52,6 +52,7 @@ Control::Control(QObject *parent) : QObject(parent), _widget(NULL)
void Control::Start(const char *indata, char *outdata) void Control::Start(const char *indata, char *outdata)
{ {
bool refundflag = false;
QLOG_INFO() << "get data from pos:" << QString::fromLocal8Bit(indata); QLOG_INFO() << "get data from pos:" << QString::fromLocal8Bit(indata);
QString appPath; QString appPath;
...@@ -83,9 +84,10 @@ void Control::Start(const char *indata, char *outdata) ...@@ -83,9 +84,10 @@ void Control::Start(const char *indata, char *outdata)
connect(_widget, &HostWidget::RequestWithType, this, &Control::RequestWithType); connect(_widget, &HostWidget::RequestWithType, this, &Control::RequestWithType);
connect(_widget, &HostWidget::Exits, this, [&loop] () connect(_widget, &HostWidget::Exits, this, [&loop, &refundflag] ()
{ {
QLOG_INFO() << "quit with normal"; QLOG_INFO() << "quit with normal";
refundflag = true;
loop.exit(); loop.exit();
}); });
connect(_widget, &HostWidget::ExitWithMSG, this, [this, &loop] (QString code, QString message) connect(_widget, &HostWidget::ExitWithMSG, this, [this, &loop] (QString code, QString message)
...@@ -95,6 +97,22 @@ void Control::Start(const char *indata, char *outdata) ...@@ -95,6 +97,22 @@ void Control::Start(const char *indata, char *outdata)
loop.exit(); loop.exit();
}); });
// QString reqtype;
// reqtype.append(_request.TransType[0]).append(_request.TransType[1]);
// _widget->ShowWithRequest(_request);
// if(reqtype.compare("40") != 0)
// {
// loop.exec();
// }else
// {
// if(reqtype.compare("40") == 0 && refundflag == false)
// loop.exec();
// }
// _widget->ShowWithRequest(_request); // _widget->ShowWithRequest(_request);
_widget->ShowWithRequest(_posReqJsonObj); _widget->ShowWithRequest(_posReqJsonObj);
...@@ -251,19 +269,19 @@ bool Control::SendMessageToSBKAPI(const QJsonObject &json, QByteArray &outdata, ...@@ -251,19 +269,19 @@ bool Control::SendMessageToSBKAPI(const QJsonObject &json, QByteArray &outdata,
strcpy(in, reqXmlStr.toUtf8().data()); strcpy(in, reqXmlStr.toUtf8().data());
QLOG_INFO() << "Request StarbucksAPI XML data: " << in; QLOG_INFO() << "Request StarbucksAPI XML data: " << in;
#ifndef SBKTEST #ifdef MOCK
int result = skbSend(in, guid, out, errMsg, mode);
#else
QLOG_DEBUG() << "=========================================== Read debug data. ========================================"; QLOG_DEBUG() << "=========================================== Read debug data. ========================================";
QLOG_DEBUG() << "Test req type: " << type; QLOG_DEBUG() << "Test req type: " << type;
QFile f(qApp->applicationDirPath()+QString("/test/%1.txt").arg(type)); QFile f(qApp->applicationDirPath()+QString("/test/%1.txt").arg(type));
f.open(QIODevice::ReadOnly); f.open(QIODevice::ReadOnly);
strcpy(out, f.readAll().data()); strcpy(out, f.readAll().data());
Sleep(1000*10);
QLOG_DEBUG() << "=========================================== End read debug data. ===================================="; QLOG_DEBUG() << "=========================================== End read debug data. ====================================";
int result = 0; int result = 0;
#endif //! End def SBKTEST #else
int result = skbSend(in, guid, out, errMsg, mode);
#endif //! End def MOCK
QLOG_DEBUG() << "StarbucksAPI return to GBK: " << QString::fromLocal8Bit(out); QLOG_DEBUG() << "StarbucksAPI return to GBK: " << QString::fromLocal8Bit(out);
...@@ -545,7 +563,11 @@ void Control::Request(ReqType type, QStringList list) ...@@ -545,7 +563,11 @@ void Control::Request(ReqType type, QStringList list)
char signStr[MAX_BUF_LEN] = {0}; char signStr[MAX_BUF_LEN] = {0};
bool rlt = false; bool rlt = false;
#ifdef MOCK
#else
if((rlt = GetSPCCSign(jsonArray.data(), signStr, error))) if((rlt = GetSPCCSign(jsonArray.data(), signStr, error)))
#endif
{ {
json["sign"] = QString::fromLocal8Bit(signStr); json["sign"] = QString::fromLocal8Bit(signStr);
...@@ -556,12 +578,9 @@ void Control::Request(ReqType type, QStringList list) ...@@ -556,12 +578,9 @@ void Control::Request(ReqType type, QStringList list)
if(rlt) if(rlt)
rlt = Control::GetJson(type, rtjson, outdata, error); rlt = Control::GetJson(type, rtjson, outdata, error);
else
if(!rlt)
SetResPonseWithMessage("23", error); SetResPonseWithMessage("23", error);
_lock.lock(); _lock.lock();
if(_widget != NULL && type == finds) if(_widget != NULL && type == finds)
{ {
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#define JSON_KEY_TYPE "type" #define JSON_KEY_TYPE "type"
#define JSON_KEY_FMID "fmId" #define JSON_KEY_FMID "fmId"
#define JSON_KEY_EXT "ext" #define JSON_KEY_EXT "ext"
#define JSON_KEYT_STATE "state"
#define JSON_KEY_PRINT "print" #define JSON_KEY_PRINT "print"
#define JSON_KEY_PRINTACTION "printAction" #define JSON_KEY_PRINTACTION "printAction"
#define JSON_KEY_PRINTPATH "path" #define JSON_KEY_PRINTPATH "path"
......
...@@ -23,6 +23,7 @@ HostWidget::HostWidget(QWidget *parent) : ...@@ -23,6 +23,7 @@ HostWidget::HostWidget(QWidget *parent) :
_widgetlist.append(ui->find); _widgetlist.append(ui->find);
_widgetlist.append(ui->Manager); _widgetlist.append(ui->Manager);
_widgetlist.append(ui->sign); _widgetlist.append(ui->sign);
_widgetlist.append(ui->wait);
_curr_show_widget = NULL; _curr_show_widget = NULL;
...@@ -35,18 +36,22 @@ HostWidget::HostWidget(QWidget *parent) : ...@@ -35,18 +36,22 @@ HostWidget::HostWidget(QWidget *parent) :
_label_find_timer = new LabelsTimer(ui->label_check_timer, 60, QString::fromLocal8Bit("%1 秒")); _label_find_timer = new LabelsTimer(ui->label_check_timer, 60, QString::fromLocal8Bit("%1 秒"));
_label_wait_timer = new LabelsTimer(ui->label_wait_time, 30, QString::fromLocal8Bit("%1 秒"));
connect(_label_pay_timer, &LabelsTimer::timeout, this, &HostWidget::on_TimeOut); connect(_label_pay_timer, &LabelsTimer::timeout, this, &HostWidget::on_TimeOut);
connect(_label_find_timer, &LabelsTimer::timeout, this, &HostWidget::on_TimeOut); connect(_label_find_timer, &LabelsTimer::timeout, this, &HostWidget::on_TimeOut);
connect(_label_wait_timer, &LabelsTimer::timeout, this, &HostWidget::on_TimeOut);
_label_pay_movie = new QMovie(":res/loading.gif"); _label_pay_movie = new QMovie(":res/loading.gif");
_label_pay_movie->start(); _label_pay_movie->start();
ui->label_pay_time_load->setMovie(_label_pay_movie); ui->label_pay_time_load->setMovie(_label_pay_movie);
ui->label_logo->setMovie(_label_pay_movie); ui->label_logo->setMovie(_label_pay_movie);
ui->label_wait_time_lod->setMovie(_label_pay_movie);
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableWidget->verticalHeader()->setDefaultSectionSize(45); ui->tableWidget->verticalHeader()->setDefaultSectionSize(45);
} }
...@@ -210,9 +215,6 @@ void HostWidget::ShowWiteJson(bool flag, QJsonObject object, QString error) ...@@ -210,9 +215,6 @@ void HostWidget::ShowWiteJson(bool flag, QJsonObject object, QString error)
_label_find_timer->stop(); _label_find_timer->stop();
_need_exit = true;
QLOG_INFO() << object; QLOG_INFO() << object;
if(!flag) if(!flag)
...@@ -265,26 +267,35 @@ void HostWidget::ShowWiteJson(bool flag, QJsonObject object, QString error) ...@@ -265,26 +267,35 @@ void HostWidget::ShowWiteJson(bool flag, QJsonObject object, QString error)
// QWidget *pWdg = new QWidget(ui->tableWidget); QWidget *pWdg = new QWidget(ui->tableWidget);
// QHBoxLayout *hLayout = new QHBoxLayout(pWdg); QHBoxLayout *hLayout = new QHBoxLayout(pWdg);
// QPushButton * pBtn = new QPushButton(pWdg); QPushButton * pBtn = new QPushButton(pWdg);
// pBtn->setFixedSize(70, 30); pBtn->setFixedSize(70, 30);
// pBtn->setFocusPolicy(Qt::NoFocus); pBtn->setFocusPolicy(Qt::NoFocus);
// pBtn->setProperty("orderId", tmp[JSON_KEY_FMID].toString()); pBtn->setProperty("orderId", tmp[JSON_KEY_FMID].toString());
// pBtn->setText(QString::fromLocal8Bit("打印"));
// hLayout->addWidget(pBtn); pBtn->setText(QString::fromLocal8Bit("打印"));
// hLayout->setMargin(0); hLayout->addWidget(pBtn);
// pWdg->setLayout(hLayout); hLayout->setMargin(0);
// ui->tableWidget->setCellWidget(0, 4, pWdg); // 操作按钮 pWdg->setLayout(hLayout);
// pBtn->setStyleSheet("border:0px;border-radius:2px;background-color: rgb(0, 179, 238);font: 75 20px \"Microsoft YaHei UI Light\";"); ui->tableWidget->setCellWidget(0, 4, pWdg); // 操作按钮
pBtn->setStyleSheet("border:0px;border-radius:2px;background-color: rgb(0, 179, 238);font: 75 20px \"Microsoft YaHei UI Light\";");
// connect(pBtn, &QPushButton::clicked, this, [this, pBtn]()
// { qDebug() << "********************-----------*******************" << tmp;
// QStringList list;
// list.append(pBtn->property("orderId").toString()); if(tmp[JSON_KEYT_STATE].toString().toInt() != 1)
// this->hide(); {
// emit RequestWithType(againprint, list); pBtn->setEnabled(false);
// }); pBtn->setStyleSheet("border:0px;border-radius:2px;background-color: rgb(208, 208, 208);font: 75 20px \"Microsoft YaHei UI Light\";");
}
connect(pBtn, &QPushButton::clicked, this, [this, pBtn]()
{
QStringList list;
list.append(pBtn->property("orderId").toString());
on_btn_printagain_clicked();
emit RequestWithType(againprint, list);
});
} }
ui->tableWidget->sortByColumn(2, Qt::DescendingOrder); ui->tableWidget->sortByColumn(2, Qt::DescendingOrder);
...@@ -402,23 +413,88 @@ void HostWidget::ShowWiteMGS(ReqType type, bool flag, QString message) ...@@ -402,23 +413,88 @@ void HostWidget::ShowWiteMGS(ReqType type, bool flag, QString message)
if(type == endday) if(type == endday)
{ {
emit Exits(); _need_exit = true;
return; _label_wait_timer->stop();
ui->label_wait_time_lod->setVisible(false);
ui->label_wait_title->show();
ui->btn_wait_quit->show();
ui->btn_wait_quit->setText(QString::fromLocal8Bit("确认"));
if(flag) {
ui->label_wait_msg_time->setVisible(true);
_label_wait_timer->setLabel(ui->label_wait_msg_time);
_label_wait_timer->start(3);
ui->label_wait_title->setText(message);
ui->label_wait_time->setPixmap(QPixmap(":res/success.png"));
} else {
ui->label_wait_title->setText(message);
ui->label_wait_time->setPixmap(QPixmap(":res/warning.png"));
} }
return ;
}
if(type == shift) if(type == shift)
{ {
emit Exits(); _need_exit = true;
return; _label_wait_timer->stop();
ui->label_wait_time_lod->setVisible(false);
ui->label_wait_title->show();
ui->btn_wait_quit->show();
ui->btn_wait_quit->setText(QString::fromLocal8Bit("确认"));
if(flag) {
ui->label_wait_msg_time->setVisible(true);
_label_wait_timer->setLabel(ui->label_wait_msg_time);
_label_wait_timer->start(3);
ui->label_wait_title->setText(message);
ui->label_wait_time->setPixmap(QPixmap(":res/success.png"));
} else {
ui->label_wait_title->setText(message);
ui->label_wait_time->setPixmap(QPixmap(":res/warning.png"));
}
return ;
} }
if(type == againprint) if(type == againprint)
{ {
emit Exits(); _need_exit = true;
return; _label_pay_timer->stop();
ui->label_pay_time_load->setVisible(false);
ui->label_pay_money->setVisible(true);
ui->label_pay_money->setText(message);
ui->label_pay_title->show();
ui->label_pay_msg_time->show();
ui->btn_pay_exit->setVisible(true);
ui->btn_pay_exit->setText(QString::fromLocal8Bit("确认"));
if(flag) {
ui->label_pay_msg_time->setVisible(true);
_label_pay_timer->setLabel(ui->label_pay_msg_time);
_label_pay_timer->start(3);
ui->label_pay_title->setText(QString::fromLocal8Bit("重印小票成功"));
ui->label_pay_time->setPixmap(QPixmap(":res/success.png"));
} else {
ui->label_pay_msg_time->hide();
ui->label_pay_title->setText(QString::fromLocal8Bit("重印小票失败"));
ui->label_pay_time->setPixmap(QPixmap(":res/warning.png"));
}
return ;
} }
} }
void HostWidget::on_btn_printagain_clicked()
{
_type = againprint;
ui->label_pay_title->hide();
ui->label_pay_money->hide();
//ui->label_pay_msg_time->hide();
ui->btn_pay_exit->hide();
ShowWidget(ui->pay);
_curr_show_widget = ui->pay;
}
void HostWidget::on_btn_mananger_register_clicked() void HostWidget::on_btn_mananger_register_clicked()
{ {
QStringList list; QStringList list;
...@@ -453,7 +529,14 @@ void HostWidget::on_btn_mananger_print_clicked() ...@@ -453,7 +529,14 @@ void HostWidget::on_btn_mananger_print_clicked()
{ {
QStringList list; QStringList list;
this->hide(); // this->hide();
ui->label_wait_msg_time->setVisible(false);
ui->btn_wait_quit->hide();
ui->label_wait_time_lod->setVisible(true);
ui->label_wait_title->setText(QString::fromLocal8Bit("正在打印日结单.."));
ShowWidget(ui->wait);
_curr_show_widget = ui->wait;
_label_wait_timer->start();
emit RequestWithType(endday, list); emit RequestWithType(endday, list);
} }
...@@ -511,7 +594,14 @@ void HostWidget::on_btn_mananger_print_shift_clicked() ...@@ -511,7 +594,14 @@ void HostWidget::on_btn_mananger_print_shift_clicked()
{ {
QStringList list; QStringList list;
this->hide(); // this->hide();
ui->label_wait_msg_time->setVisible(false);
ui->btn_wait_quit->hide();
ui->label_wait_time_lod->setVisible(true);
ui->label_wait_title->setText(QString::fromLocal8Bit("正在打印交班单.."));
ShowWidget(ui->wait);
_curr_show_widget = ui->wait;
_label_wait_timer->start();
emit RequestWithType(shift, list); emit RequestWithType(shift, list);
} }
...@@ -524,10 +614,21 @@ void HostWidget::on_btn_find_check_clicked() ...@@ -524,10 +614,21 @@ void HostWidget::on_btn_find_check_clicked()
QStringList headerString; QStringList headerString;
headerString<<QString::fromLocal8Bit("订单编号")<<QString::fromLocal8Bit("订单金额")<<QString::fromLocal8Bit("订单时间")<<QString::fromLocal8Bit("支付状态")/*<<QString::fromLocal8Bit("操作")*/; headerString<<QString::fromLocal8Bit("订单编号")<<QString::fromLocal8Bit("订单金额")<<QString::fromLocal8Bit("订单时间")<<QString::fromLocal8Bit("支付状态")/*<<QString::fromLocal8Bit("操作")*/;
int width = ui->widget_find_main->width() - 4;
qDebug() << "===========" << width;
//ui->tableWidget->setColumnWidth(0,1/10.0*width);
ui->tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{border: 0px;font: 75 18px \"Microsoft YaHei UI Light\";}"); ui->tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{border: 0px;font: 75 18px \"Microsoft YaHei UI Light\";}");
ui->tableWidget->horizontalHeader()->setFixedHeight(25); //设置表头的高度 ui->tableWidget->horizontalHeader()->setFixedHeight(25); //设置表头的高度
ui->tableWidget->setHorizontalHeaderLabels(headerString); ui->tableWidget->setHorizontalHeaderLabels(headerString);
ui->tableWidget->setColumnWidth(0,5/14.0*width);
ui->tableWidget->setColumnWidth(1,2/14.0*width);
ui->tableWidget->setColumnWidth(2,3/14.0*width);
ui->tableWidget->setColumnWidth(3,2/14.0*width);
ui->frame->hide(); ui->frame->hide();
ui->widget_check_load->show(); ui->widget_check_load->show();
ui->btn_find_check->hide(); ui->btn_find_check->hide();
...@@ -558,3 +659,13 @@ void HostWidget::on_btn_find_up_clicked() ...@@ -558,3 +659,13 @@ void HostWidget::on_btn_find_up_clicked()
} }
on_btn_find_check_clicked(); on_btn_find_check_clicked();
} }
void HostWidget::on_btn_wait_quit_clicked()
{
_label_wait_timer->stop();
this->hide();
if(_need_exit)
emit Exits();
else
emit ExitWithMSG("02", QString::fromLocal8Bit("收银员取消"));
}
...@@ -45,6 +45,8 @@ protected: ...@@ -45,6 +45,8 @@ protected:
void keyPressEvent(QKeyEvent *ke); void keyPressEvent(QKeyEvent *ke);
private slots: private slots:
void on_btn_printagain_clicked();
void on_btn_mananger_register_clicked(); void on_btn_mananger_register_clicked();
void on_btn_mananger_check_clicked(); void on_btn_mananger_check_clicked();
...@@ -71,6 +73,8 @@ private slots: ...@@ -71,6 +73,8 @@ private slots:
void on_btn_mananger_print_shift_clicked(); void on_btn_mananger_print_shift_clicked();
void on_btn_wait_quit_clicked();
private: private:
void ShowWidget(QWidget *showwidget); void ShowWidget(QWidget *showwidget);
...@@ -92,6 +96,8 @@ private: ...@@ -92,6 +96,8 @@ private:
LabelsTimer *_label_find_timer; LabelsTimer *_label_find_timer;
LabelsTimer *_label_wait_timer;
QMovie *_label_pay_movie; QMovie *_label_pay_movie;
int _line; int _line;
......
...@@ -289,7 +289,7 @@ int main(int argc, char *argv[]) ...@@ -289,7 +289,7 @@ int main(int argc, char *argv[])
// control.Start(as, b); // control.Start(as, b);
char spccIn[MAX_BUF_LEN] = "{\"fmId\":\"0123456789012345678\",\"reqType\":353,\"storeId\":\"1713\",\"stationId\":\"1\",\"partnerId\":1443,\"operatorId\":\"sssaw\",\"transId\":\"52342342323806\",\"transAmount\":8000,\"partnerOrderId\":\"909911039993720192019\",\"businessDate\":\"20170508\",\"products\":[{\"pid\":\"123\",\"name\":\"中杯拿铁\",\"price\":321,\"salesType\":\"NORMAL\"}]}"; char spccIn[MAX_BUF_LEN] = "{\"fmId\":\"0123456789012345678\",\"reqType\":351,\"storeId\":\"1713\",\"stationId\":\"1\",\"partnerId\":1443,\"operatorId\":\"sssaw\",\"transId\":\"52342342323806\",\"transAmount\":8000,\"partnerOrderId\":\"909911039993720192019\",\"businessDate\":\"20170508\",\"products\":[{\"pid\":\"123\",\"name\":\"中杯拿铁\",\"price\":321,\"salesType\":\"NORMAL\"}]}";
control.Start(spccIn, b); control.Start(spccIn, b);
return a.exec(); return a.exec();
......
...@@ -13,10 +13,9 @@ TARGET = sbkpay ...@@ -13,10 +13,9 @@ TARGET = sbkpay
include("./QsLog/QsLog.pri") include("./QsLog/QsLog.pri")
CONFIG += C++11 SBKDLL CONFIG += C++11 SBKDLL1
#DEFINES += SBKTEST DEFINES += MOCK
#DEFINES += SBKDLL
include($$PWD/qtwinmigrate/src/qtwinmigrate.pri) include($$PWD/qtwinmigrate/src/qtwinmigrate.pri)
......
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