Commit c52b1661 by xiaoqing.gu

1、新增入机功能的商户号过滤 2、修改杯贴打印模板 3、修复第三方单子完成不能退款的bug(显示同意按钮) 4、将餐盒费和打包费当成单品入机 5、登陆界面的行编辑器过滤中文和特殊字符

parent ed872127
...@@ -1004,12 +1004,22 @@ bool NewPrintLib::DoLabelModelPrint(const QString &config, const QString &contex ...@@ -1004,12 +1004,22 @@ bool NewPrintLib::DoLabelModelPrint(const QString &config, const QString &contex
sendtimes.append(QDateTime::fromTime_t(order->delivery_time).toString("yyyy-MM-dd hh:mm:ss")); sendtimes.append(QDateTime::fromTime_t(order->delivery_time).toString("yyyy-MM-dd hh:mm:ss"));
} }
//匹配杯贴打印模板,组装新的数据对象
QJsonObject prdObj; QJsonObject prdObj;
prdObj.insert("prt_title", tmptitle); // prdObj.insert("prt_title", tmptitle);
prdObj.insert("prt_singleproduct", prodname.append(QString("\x20\xC2\xA5")).append(QString::number(dish->price/100.0, 'f', 2))); // prdObj.insert("prt_singleproduct", prodname.append(QString("\x20\xC2\xA5")).append(QString::number(dish->price/100.0, 'f', 2)));
prdObj.insert("prt_property", property_tags); // prdObj.insert("prt_property", property_tags);
prdObj.insert("prt_sendtimes", sendtimes); // prdObj.insert("prt_sendtimes", sendtimes);
prdObj.insert("prt_store", order->store_name); // prdObj.insert("prt_store", order->store_name);
prdObj.insert("code", QString::number(order->order_index));
prdObj.insert("datetime", datetime);
prdObj.insert("current_index", index);
prdObj.insert("allprod_num", allprod);
prdObj.insert("prod_name", prodname);
prdObj.insert("prod_price", QString::number(dish->price/100.0, 'f', 2));
prdObj.insert("property_tags", property_tags);
prdObj.insert("sendtimes", sendtimes);
prdObj.insert("store_name", order->store_name);
char *singlePrdPrt = NULL; char *singlePrdPrt = NULL;
......
...@@ -81,20 +81,21 @@ bool OrderEntryWork::event(QEvent *e) ...@@ -81,20 +81,21 @@ bool OrderEntryWork::event(QEvent *e)
GETEVENTINFO(orderid,e,QString); GETEVENTINFO(orderid,e,QString);
QLOG_DEBUG() << "event received" << orderid; QLOG_DEBUG() << "event received" << orderid << m_partnerid;
OrderObject order; OrderObject order;
int status = DefaultOrder, refund_status = DefaultOrder; int status = DefaultOrder, refund_status = DefaultOrder;
bool oldorder; bool oldorder;
PosOrderPool::GetOrderStatus(orderid,status,refund_status,oldorder); PosOrderPool::GetOrderStatus(orderid,status,refund_status,oldorder);
if(PosOrderPool::GetOrderObject(orderid, order)) { if(PosOrderPool::GetOrderObject(orderid, order)) {
// if(m_partnerid == 2055) { //书亦的商户号,目前只有书亦需要入机 if(m_partnerid == "2055") { //书亦的商户号,目前只有书亦需要入机
if((status == CompleteOrder || status == ServiceOrder) && QLOG_DEBUG()<<"start orderentrywork!";
!(refund_status == ApplicationRefundOrder || refund_status == ApplicationPartialRefundOrder)) { if((status == CompleteOrder || status == ServiceOrder) &&
!(refund_status == ApplicationRefundOrder || refund_status == ApplicationPartialRefundOrder)) {
orderInput(orderid); orderInput(orderid);
}
} }
// }
} }
return true; return true;
...@@ -221,10 +222,10 @@ void OrderEntryWork::orderInput(QString orderid) ...@@ -221,10 +222,10 @@ void OrderEntryWork::orderInput(QString orderid)
} }
QString OrderEntryWork::getLBBM(QString LBMC) QString OrderEntryWork::getLBBM(QString XMBH)
{ {
QSqlQuery query; QSqlQuery query;
QString str = QString("SELECT LBBM FROM JYXMSZ WHERE XMBH = '%1'").arg(LBMC); QString str = QString("SELECT LBBM FROM JYXMSZ WHERE XMBH = '%1'").arg(XMBH);
bool res = query.exec(str); bool res = query.exec(str);
QLOG_DEBUG() << "OrderEntryWork::getLBBM" <<str << res; QLOG_DEBUG() << "OrderEntryWork::getLBBM" <<str << res;
if(res) { if(res) {
...@@ -369,10 +370,10 @@ bool OrderEntryWork::insertXSJBXXtable(OrderObject order, QString &error) ...@@ -369,10 +370,10 @@ bool OrderEntryWork::insertXSJBXXtable(OrderObject order, QString &error)
BY7 = QString::fromLocal8Bit(XSJBXX_BY7_SAAS) + order.order_id; BY7 = QString::fromLocal8Bit(XSJBXX_BY7_SAAS) + order.order_id;
} }
double JEZJ = order.total_fee/100.00; double JEZJ = order.total_fee/100.00; //订单总额
double ZKJE = 0; double ZKJE = 0;
double ZRJE = 0; double ZRJE = 0;
double YS = order.total_fee/100.00; double YS = (order.total_fee - order.discount_fee)/100.00; //扣减优惠金额后的金额
double SS = 0; double SS = 0;
QDateTime DDSJ = QDateTime::fromTime_t(order.create_time); QDateTime DDSJ = QDateTime::fromTime_t(order.create_time);
QDateTime JYSJ = QDateTime::fromTime_t(order.create_time); QDateTime JYSJ = QDateTime::fromTime_t(order.create_time);
...@@ -458,6 +459,107 @@ bool OrderEntryWork::insertXSMXXXtable(OrderObject order,QString &error) ...@@ -458,6 +459,107 @@ bool OrderEntryWork::insertXSMXXXtable(OrderObject order,QString &error)
QString configfile = qApp->applicationDirPath() + "/" + CONFIG_NAME; QString configfile = qApp->applicationDirPath() + "/" + CONFIG_NAME;
QSettings(configfile, QSettings::IniFormat).setValue(INI_BASE_SERIAL, m_index); QSettings(configfile, QSettings::IniFormat).setValue(INI_BASE_SERIAL, m_index);
} }
//餐盒费以单品入机
if(order.package_fee != 0) {
QString XH = order.fm_id + QString("_") + QString::number(m_index);
QString XSDH = order.fm_id;
QString XMBH = "JH002";
QString XMMC = QString::fromLocal8Bit(XSMXXX_JH002);
QString TM = "JH002";
double YSJG = order.package_fee/100.00;
double XSJG = order.package_fee/100.00;
double SL = 1;
double XSJEXJ = order.package_fee/100.00;
double FTJE = order.package_fee/100.00;
QString SYYXM;
QString channel = order.channel;
if(channel == "mt") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_MT);
} else if(channel == "elm") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_ELM);
} else if(channel == "bd") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_BD);
} else if(channel == "jddj") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_JDDJ);
} else if(channel == "saas") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_SAAS);
}
QString SSLBBM = "JH";
QLOG_DEBUG() << "INSERT XSMXXX TABLE" << SSLBBM;
QString SFXS = "1";
QSqlQuery query;
QString str = QString("INSERT INTO XSMXXX (XH,XSDH,XMBH,XMMC,TM"
",YSJG,XSJG,SL,XSJEXJ,FTJE,SYYXM,SSLBBM,SFXS) VALUES ("
"'%1','%2','%3','%4','%5',%6,%7,%8,%9,%10,'%11','%12','%13');")
.arg(XH).arg(XSDH).arg(XMBH).arg(XMMC).arg(TM).arg(YSJG)
.arg(XSJG).arg(SL).arg(XSJEXJ).arg(FTJE).arg(SYYXM).arg(SSLBBM).arg(SFXS);
QLOG_DEBUG() << "OrderEntryWork::package_fee insertXSMXXXtable:" << str;
bool flag = query.exec(str);
if(!flag) {
error = query.lastError().databaseText() + "/" + order.order_id;
QLOG_ERROR() << "package_fee insertXSMXXXtable error:" << error;
res = false;
return res;
}
m_index++;
QString configfile = qApp->applicationDirPath() + "/" + CONFIG_NAME;
QSettings(configfile, QSettings::IniFormat).setValue(INI_BASE_SERIAL, m_index);
}
//如果配送费不为空,则将配送费入机
if(order.send_fee != 0) {
QString XH = order.fm_id + QString("_") + QString::number(m_index);
QString XSDH = order.fm_id;
QString XMBH = "JH001";
QString XMMC = QString::fromLocal8Bit(XSMXXX_JH001);
QString TM = "JH001";
double YSJG = order.send_fee/100.00;
double XSJG = order.send_fee/100.00;
double SL = 1;
double XSJEXJ = order.send_fee/100.00;
double FTJE = order.send_fee/100.00;
QString SYYXM;
QString channel = order.channel;
if(channel == "mt") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_MT);
} else if(channel == "elm") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_ELM);
} else if(channel == "bd") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_BD);
} else if(channel == "jddj") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_JDDJ);
} else if(channel == "saas") {
SYYXM = QString::fromLocal8Bit(XSJBXX_DDYBH_SAAS);
}
QString SSLBBM = "JH";
QLOG_DEBUG() << "INSERT XSMXXX TABLE" << SSLBBM;
QString SFXS = "1";
QSqlQuery query;
QString str = QString("INSERT INTO XSMXXX (XH,XSDH,XMBH,XMMC,TM"
",YSJG,XSJG,SL,XSJEXJ,FTJE,SYYXM,SSLBBM,SFXS) VALUES ("
"'%1','%2','%3','%4','%5',%6,%7,%8,%9,%10,'%11','%12','%13');")
.arg(XH).arg(XSDH).arg(XMBH).arg(XMMC).arg(TM).arg(YSJG)
.arg(XSJG).arg(SL).arg(XSJEXJ).arg(FTJE).arg(SYYXM).arg(SSLBBM).arg(SFXS);
QLOG_DEBUG() << "OrderEntryWork::send_fee insertXSMXXXtable:" << str;
bool flag = query.exec(str);
if(!flag) {
error = query.lastError().databaseText() + "/" + order.order_id;
QLOG_ERROR() << "send_fee insertXSMXXXtable error:" << error;
res = false;
return res;
}
m_index++;
QString configfile = qApp->applicationDirPath() + "/" + CONFIG_NAME;
QSettings(configfile, QSettings::IniFormat).setValue(INI_BASE_SERIAL, m_index);
}
return res; return res;
} }
...@@ -484,7 +586,7 @@ bool OrderEntryWork::insertXSFKFStable(OrderObject order,QString &error) ...@@ -484,7 +586,7 @@ bool OrderEntryWork::insertXSFKFStable(OrderObject order,QString &error)
NR = QString::fromLocal8Bit(XSFKFS_BM_SAAS) + QString("-") + QString(order.pay_type); NR = QString::fromLocal8Bit(XSFKFS_BM_SAAS) + QString("-") + QString(order.pay_type);
} }
double FKJE = order.total_fee/100.00; double FKJE = order.user_fee/100.00;
int DYQZS = 1; int DYQZS = 1;
QSqlQuery query(m_db); QSqlQuery query(m_db);
......
...@@ -72,7 +72,7 @@ private: ...@@ -72,7 +72,7 @@ private:
void orderInput(QString orderid); void orderInput(QString orderid);
//通过商品名称获取项目编号 //通过商品名称获取项目编号
QString getLBBM(QString LBMC); QString getLBBM(QString XMBH);
QString getXMBH(QString LBBM); QString getXMBH(QString LBBM);
......
...@@ -441,6 +441,8 @@ ...@@ -441,6 +441,8 @@
#define XSJBXX_BY7_BD "百度外卖平台订单 " #define XSJBXX_BY7_BD "百度外卖平台订单 "
#define XSJBXX_BY7_JDDJ "京东到家平台订单 " #define XSJBXX_BY7_JDDJ "京东到家平台订单 "
#define XSJBXX_BY7_SAAS "开个店平台订单 " #define XSJBXX_BY7_SAAS "开个店平台订单 "
#define XSMXXX_JH001 "配送费"
#define XSMXXX_JH002 "餐盒费"
#define XSFKFS_BM_MT "美团外卖" #define XSFKFS_BM_MT "美团外卖"
#define XSFKFS_BM_ELM "饿了么外卖" #define XSFKFS_BM_ELM "饿了么外卖"
#define XSFKFS_BM_BD "百度外卖" #define XSFKFS_BM_BD "百度外卖"
......
...@@ -615,7 +615,7 @@ void NewFloatForm::onStartRemind(int type) ...@@ -615,7 +615,7 @@ void NewFloatForm::onStartRemind(int type)
case 2: case 2:
m_remindWav = QString("%1/wav/msg2.wav").arg(QApplication::applicationDirPath()); m_remindWav = QString("%1/wav/msg2.wav").arg(QApplication::applicationDirPath());
m_wavPlayInterval = ConfigManger::GetInstance().GetSoundInterval() + VALUE_REFUNDORDERTIME; m_wavPlayInterval = ConfigManger::GetInstance().GetSoundInterval() + VALUE_REFUNDORDERTIME;
if(ui->widget_back_synshow->isHidden() && m_is_login && ui->widget_front_synshow->isHidden()) if(ui->widget_back_synshow->isHidden() && /*m_is_login &&*/ ui->widget_front_synshow->isHidden())
{ {
if(pos().x() > tmpdesktopSize.width() - 2*(ui->widget_base->width())) if(pos().x() > tmpdesktopSize.width() - 2*(ui->widget_base->width()))
{ {
...@@ -628,13 +628,13 @@ void NewFloatForm::onStartRemind(int type) ...@@ -628,13 +628,13 @@ void NewFloatForm::onStartRemind(int type)
if(!ui->widget_base_frame->isHidden()) if(!ui->widget_base_frame->isHidden())
ui->widget_base_frame->hide(); ui->widget_base_frame->hide();
} }
else if(!ui->widget_back_synshow->isHidden() && m_is_login) else if(!ui->widget_back_synshow->isHidden() /*&& m_is_login*/)
{ {
// ui->widget_back_synshow->hide(); // ui->widget_back_synshow->hide();
ui->label_back_newmsg->setText(QString::fromLocal8Bit("网络异常")); ui->label_back_newmsg->setText(QString::fromLocal8Bit("网络异常"));
if(ui->widget_base_frame->isHidden()) if(ui->widget_base_frame->isHidden())
ui->widget_base_frame->show(); ui->widget_base_frame->show();
} else if(!ui->widget_front_synshow->isHidden() && m_is_login) { } else if(!ui->widget_front_synshow->isHidden() /*&& m_is_login*/) {
// ui->widget_front_synshow->hide(); // ui->widget_front_synshow->hide();
ui->label_front_newmsg->setText(QString::fromLocal8Bit("网络异常")); ui->label_front_newmsg->setText(QString::fromLocal8Bit("网络异常"));
if(ui->widget_base_frame->isHidden()) if(ui->widget_base_frame->isHidden())
......
...@@ -24,6 +24,14 @@ NewLoginForm::NewLoginForm(QWidget *parent) : ...@@ -24,6 +24,14 @@ NewLoginForm::NewLoginForm(QWidget *parent) :
ui->label_logotitle_2->setText(QString::fromLocal8Bit("非码SaaS点餐小程序门店管理")); ui->label_logotitle_2->setText(QString::fromLocal8Bit("非码SaaS点餐小程序门店管理"));
//输入框中进行正则表达式的过滤
QRegExp rx("^[A-Za-z0-9]+$");
QRegExpValidator *pRevalidotor = new QRegExpValidator(rx, this);
ui->lineEdit_partnerid_2->setValidator(pRevalidotor);
ui->lineEdit_storeid_2->setValidator(pRevalidotor);
ui->lineEdit_account_2->setValidator(pRevalidotor);
ui->lineEdit_pwd_2->setValidator(pRevalidotor);
frmInput::Instance()->Init("control", "black", 10, 10); frmInput::Instance()->Init("control", "black", 10, 10);
connect(ui->lineEdit_account_2, &ClickedLineEdit::clicked, this, &NewLoginForm::GetCurrLineEdit); connect(ui->lineEdit_account_2, &ClickedLineEdit::clicked, this, &NewLoginForm::GetCurrLineEdit);
...@@ -266,7 +274,10 @@ void NewLoginForm::on_pushButton_login_2_clicked() ...@@ -266,7 +274,10 @@ void NewLoginForm::on_pushButton_login_2_clicked()
QVariantMap map; QVariantMap map;
if(ui->lineEdit_pwd_2->text().isEmpty()) if(ui->lineEdit_pwd_2->text().isEmpty())
{
onShowAlert(AlertForm::ERROR, QString::fromLocal8Bit("商户号/门店号/POS编号/账号/密码均不能为空"));
return; return;
}
if(ui->lineEdit_account_2->text().isEmpty() || if(ui->lineEdit_account_2->text().isEmpty() ||
ui->lineEdit_pwd_2->text().isEmpty() || ui->lineEdit_pwd_2->text().isEmpty() ||
...@@ -278,6 +289,8 @@ void NewLoginForm::on_pushButton_login_2_clicked() ...@@ -278,6 +289,8 @@ void NewLoginForm::on_pushButton_login_2_clicked()
return ; return ;
} }
map.insert(JSON_STOREID, ui->lineEdit_storeid_2->text()); map.insert(JSON_STOREID, ui->lineEdit_storeid_2->text());
// map.insert(JSON_STATIONID, ui->lineEdit_posno_2->text()); // map.insert(JSON_STATIONID, ui->lineEdit_posno_2->text());
map.insert(JSON_KEY_USERID, ui->lineEdit_account_2->text()); map.insert(JSON_KEY_USERID, ui->lineEdit_account_2->text());
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include "ui_orderoptform.h" #include "ui_orderoptform.h"
#include "model/posorderpool.h" #include "model/posorderpool.h"
#include "preDefine.h" #include "preDefine.h"
#include "QsLog.h"
OrderOptForm::OrderOptForm(QWidget *parent) : OrderOptForm::OrderOptForm(QWidget *parent) :
QWidget(parent), QWidget(parent),
...@@ -45,8 +46,10 @@ void OrderOptForm::InitShow(QString order_id, int order_status, int refund_statu ...@@ -45,8 +46,10 @@ void OrderOptForm::InitShow(QString order_id, int order_status, int refund_statu
ui->horizontalSpacer->changeSize(0, 10); ui->horizontalSpacer->changeSize(0, 10);
ui->btn_orderopt2->hide(); ui->btn_orderopt2->hide();
QLOG_DEBUG() << "OrderOptForm::InitShow" << order_status << refund_status <<order_id <<order_type;
int status = GetOrderStatus(order_status, refund_status); int status = GetOrderStatus(order_status, refund_status);
QLOG_DEBUG() << status;
QString name; QString name;
...@@ -58,6 +61,9 @@ void OrderOptForm::InitShow(QString order_id, int order_status, int refund_statu ...@@ -58,6 +61,9 @@ void OrderOptForm::InitShow(QString order_id, int order_status, int refund_statu
} }
else else
{ {
//解决第三方订单已完成申请退款不显示同意按钮的bug,因为已完成的订单,默认将最后的操作按钮隐藏,所以需要将它展示出来
if(ui->btn_orderopt->isHidden())
ui->btn_orderopt->show();
ui->btn_orderopt->setText(name); ui->btn_orderopt->setText(name);
} }
...@@ -128,9 +134,14 @@ bool OrderOptForm::getOrderOptAndName(int status, int order_type, QString &optna ...@@ -128,9 +134,14 @@ bool OrderOptForm::getOrderOptAndName(int status, int order_type, QString &optna
ui->btn_orderopt->setStyleSheet("#btn_orderopt{ background:rgb(236, 67, 56);border:1px solid rgb(236, 67, 56); }"); ui->btn_orderopt->setStyleSheet("#btn_orderopt{ background:rgb(236, 67, 56);border:1px solid rgb(236, 67, 56); }");
return true; return true;
case ServiceOrder: case ServiceOrder:
return false;
case CompleteOrder: case CompleteOrder:
return false; return false;
case ApplicationRefundOrder: case ApplicationRefundOrder:
optname = OPERATION_REFUNDORDER;
name = QString::fromUtf8("\xE5\x90\x8C\xE6\x84\x8F");
ui->btn_orderopt->setStyleSheet("#btn_orderopt{ background:rgb(25, 166, 119);border:1px solid rgb(25, 166, 119); }");
return true;
case ApplicationPartialRefundOrder: case ApplicationPartialRefundOrder:
optname = OPERATION_REFUNDORDER; optname = OPERATION_REFUNDORDER;
name = QString::fromUtf8("\xE5\x90\x8C\xE6\x84\x8F"); name = QString::fromUtf8("\xE5\x90\x8C\xE6\x84\x8F");
......
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