Commit 88e95e81 by wuyang.zou

1. 退货时查看收银小票和汇总单打印平台优惠

                    2. 下单2杯同样商品,一个存在优惠(且没有配料,没有加热选项),插件会录入两次优惠折扣
                    3.插件界面支持 显示平台优惠
                    4. 外卖订单入机支持 星巴克App的优惠折扣入机
                    5. sim 获取订单数据,且此笔订单的配料当成主商品且必须两个主商品以上传递插件;由于代码Bug:continue 会导致插件奔溃;
parent 80d5ce8d
...@@ -141,6 +141,11 @@ private: ...@@ -141,6 +141,11 @@ private:
//插件订单创造新订单,订单数据解析时,必须加锁,防止订单对象的数据被窜改; //插件订单创造新订单,订单数据解析时,必须加锁,防止订单对象的数据被窜改;
//QMutex m_UpdateOrderObjMutex; //QMutex m_UpdateOrderObjMutex;
//新增三个bool变量用来标识 程序初始化时,两个数据库中的三张表是否能够连接正常;
bool m_initSimProcOrderDBRet;
bool m_initPrintSumBillPosDBRet;
bool m_initGetAuthPosDBRet;
signals: signals:
// 发送信号给自己 做登陆 // 发送信号给自己 做登陆
void doLogin(); void doLogin();
......
...@@ -16,9 +16,9 @@ bool GetCaboxAReAuth::initGetAuthPosDB(){ ...@@ -16,9 +16,9 @@ bool GetCaboxAReAuth::initGetAuthPosDB(){
m_sqlDb.setDatabaseName(dsn); //设置数据源名称 m_sqlDb.setDatabaseName(dsn); //设置数据源名称
m_sqlDb.setUserName("sa"); //登录用户 m_sqlDb.setUserName("sa"); //登录用户
m_sqlDb.setPassword("SIM29@123"); m_sqlDb.setPassword("SIM29@123");
if(!m_sqlDb.open()) { //打开数据库 if(!m_sqlDb.open()) { //打开数据库
QLOG_ERROR()<<"[<<<<---SqlServer Open Database error:--->>>>]"<<m_sqlDb.lastError().text(); QLOG_ERROR()<<"[<<<<---SqlServer Open Database error:--->>>>]"<<m_sqlDb.lastError().text();
return false;
} else { } else {
QLOG_INFO()<<"[<<<<---SqlServer Test Open database success!:--->>>>]"; QLOG_INFO()<<"[<<<<---SqlServer Test Open database success!:--->>>>]";
m_sqlDb.close(); m_sqlDb.close();
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
#include <QObject> #include <QObject>
#include <QMutex> #include <QMutex>
#include <Model/orderObject.h> #include <Model/orderObject.h>
#include "preDefine.h"
#include "windows.h"
class PrintSumBillPosDB : public QObject class PrintSumBillPosDB : public QObject
{ {
...@@ -27,6 +28,14 @@ public: ...@@ -27,6 +28,14 @@ public:
**/ **/
bool initPrintSumBillPosDB(); bool initPrintSumBillPosDB();
/**
*功能:新增pos本地数据库打印小票信息表中字段;
*参数:[无]
*返回:true:新增成功,false:新增字段失败
**/
bool alterTablePrintSumBillPosDB();
/** /**
*功能:插入一条汇总单信息到pos本地数据库中; *功能:插入一条汇总单信息到pos本地数据库中;
*参数:[1]订单号 [2]小票号 *参数:[1]订单号 [2]小票号
......
...@@ -17,6 +17,7 @@ bool SimProcOrderDB::initSimProcOrderDB(){ ...@@ -17,6 +17,7 @@ bool SimProcOrderDB::initSimProcOrderDB(){
m_sqlDb.setPassword("SIM29@123"); m_sqlDb.setPassword("SIM29@123");
if(!m_sqlDb.open()) { //打开数据库 if(!m_sqlDb.open()) { //打开数据库
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::SqlServer Open Database error:--->>>>]"<<m_sqlDb.lastError().text(); QLOG_ERROR()<<"[<<<<---SimProcOrderDB::SqlServer Open Database error:--->>>>]"<<m_sqlDb.lastError().text();
return false;
} else { } else {
QLOG_INFO()<<"[<<<<---SimProcOrderDB::SqlServer Test Open database success!:--->>>>]"; QLOG_INFO()<<"[<<<<---SimProcOrderDB::SqlServer Test Open database success!:--->>>>]";
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
......
...@@ -57,6 +57,7 @@ class OrderObject : public QObject ...@@ -57,6 +57,7 @@ class OrderObject : public QObject
Q_PROPERTY (int needInvoice READ getNeedInvoice WRITE setNeedInvoice) Q_PROPERTY (int needInvoice READ getNeedInvoice WRITE setNeedInvoice)
Q_PROPERTY (int deliveryPrice READ getDeliveryPrice WRITE setDeliveryPrice) Q_PROPERTY (int deliveryPrice READ getDeliveryPrice WRITE setDeliveryPrice)
Q_PROPERTY (int deliveryDiscount READ getDeliveryDiscount WRITE setDeliveryDiscount) Q_PROPERTY (int deliveryDiscount READ getDeliveryDiscount WRITE setDeliveryDiscount)
Q_PROPERTY (int disPlateformFee READ getDisPlateformFee WRITE setDisPlateformFee)
Q_PROPERTY (int packageFee READ getPackageFee WRITE setPackageFee) Q_PROPERTY (int packageFee READ getPackageFee WRITE setPackageFee)
Q_PROPERTY (int packDiscount READ getPackDiscount WRITE setPackDiscount) Q_PROPERTY (int packDiscount READ getPackDiscount WRITE setPackDiscount)
Q_PROPERTY (int orderDiscount READ getOrderDiscount WRITE setOrderDiscount) Q_PROPERTY (int orderDiscount READ getOrderDiscount WRITE setOrderDiscount)
...@@ -140,6 +141,7 @@ public: ...@@ -140,6 +141,7 @@ public:
int needInvoice; int needInvoice;
int deliveryPrice; // 配送费 int deliveryPrice; // 配送费
int deliveryDiscount; // 配送费折扣 int deliveryDiscount; // 配送费折扣
int disPlateformFee; // 平台优惠折扣;
int packageFee; // 打包费 int packageFee; // 打包费
int packDiscount; // 打包费折扣 int packDiscount; // 打包费折扣
int orderDiscount; // 订单整单折扣金额 int orderDiscount; // 订单整单折扣金额
...@@ -297,6 +299,9 @@ public: ...@@ -297,6 +299,9 @@ public:
inline int getDeliveryDiscount()const{return deliveryDiscount;} inline int getDeliveryDiscount()const{return deliveryDiscount;}
inline void setDeliveryDiscount(const int& v){deliveryDiscount = v;} inline void setDeliveryDiscount(const int& v){deliveryDiscount = v;}
inline int getDisPlateformFee()const{return disPlateformFee;}
inline void setDisPlateformFee(const int& v){disPlateformFee = v;}
inline int getPackageFee()const{return packageFee;} inline int getPackageFee()const{return packageFee;}
inline void setPackageFee(const int& v){packageFee = v;} inline void setPackageFee(const int& v){packageFee = v;}
......
...@@ -122,47 +122,61 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -122,47 +122,61 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(1))); // 数量 ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(1))); // 数量
ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignCenter);
pNum = pNum + 1;
// 新增展示配送费折扣项显示; // 新增展示配送费折扣项显示;
if (orderObject->deliveryDiscount > 0 && orderObject->deliveryDiscount<10000){ if (orderObject->deliveryDiscount > 0 && orderObject->deliveryDiscount<10000){
ui->detailTable0->insertRow(pNum+1); ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum+1, 0, new QTableWidgetItem( QString("( ") + QString::fromLocal8Bit("配送费折扣"))); // 配送费折扣 ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem( QString("( ") + QString::fromLocal8Bit("配送费折扣"))); // 配送费折扣
ui->detailTable0->item(pNum+1, 0)->setTextAlignment(Qt::AlignRight); ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight);
ui->detailTable0->setItem(pNum+1, 1, new QTableWidgetItem( QString("-") + Penny2Dollar(orderObject->deliveryDiscount))); // 价格 ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( QString("-") + Penny2Dollar(orderObject->deliveryDiscount))); // 价格
ui->detailTable0->item(pNum+1, 1)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum+1, 2, new QTableWidgetItem(QString::number(1) + QString(" )"))); // 数量 ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(1) + QString(" )"))); // 数量
ui->detailTable0->item(pNum+1, 2)->setTextAlignment(Qt::AlignLeft); ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft);
pNum = pNum + 1; pNum = pNum + 1;
} }
ui->detailTable0->insertRow(pNum+1); ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum+1, 0, new QTableWidgetItem(QString::fromLocal8Bit("包装费"))); // 包装费 ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(QString::fromLocal8Bit("包装费"))); // 包装费
ui->detailTable0->item(pNum+1, 0)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum+1, 1, new QTableWidgetItem(Penny2Dollar(orderObject->packageFee))); // 价格 ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem(Penny2Dollar(orderObject->packageFee))); // 价格
ui->detailTable0->item(pNum+1, 1)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum+1, 2, new QTableWidgetItem(QString::number(1))); // 数量 ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(1))); // 数量
ui->detailTable0->item(pNum+1, 2)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignCenter);
pNum = pNum + 1;
// 新增展示打包费折扣项显示; // 新增展示打包费折扣项显示;
if (orderObject->packDiscount> 0 && orderObject->packDiscount<10000){ if (orderObject->packDiscount> 0 && orderObject->packDiscount<10000){
ui->detailTable0->insertRow(pNum+2); ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum+2, 0, new QTableWidgetItem( QString("( ") + QString::fromLocal8Bit("包装费折扣"))); // 包装费折扣 ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem( QString("( ") + QString::fromLocal8Bit("包装费折扣"))); // 包装费折扣
ui->detailTable0->item(pNum+2, 0)->setTextAlignment(Qt::AlignRight); ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight);
ui->detailTable0->setItem(pNum+2, 1, new QTableWidgetItem( QString("-") + Penny2Dollar(orderObject->packDiscount))); // 价格 ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( QString("-") + Penny2Dollar(orderObject->packDiscount))); // 价格
ui->detailTable0->item(pNum+2, 1)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum+2, 2, new QTableWidgetItem(QString::number(1) +QString(" )" ))); // 数量 ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(1) +QString(" )" ))); // 数量
ui->detailTable0->item(pNum+2, 2)->setTextAlignment(Qt::AlignLeft); ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft);
pNum = pNum + 2; pNum = pNum + 1;
} }
// 新增展示整单折扣项显示; // 新增展示整单折扣项显示;
if (orderObject->orderDiscount> 0 && orderObject->orderDiscount<100000){ if (orderObject->orderDiscount> 0){
ui->detailTable0->insertRow(pNum+1); ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum+1, 0, new QTableWidgetItem(QString::fromLocal8Bit("整单折扣"))); ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(QString::fromLocal8Bit("整单折扣")));
ui->detailTable0->item(pNum+1, 0)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum+1, 1, new QTableWidgetItem( QString("-") + Penny2Dollar(orderObject->orderDiscount))); // 价格 ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( QString("-") + Penny2Dollar(orderObject->orderDiscount))); // 价格
ui->detailTable0->item(pNum+1, 1)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum+1, 2, new QTableWidgetItem(QString::number(1))); // 数量 ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(1))); // 数量
ui->detailTable0->item(pNum+1, 2)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignCenter);
pNum = pNum + 1;
}
// 新增展示平台折扣项显示;
if (abs(orderObject->disPlateformFee) > 0){
ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(QString::fromLocal8Bit("平台折扣")));
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( QString("-") + Penny2Dollar(abs(orderObject->disPlateformFee))));
ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(1))); // 数量
ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignCenter);
pNum = pNum + 1;
} }
//TODO //TODO
......
...@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico" ...@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
#endif #endif
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***// //***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
FILEVERSION 2,2018,1023,1 FILEVERSION 2,2018,1210,1
PRODUCTVERSION 2,2018,1023,1 PRODUCTVERSION 2,2018,1210,1
//*************************************************************************// //*************************************************************************//
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
...@@ -31,8 +31,8 @@ VS_VERSION_INFO VERSIONINFO ...@@ -31,8 +31,8 @@ VS_VERSION_INFO VERSIONINFO
VALUE "OriginalFilename", "fmTakeout.exe" VALUE "OriginalFilename", "fmTakeout.exe"
VALUE "ProductName", "Delivery Order Plugin" VALUE "ProductName", "Delivery Order Plugin"
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***// //***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
VALUE "ProductVersion", "2.2018.1023.1" VALUE "ProductVersion", "2.2018.1210.1"
VALUE "FileVersion", "2.2018.1023.1" VALUE "FileVersion", "2.2018.1210.1"
//*************************************************************************// //*************************************************************************//
END END
END END
......
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
//#define APP_VERSION "2.20180905.01" //#define APP_VERSION "2.20180905.01"
//#define APP_VERSION "2.2018913.1" //#define APP_VERSION "2.2018913.1"
//#define APP_VERSION "2.2018919.1" //#define APP_VERSION "2.2018919.1"
#define APP_VERSION "2.20181023.1" //#define APP_VERSION "2.20181023.1"
#define APP_VERSION "2.20181210.1"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号 //修正版本号时,切记修正 FmTakeout.rc 中的版本号
......
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