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
sendtimes.append(QDateTime::fromTime_t(order->delivery_time).toString("yyyy-MM-dd hh:mm:ss"));
}
//匹配杯贴打印模板,组装新的数据对象
QJsonObject prdObj;
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_property", property_tags);
prdObj.insert("prt_sendtimes", sendtimes);
prdObj.insert("prt_store", order->store_name);
// 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_property", property_tags);
// prdObj.insert("prt_sendtimes", sendtimes);
// 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;
......
......@@ -81,20 +81,21 @@ bool OrderEntryWork::event(QEvent *e)
GETEVENTINFO(orderid,e,QString);
QLOG_DEBUG() << "event received" << orderid;
QLOG_DEBUG() << "event received" << orderid << m_partnerid;
OrderObject order;
int status = DefaultOrder, refund_status = DefaultOrder;
bool oldorder;
PosOrderPool::GetOrderStatus(orderid,status,refund_status,oldorder);
if(PosOrderPool::GetOrderObject(orderid, order)) {
// if(m_partnerid == 2055) { //书亦的商户号,目前只有书亦需要入机
if((status == CompleteOrder || status == ServiceOrder) &&
!(refund_status == ApplicationRefundOrder || refund_status == ApplicationPartialRefundOrder)) {
if(m_partnerid == "2055") { //书亦的商户号,目前只有书亦需要入机
QLOG_DEBUG()<<"start orderentrywork!";
if((status == CompleteOrder || status == ServiceOrder) &&
!(refund_status == ApplicationRefundOrder || refund_status == ApplicationPartialRefundOrder)) {
orderInput(orderid);
orderInput(orderid);
}
}
// }
}
return true;
......@@ -221,10 +222,10 @@ void OrderEntryWork::orderInput(QString orderid)
}
QString OrderEntryWork::getLBBM(QString LBMC)
QString OrderEntryWork::getLBBM(QString XMBH)
{
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);
QLOG_DEBUG() << "OrderEntryWork::getLBBM" <<str << res;
if(res) {
......@@ -369,10 +370,10 @@ bool OrderEntryWork::insertXSJBXXtable(OrderObject order, QString &error)
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 ZRJE = 0;
double YS = order.total_fee/100.00;
double YS = (order.total_fee - order.discount_fee)/100.00; //扣减优惠金额后的金额
double SS = 0;
QDateTime DDSJ = 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)
QString configfile = qApp->applicationDirPath() + "/" + CONFIG_NAME;
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;
}
......@@ -484,7 +586,7 @@ bool OrderEntryWork::insertXSFKFStable(OrderObject order,QString &error)
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;
QSqlQuery query(m_db);
......
......@@ -72,7 +72,7 @@ private:
void orderInput(QString orderid);
//通过商品名称获取项目编号
QString getLBBM(QString LBMC);
QString getLBBM(QString XMBH);
QString getXMBH(QString LBBM);
......
......@@ -441,6 +441,8 @@
#define XSJBXX_BY7_BD "百度外卖平台订单 "
#define XSJBXX_BY7_JDDJ "京东到家平台订单 "
#define XSJBXX_BY7_SAAS "开个店平台订单 "
#define XSMXXX_JH001 "配送费"
#define XSMXXX_JH002 "餐盒费"
#define XSFKFS_BM_MT "美团外卖"
#define XSFKFS_BM_ELM "饿了么外卖"
#define XSFKFS_BM_BD "百度外卖"
......
......@@ -615,7 +615,7 @@ void NewFloatForm::onStartRemind(int type)
case 2:
m_remindWav = QString("%1/wav/msg2.wav").arg(QApplication::applicationDirPath());
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()))
{
......@@ -628,13 +628,13 @@ void NewFloatForm::onStartRemind(int type)
if(!ui->widget_base_frame->isHidden())
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->label_back_newmsg->setText(QString::fromLocal8Bit("网络异常"));
if(ui->widget_base_frame->isHidden())
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->label_front_newmsg->setText(QString::fromLocal8Bit("网络异常"));
if(ui->widget_base_frame->isHidden())
......
......@@ -24,6 +24,14 @@ NewLoginForm::NewLoginForm(QWidget *parent) :
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);
connect(ui->lineEdit_account_2, &ClickedLineEdit::clicked, this, &NewLoginForm::GetCurrLineEdit);
......@@ -266,7 +274,10 @@ void NewLoginForm::on_pushButton_login_2_clicked()
QVariantMap map;
if(ui->lineEdit_pwd_2->text().isEmpty())
{
onShowAlert(AlertForm::ERROR, QString::fromLocal8Bit("商户号/门店号/POS编号/账号/密码均不能为空"));
return;
}
if(ui->lineEdit_account_2->text().isEmpty() ||
ui->lineEdit_pwd_2->text().isEmpty() ||
......@@ -278,6 +289,8 @@ void NewLoginForm::on_pushButton_login_2_clicked()
return ;
}
map.insert(JSON_STOREID, ui->lineEdit_storeid_2->text());
// map.insert(JSON_STATIONID, ui->lineEdit_posno_2->text());
map.insert(JSON_KEY_USERID, ui->lineEdit_account_2->text());
......
......@@ -2,6 +2,7 @@
#include "ui_orderoptform.h"
#include "model/posorderpool.h"
#include "preDefine.h"
#include "QsLog.h"
OrderOptForm::OrderOptForm(QWidget *parent) :
QWidget(parent),
......@@ -45,8 +46,10 @@ void OrderOptForm::InitShow(QString order_id, int order_status, int refund_statu
ui->horizontalSpacer->changeSize(0, 10);
ui->btn_orderopt2->hide();
QLOG_DEBUG() << "OrderOptForm::InitShow" << order_status << refund_status <<order_id <<order_type;
int status = GetOrderStatus(order_status, refund_status);
QLOG_DEBUG() << status;
QString name;
......@@ -58,6 +61,9 @@ void OrderOptForm::InitShow(QString order_id, int order_status, int refund_statu
}
else
{
//解决第三方订单已完成申请退款不显示同意按钮的bug,因为已完成的订单,默认将最后的操作按钮隐藏,所以需要将它展示出来
if(ui->btn_orderopt->isHidden())
ui->btn_orderopt->show();
ui->btn_orderopt->setText(name);
}
......@@ -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); }");
return true;
case ServiceOrder:
return false;
case CompleteOrder:
return false;
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:
optname = OPERATION_REFUNDORDER;
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