Commit de6fb4a2 by wuyang.zou

New feature:

   1、支持WSG coupon 入机;
   2、支持拼单人名杯贴打印;
   3、初步支持 预约单数据存储;
   4、初步支持 解耦POS;
parent 6198a7d1
......@@ -153,6 +153,7 @@ private:
bool m_initSimProcOrderDBRet;
bool m_initPrintSumBillPosDBRet;
bool m_initGetAuthPosDBRet;
bool m_initPrintCupStickPosDBRet;
signals:
// 发送信号给自己 做登陆
......
#ifndef PRINTCUPSTICKPOSDB_H
#define PRINTCUPSTICKPOSDB_H
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlError>
#include <QObject>
#include <QMutex>
#include <Model/orderObject.h>
#include "preDefine.h"
#include "windows.h"
class PrintCupStickPosDB : public QObject
{
Q_OBJECT
public:
// explicit PrintCupStickPosDB(QObject *parent = 0);
static PrintCupStickPosDB& getInstance();
/**
*功能:初始化pos本地数据库;方便后期判断 打开pos本地数据库是否成功;
*参数:[无]
*返回:true:能够成功打开POS本地数据库,false:不能够成功打开POS本地数据库
**/
bool initPrintCupStickPosDB();
/**
*功能:检查pos本地数据库表中字段;
*参数:[无]
*返回:true:检查字段完整性成功,false:检查字段完整性失败
**/
bool alterTablePrintCupStickAndCheck();
/**
*功能:插入订单商品列表到pos本地数据库中;
*参数:[1]订单对象指针 [2]小票号
*返回:true操作成功,false失败
**/
bool insertOrderProduct(OrderObject* orderObj, const QString& posCheckNo);
/**
*功能:更新 订单商品列表 订单状态和小票号;
*参数:[1]订单对象指针 [2]小票号
*返回:true操作成功,false失败
**/
bool updateOrderProduct(OrderObject* orderObj,const QString& posCheckNo);
/**
*功能:查询 订单的商品数据是否存在本地的POS系统中;
*参数:[1]订单号
*返回:true是,false否
**/
bool isOrderProductExist(const QString& orderId);
/**
*功能:删除本地数据库中的 订单商品数据;
*参数:[1] 删除日期;
*返回:true 删除成功,false 删除失败;
**/
bool deleteProductRecord(QString creatTime);
bool queryValue(const QString& orderId, const QString& key, QString& error, QVariant &value);
bool queryIsNull(const QString &orderId, const QString& key,QString &error, bool &result);
private:
QMutex m_mutex;
PrintCupStickPosDB();
PrintCupStickPosDB(PrintCupStickPosDB const&);
PrintCupStickPosDB& operator=(PrintCupStickPosDB const&);
QSqlDatabase m_sqlDb;
signals:
public slots:
};
#endif // PRINTCUPSTICKPOSDB_H
......@@ -44,6 +44,13 @@ public:
bool alterTablePrintSumBillPosDBAndCheck();
/**
*功能:新增pos本地数据库打印小票信息表中字段;
*参数:[无]
*返回:true:新增成功,false:新增字段失败
**/
bool alterTablePrintSumBillPosDB20();
/**
*功能:插入一条汇总单信息到pos本地数据库中;
*参数:[1]订单号 [2]小票号
*返回:true操作成功,false失败
......
......@@ -56,6 +56,8 @@ void CouponsObject::FetchDataFromJson(const QJsonObject &json)
//初始商品配料数据信息;
item->isCoupon=false;
item->code="";
item->qty=0;
item->price=0;
item->FetchDataFromJson(singleProduct.toObject());
this->skus.append(item);
}
......
......@@ -11,30 +11,43 @@ class CouponsObject : public QObject
Q_OBJECT
Q_PROPERTY (QString couponSeq READ getCouponSeq WRITE setCouponSeq)
Q_PROPERTY (QString code READ getCode WRITE setCode)
Q_PROPERTY (QString couponName READ getCouponName WRITE setCouponName)
Q_PROPERTY (QString name READ getName WRITE setName)
Q_PROPERTY (QString menuItem READ getMenuItem WRITE setMenuItem)
Q_PROPERTY (QString couponType READ getCouponType WRITE setCouponType)
Q_PROPERTY (bool storeChannel READ getStoreChannel WRITE setStoreChannel)
Q_PROPERTY (QString payMethodId READ getPayMethodId WRITE setPayMethodId)
Q_PROPERTY (QString payMethodName READ getPayMethodName WRITE setPayMethodName)
Q_PROPERTY (int consumeFactAmount READ getConsumeFactAmount WRITE setConsumeFactAmount)
Q_PROPERTY (int consumeDiscountAmount READ getConsumeDiscountAmount WRITE setConsumeDiscountAmount)
Q_PROPERTY (QString discount READ getDiscount WRITE setDiscount)
Q_PROPERTY (QString discountName READ getDiscountName WRITE setDiscountName)
Q_PROPERTY (int isShowGiver READ getIsShowGiver WRITE setIsShowGiver)
Q_PROPERTY (QString giverName READ getGiverName WRITE setGiverName)
Q_PROPERTY (QString blessingWords READ getBlessingWords WRITE setBlessingWords)
public:
explicit CouponsObject(QObject *parent = 0):QObject(parent){}
CouponsObject(const CouponsObject& coupons,QObject* parent=0);
CouponsObject& operator =(const CouponsObject& coupons);
void FetchDataFromJson(const QJsonObject &json);
QString couponSeq; //券序号
QString code;
QString couponName; //券名
QString menuItem;
QString couponType;
bool storeChannel; //是否门店券;
QString payMethodId;
int consumeFactAmount;
int consumeDiscountAmount;
QString discount;
QString couponSeq; //券序号
QString code; //券ID号
QString name; //券名
QString menuItem; // 菜单分类
QString couponType; //券类型
bool storeChannel; //是否门店券;
QString payMethodId; //券支付方式ID
QString payMethodName; //券支付方式名
int consumeFactAmount; //券实际售卖金额
int consumeDiscountAmount; //券折扣金额
QString discount; //券折扣码
QString discountName; //券折扣名
int isShowGiver; //是否显示 券赠送者
QString giverName ; //券赠送者
QString blessingWords ; //券赠送祝福
QList<SingleProductObject*> skus;
protected:
......@@ -44,8 +57,8 @@ protected:
inline QString getCode(){ return code; }
inline void setCode(const QString& v){ code = v; }
inline QString getCouponName(){ return couponName; }
inline void setCouponName(const QString& v){ couponName = v; }
inline QString getName(){ return name; }
inline void setName(const QString& v){ name = v; }
inline QString getMenuItem(){ return menuItem; }
inline void setMenuItem(const QString& v){ menuItem = v; }
......@@ -59,6 +72,9 @@ protected:
inline QString getPayMethodId(){ return payMethodId; }
inline void setPayMethodId(const QString& v){ payMethodId = v; }
inline QString getPayMethodName(){ return payMethodName; }
inline void setPayMethodName(const QString& v){ payMethodName = v; }
inline int getConsumeFactAmount(){ return consumeFactAmount; }
inline void setConsumeFactAmount(const int& v){ consumeFactAmount = v; }
......@@ -67,6 +83,19 @@ protected:
inline QString getDiscount(){ return discount; }
inline void setDiscount(const QString& v){ discount = v; }
inline QString getDiscountName(){ return discountName; }
inline void setDiscountName(const QString& v){ discountName = v; }
inline int getIsShowGiver(){ return isShowGiver; }
inline void setIsShowGiver(const int& v){ isShowGiver = v; }
inline QString getGiverName(){ return giverName; }
inline void setGiverName(const QString& v){ giverName = v; }
inline QString getBlessingWords(){ return blessingWords; }
inline void setBlessingWords(const QString& v){ blessingWords = v; }
};
#endif // COUPONSOBJECT_H
......@@ -11,9 +11,13 @@ class dishesObject : public QObject
Q_PROPERTY (QString id READ getId WRITE setId)
Q_PROPERTY (QString specId READ getspecId WRITE setspecId)
Q_PROPERTY (QString name READ getname WRITE setname)
Q_PROPERTY (QString enProductName READ getEnProductName WRITE setEnProductName)
Q_PROPERTY (QString specName READ getspecName WRITE setspecName)
Q_PROPERTY (QString enSpecificationName READ getEnSpecificationName WRITE setEnSpecificationName)
Q_PROPERTY (QString defaultImage READ getDefaultImage WRITE setDefaultImage)
Q_PROPERTY (QString code READ getcode WRITE setcode)
Q_PROPERTY (int packagePrice READ getpackagePrice WRITE setpackagePrice)
Q_PROPERTY (int sequence READ getSequence WRITE setSequence)
Q_PROPERTY (int qty READ getqty WRITE setqty)
Q_PROPERTY (int price READ getprice WRITE setprice)
Q_PROPERTY (QString options READ getoptions WRITE setoptions)
......@@ -28,6 +32,8 @@ class dishesObject : public QObject
Q_PROPERTY (int starPromotionQty READ getStarPromotionQty WRITE setStarPromotionQty)
Q_PROPERTY (int starPromotionPrice READ getStarPromotionPrice WRITE setStarPromotionPrice)
Q_PROPERTY (QString userName READ getUserName WRITE setUserName)
public:
explicit dishesObject(QObject *parent = 0):QObject(parent){}
dishesObject(const dishesObject& dish,QObject* parent=0);
......@@ -36,12 +42,16 @@ public:
QString couponSeq; //券序号
QString id;
QString name;
QString enProductName;
QString specId;
QString specName;
QString enSpecificationName;
QString defaultImage;
QString code;
int qty;
int packagePrice;
int price;
int sequence;
QString options;
//卡券/红包优惠;
QString promotionSku;
......@@ -53,6 +63,7 @@ public:
QString starPromotionName;
int starPromotionQty;
int starPromotionPrice;
QString userName ;
QList<dishesObject*> sub_products;
......@@ -69,6 +80,9 @@ protected:
inline QString getname(){ return name; }
inline void setname(const QString& v){ name = v; }
inline QString getEnProductName(){ return enProductName; }
inline void setEnProductName(const QString& v){ enProductName = v; }
inline int getprice(){ return price; }
inline void setprice(const int& v){ price = v; }
......@@ -78,9 +92,18 @@ protected:
inline int getpackagePrice(){ return packagePrice; }
inline void setpackagePrice(const int& v){ packagePrice = v; }
inline int getSequence(){ return sequence; }
inline void setSequence(const int& v){ sequence = v; }
inline QString getspecName(){ return specName; }
inline void setspecName(const QString& v){ specName = v; }
inline QString getEnSpecificationName(){ return enSpecificationName; }
inline void setEnSpecificationName(const QString& v){ enSpecificationName = v; }
inline QString getDefaultImage(){ return defaultImage; }
inline void setDefaultImage(const QString& v){ defaultImage = v; }
inline QString getcode(){ return code; }
inline void setcode(const QString& v){ code = v; }
......@@ -112,6 +135,10 @@ protected:
inline int getStarPromotionQty(){ return starPromotionQty; }
inline void setStarPromotionQty(const int& v){ starPromotionQty = v; }
inline QString getUserName(){ return userName; }
inline void setUserName(const QString& v){ userName = v; }
};
#endif // DISHESOBJECT_H
......@@ -78,6 +78,7 @@ void OrderObject::FromJson(const QJsonObject &json)
QJsonObject proJson = product.toObject();
dishesObject *proObject = new dishesObject(this);
//初始商品数据信息;
proObject->qty = 0;
proObject->promotionQty = 0;
proObject->promotionPrice = 0;
proObject->starPromotionQty = 0;
......@@ -95,9 +96,10 @@ void OrderObject::FromJson(const QJsonObject &json)
coupObject->consumeDiscountAmount = 0;
coupObject->consumeFactAmount = 0;
coupObject->storeChannel = false;
coupObject->couponName="";
coupObject->name="";
coupObject->discount="";
coupObject->couponSeq=QString('0');
coupObject->isShowGiver=0;
coupObject->FetchDataFromJson(coupJson);
coupList.append(coupObject);
}
......@@ -132,7 +134,12 @@ QString OrderObject::getChannelName()
QLOG_INFO() << QString("[<<<<---OrderObject:getChannelName [%1]--->>>>]").arg(channel);
if ("MOD" == channel && 3 != orderType){
if ( "4" == platformSource ) {
return QString::fromLocal8Bit("微信-MOD");
if ("20" == businessType) {
return QString::fromLocal8Bit("微信用星说");
} else if ( "30" == businessType) {
return QString::fromLocal8Bit("拼单-MOD");
}
return QString::fromLocal8Bit("微信-MOD");
} else {
return QString::fromLocal8Bit("星-MOD");
}
......@@ -140,8 +147,6 @@ QString OrderObject::getChannelName()
return QString::fromLocal8Bit("星-客诉");
}else if("ELE" == channel){
return QString::fromLocal8Bit("饿了么");
}else if("BAIDU" == channel){
return QString::fromLocal8Bit("百度外卖");
}else if("MOP" == channel && 4 != orderType){
if ( "5" == platformSource ) {
return QString::fromLocal8Bit("口碑-MOP");
......@@ -150,14 +155,7 @@ QString OrderObject::getChannelName()
}
}else if("MOP" == channel && 4 == orderType){
return QString::fromLocal8Bit("星-自测");
}else if("ORS" == channel){
return QString::fromLocal8Bit("星-预约");
}else if("STC" == channel){
return QString::fromLocal8Bit("SmartCase");
}else{
if("HM" == channel) {
return QString::fromLocal8Bit("盒马");
}
return QString::fromLocal8Bit("未知");
}
}
......
......@@ -70,6 +70,10 @@ class OrderObject : public QObject
Q_PROPERTY (int productPrice READ getProductPrice WRITE setProductPrice)
Q_PROPERTY (int totalPrice READ getTotalPrice WRITE setTotalPrice)
Q_PROPERTY (int orderStatus READ getOrderStatus WRITE setOrderStatus)
Q_PROPERTY (QString makeStatus READ getMakeStatus WRITE setMakeStatus)
Q_PROPERTY (QString makeSource READ getMakeSource WRITE setMakeSource)
Q_PROPERTY (QString makeDeviceId READ getMakeDeviceId WRITE setMakeDeviceId)
Q_PROPERTY (QString businessType READ getBusinessType WRITE setBusinessType)
Q_PROPERTY (int forwardPosStatus READ getForwardPosStatus WRITE setForwardPosStatus)
Q_PROPERTY (int negativePosStatus READ getNegativePosStatus WRITE setNegativePosStatus)
Q_PROPERTY (int deliveryStatus READ getDeliveryStatus WRITE setDeliveryStatus)
......@@ -79,6 +83,11 @@ class OrderObject : public QObject
Q_PROPERTY (QString customerSex READ getCustomerSex WRITE setCustomerSex)
Q_PROPERTY (QString platformSource READ getPlatformSource WRITE setPlatformSource)
Q_PROPERTY (int orderIndex READ getOrderIndex WRITE setOrderIndex)
Q_PROPERTY (QString appointedTime READ getAppointedTime WRITE setAppointedTime)
Q_PROPERTY (QString appointedRemindTemplate READ getAppointedRemindTemplate WRITE setAppointedRemindTemplate)
Q_PROPERTY (QString subStoreId READ getSubStoreId WRITE setSubStoreId)
public:
OrderObject(QObject *parent=0)
:QObject(parent){}
......@@ -167,6 +176,15 @@ public:
int productPrice;
int totalPrice;
int orderStatus;
QString makeStatus; // PMS 制作状态
QString makeSource; //PMS 制作来源: 普通扫描枪、扫描枪Now、顾客、PMS-kds、
QString makeDeviceId; //PMS 更新制作状态的设备Id
QString businessType; //订单业务类型: 10:预约单 20:杯贴祝福 30:拼团
QString appointedTime; // 预约日期 [预约单-预约日期]
QString appointedRemindTemplate; // 预约提醒模板【新增字段:string】
QString subStoreId; // 子门店号 【新增字段:string】
int forwardPosStatus; // 正向单入机状态: 0:未知 1: 成功 2:失败;
int negativePosStatus; // 负向单同上;
int deliveryStatus;
......@@ -361,6 +379,18 @@ public:
inline int getOrderStatus()const{return orderStatus;}
inline void setOrderStatus(const int& v){orderStatus = v;}
inline QString getMakeStatus()const{return makeStatus;}
inline void setMakeStatus(const QString& v){makeStatus = v;}
inline QString getMakeSource()const{return makeSource;}
inline void setMakeSource(const QString& v){makeSource = v;}
inline QString getMakeDeviceId()const{return makeDeviceId;}
inline void setMakeDeviceId(const QString& v){makeDeviceId = v;}
inline QString getBusinessType()const{return businessType;}
inline void setBusinessType(const QString& v){businessType = v;}
inline int getForwardPosStatus()const{return forwardPosStatus;}
inline void setForwardPosStatus(const int& v){forwardPosStatus = v;}
......@@ -393,6 +423,16 @@ public:
inline QString getSecretSignal()const{return secretSignal;}
inline void setSecretSignal(const QString& v){secretSignal = v;}
inline QString getAppointedTime()const{return appointedTime;}
inline void setAppointedTime(const QString& v){appointedTime = v;}
inline QString getAppointedRemindTemplate()const{return appointedRemindTemplate;}
inline void setAppointedRemindTemplate(const QString& v){appointedRemindTemplate = v;}
inline QString getSubStoreId()const{return subStoreId;}
inline void setSubStoreId(const QString& v){subStoreId = v;}
};
#endif // ORDEROBJECT_H
......@@ -10,6 +10,9 @@ class SingleProductObject : public QObject
{
Q_OBJECT
Q_PROPERTY (QString code READ getCode WRITE setCode)
Q_PROPERTY (QString name READ getName WRITE setName)
Q_PROPERTY (int qty READ getQty WRITE setQty)
Q_PROPERTY (int price READ getPrice WRITE setPrice)
Q_PROPERTY (bool isCoupon READ getIsCoupon WRITE setIsCoupon)
public:
......@@ -18,12 +21,24 @@ public:
SingleProductObject& operator =(const SingleProductObject& singleProduct);
void FetchDataFromJson(const QJsonObject &json);
QString code;
QString name;
int qty;
int price;
bool isCoupon; //此单品是否是券;
protected:
inline QString getCode(){ return code; }
inline void setCode(const QString& v){ code = v; }
inline QString getName(){ return name; }
inline void setName(const QString& v){ name = v; }
inline int getQty(){ return qty; }
inline void setQty(const int& v){ qty = v; }
inline int getPrice(){ return price; }
inline void setPrice(const int& v){ price = v; }
inline bool getIsCoupon(){ return isCoupon; }
inline void setIsCoupon(const bool& v){ isCoupon = v; }
......
......@@ -141,10 +141,10 @@ void DetailForm::InitData(OrderObject *orderObject)
{
CouponsObject* tempCouponObj = orderObject->coupList[coupNum];
ui->detailTable0->insertRow(pNum);
QString tempCouponName = tempCouponObj->couponName.length()?tempCouponObj->couponName:QString::fromLocal8Bit("预约券");
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(tempCouponName)); // 预约券名
QString tempName = tempCouponObj->name.length()?tempCouponObj->name:QString::fromLocal8Bit("券");
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(tempName)); // 券名
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem(QString('-'))); // 预约券价格
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem(QString('-'))); // 券价格
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);
......
......@@ -59,7 +59,8 @@ SOURCES += main.cpp\
DTools/getCaboxAReAuth.cpp \
Model/couponsObject.cpp \
Model/singleProductObject.cpp \
Model/paymentObject.cpp
Model/paymentObject.cpp \
DTools/printCupStickPosDB.cpp
HEADERS += \
mainForm.h \
......@@ -97,7 +98,8 @@ HEADERS += \
DTools/getCaboxAReAuth.h \
Model/couponsObject.h \
Model/singleProductObject.h \
Model/paymentObject.h
Model/paymentObject.h \
DTools/printCupStickPosDB.h
FORMS += mainForm.ui \
alertForm.ui \
......
......@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
#endif
VS_VERSION_INFO VERSIONINFO
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
FILEVERSION 2,2020,4,13
PRODUCTVERSION 2,2020,4,13
FILEVERSION 2,2020,5,12
PRODUCTVERSION 2,2020,5,12
//*************************************************************************//
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
......@@ -31,8 +31,8 @@ VS_VERSION_INFO VERSIONINFO
VALUE "OriginalFilename", "fmTakeout.exe"
VALUE "ProductName", "Delivery Order Plugin"
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
VALUE "ProductVersion", "2.2020.4.13"
VALUE "FileVersion", "2.2020.4.13"
VALUE "ProductVersion", "2.2020.5.12"
VALUE "FileVersion", "2.2020.5.12"
//*************************************************************************//
END
END
......
......@@ -26,7 +26,7 @@
//#define APP_VERSION "2.2019.916.2"
//#define APP_VERSION "2.2020.26.1"
//#define APP_VERSION "2.2020.312.1"
#define APP_VERSION "2.2020.4.13"
#define APP_VERSION "2.2020.5.12"
//修正版本号时,切记修正 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