Commit db2b8a10 by wuyang.zou

new Feature

1、避免重复入机
2、展示wsg券下商品名与sku
3、保存 组合支付改价标志到本地数据库
4、上移点击POS右下角 Y轴坐标系:偏移量 有48 ->88

Version: 2.2020.12.18
parent 20df9727
Pipeline #27992 failed with stage
in 0 seconds
...@@ -747,8 +747,11 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -747,8 +747,11 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
" is_birthday, create_datetime, created_by, modify_datetime, modified_by, accept_name, accept_address, accept_phone, order_id, " " is_birthday, create_datetime, created_by, modify_datetime, modified_by, accept_name, accept_address, accept_phone, order_id, "
" order_status, waybill_id, take_no, deliver_phone, deliver_name, disPlateformFee, memo, reserve3, reserve4, reserve0, reserve6, reserve7, reserve5," " order_status, waybill_id, take_no, deliver_phone, deliver_name, disPlateformFee, memo, reserve3, reserve4, reserve0, reserve6, reserve7, reserve5,"
" appointed_time, appointed_remindTemplate, order_type, channel, platform_source," " appointed_time, appointed_remindTemplate, order_type, channel, platform_source,"
" pay_way, customer_id, customer_name, msr_no, store_id, sub_store_id, store_name, store_address, is_package, order_discount, total_price) " " pay_way, customer_id, customer_name, msr_no, store_id, sub_store_id, store_name, store_address, is_package, order_discount, total_price, "
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? , ?, ?, ?)"); " orderPayType, sbkAppPayType, sbkAppPayValue, sbkAppRefundPayValue, orderTransFlowNo, orderRefundTransFlowNo, "
" pluginVersion, packageSku, thirdPartyOrderId, discountShopFee, packFee, packDiscount, deliveryFee, deliveryDiscount ) "
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? , ?, ?, ?, "
" ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" );
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->lastName); // --顾客-姓 query.addBindValue(orderObj->lastName); // --顾客-姓
query.addBindValue(orderObj->consigneeName); // --顾客-全名 query.addBindValue(orderObj->consigneeName); // --顾客-全名
...@@ -817,6 +820,21 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -817,6 +820,21 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
query.addBindValue(orderObj->orderDiscount); query.addBindValue(orderObj->orderDiscount);
query.addBindValue(orderObj->totalPrice); query.addBindValue(orderObj->totalPrice);
query.addBindValue(0); // OMS订单支付类型 待定, 预留
query.addBindValue(orderObj->sbkAppPayType);
query.addBindValue(orderObj->sbkAppPayValue);
query.addBindValue(orderObj->sbkAppRefundPayValue);
query.addBindValue(orderObj->thirdPartyBatch);
query.addBindValue( "" ); // orderRefundTransFlowNo 目前还没有三方订单 销售/退货的交易流水不一致情况;
query.addBindValue( APP_VERSION ); // 插件版本号;
query.addBindValue(orderObj->packageSku); // 打包sku;
query.addBindValue(orderObj->thirdPartyOrderId); // 三方订单号
query.addBindValue(0); // 商家优惠; 目前暂时使用不到,预留;
query.addBindValue(orderObj->packageFee); //打包费
query.addBindValue(orderObj->packDiscount); //打包折扣
query.addBindValue(orderObj->deliveryPrice); // 配送费;
query.addBindValue(orderObj->deliveryDiscount); // 配送费折扣;
QLOG_INFO()<<QString("[<<<--PrintSumBillPosDB::insertOrderSumBill waybillId:%1-->>>>]").arg((orderObj->waybillId).length()?orderObj->waybillId:QString("0")); QLOG_INFO()<<QString("[<<<--PrintSumBillPosDB::insertOrderSumBill waybillId:%1-->>>>]").arg((orderObj->waybillId).length()?orderObj->waybillId:QString("0"));
if(!query.exec()) if(!query.exec())
...@@ -828,9 +846,12 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -828,9 +846,12 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
" accept_name, accept_address, accept_phone, order_id, " " accept_name, accept_address, accept_phone, order_id, "
" waybill_id, take_no, deliver_phone, deliver_name, disPlateformFee, memo, reserve3, reserve4, reserve0, reserve6, reserve7, reserve5," " waybill_id, take_no, deliver_phone, deliver_name, disPlateformFee, memo, reserve3, reserve4, reserve0, reserve6, reserve7, reserve5,"
" appointed_time, appointed_remindTemplate, order_type, channel, platform_source," " appointed_time, appointed_remindTemplate, order_type, channel, platform_source,"
" pay_way, customer_id, customer_name, msr_no, store_id, sub_store_id, store_name, store_address, is_package, order_discount, total_price) " " pay_way, customer_id, customer_name, msr_no, store_id, sub_store_id, store_name, store_address, is_package, order_discount, total_price"
" orderPayType, sbkAppPayType, sbkAppPayValue, sbkAppRefundPayValue, orderTransFlowNo, orderRefundTransFlowNo, "
" pluginVersion, packageSku, thirdPartyOrderId, discountShopFee, packFee, packDiscount, deliveryFee, deliveryDiscount ) "
"VALUES(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12, %13, %14, %15, %16, %17, %18," "VALUES(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12, %13, %14, %15, %16, %17, %18,"
" %19, %20, %21, %22, %23, %24, %25, %26, %27, %28, %29, %30,%31, %32, %33, %34, %35, %36, %37, %38, %39, %40, %41, %42)") " %19, %20, %21, %22, %23, %24, %25, %26, %27, %28, %29, %30,%31, %32, %33, %34, %35, %36, %37, %38, %39, %40, %41, %42"
" %43, %44, %45, %46, %47, %48, %49, %50,%51, %52, %53, %54, %55, %56 )")
.arg(posCheckNo.toInt()) .arg(posCheckNo.toInt())
.arg(orderObj->lastName).arg(orderObj->customerName).arg(temp_customerSex) .arg(orderObj->lastName).arg(orderObj->customerName).arg(temp_customerSex)
.arg(0).arg(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")).arg(FlowControl::GetInstance()._GetCashierId()).arg("").arg("") .arg(0).arg(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")).arg(FlowControl::GetInstance()._GetCashierId()).arg("").arg("")
...@@ -843,7 +864,10 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -843,7 +864,10 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
.arg(orderObj->expectDate).arg(tempAppointedRemindTemplate).arg(orderObj->orderType).arg(orderObj->channel) .arg(orderObj->expectDate).arg(tempAppointedRemindTemplate).arg(orderObj->orderType).arg(orderObj->channel)
.arg(orderObj->platformSource).arg(orderObj->payWay) .arg(orderObj->platformSource).arg(orderObj->payWay)
.arg(orderObj->customerId).arg(orderObj->customerName).arg(orderObj->msr_no).arg(orderObj->storeId).arg(orderObj->subStoreId) .arg(orderObj->customerId).arg(orderObj->customerName).arg(orderObj->msr_no).arg(orderObj->storeId).arg(orderObj->subStoreId)
.arg(orderObj->storeName).arg(orderObj->storeAddress).arg(orderObj->isPackage).arg(orderObj->orderDiscount).arg(orderObj->totalPrice); .arg(orderObj->storeName).arg(orderObj->storeAddress).arg(orderObj->isPackage).arg(orderObj->orderDiscount).arg(orderObj->totalPrice)
.arg(0).arg(orderObj->sbkAppPayType).arg(orderObj->sbkAppPayValue).arg(orderObj->sbkAppRefundPayValue).arg(orderObj->thirdPartyBatch)
.arg("").arg(APP_VERSION).arg(orderObj->packageSku).arg(orderObj->thirdPartyOrderId).arg(0).arg(orderObj->packageFee)
.arg(orderObj->packDiscount).arg(orderObj->deliveryPrice).arg(orderObj->deliveryDiscount);
} else { } else {
QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 Into customer_info Success--->>>>]").arg(orderObj->id); QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 Into customer_info Success--->>>>]").arg(orderObj->id);
result = true; result = true;
......
...@@ -11,7 +11,7 @@ class CouponsObject : public QObject ...@@ -11,7 +11,7 @@ class CouponsObject : public QObject
Q_OBJECT Q_OBJECT
Q_PROPERTY (QString couponSeq READ getCouponSeq WRITE setCouponSeq) Q_PROPERTY (QString couponSeq READ getCouponSeq WRITE setCouponSeq)
Q_PROPERTY (QString code READ getCode WRITE setCode) Q_PROPERTY (QString code READ getCode WRITE setCode)
Q_PROPERTY (QString name READ getName WRITE setName) Q_PROPERTY (QString couponName READ getCouponName WRITE setCouponName)
Q_PROPERTY (QString menuItem READ getMenuItem WRITE setMenuItem) Q_PROPERTY (QString menuItem READ getMenuItem WRITE setMenuItem)
Q_PROPERTY (QString couponType READ getCouponType WRITE setCouponType) Q_PROPERTY (QString couponType READ getCouponType WRITE setCouponType)
Q_PROPERTY (bool storeChannel READ getStoreChannel WRITE setStoreChannel) Q_PROPERTY (bool storeChannel READ getStoreChannel WRITE setStoreChannel)
...@@ -33,7 +33,7 @@ public: ...@@ -33,7 +33,7 @@ public:
void FetchDataFromJson(const QJsonObject &json); void FetchDataFromJson(const QJsonObject &json);
QString couponSeq; //券序号 QString couponSeq; //券序号
QString code; //券ID号 QString code; //券ID号
QString name; //券名 QString couponName; //券名
QString menuItem; // 菜单分类 QString menuItem; // 菜单分类
QString couponType; //券类型 QString couponType; //券类型
bool storeChannel; //是否门店券; bool storeChannel; //是否门店券;
...@@ -57,8 +57,8 @@ protected: ...@@ -57,8 +57,8 @@ protected:
inline QString getCode(){ return code; } inline QString getCode(){ return code; }
inline void setCode(const QString& v){ code = v; } inline void setCode(const QString& v){ code = v; }
inline QString getName(){ return name; } inline QString getCouponName(){ return couponName; }
inline void setName(const QString& v){ name = v; } inline void setCouponName(const QString& v){ couponName = v; }
inline QString getMenuItem(){ return menuItem; } inline QString getMenuItem(){ return menuItem; }
inline void setMenuItem(const QString& v){ menuItem = v; } inline void setMenuItem(const QString& v){ menuItem = v; }
......
...@@ -34,6 +34,8 @@ class dishesObject : public QObject ...@@ -34,6 +34,8 @@ class dishesObject : public QObject
Q_PROPERTY (int starPromotionPrice READ getStarPromotionPrice WRITE setStarPromotionPrice) Q_PROPERTY (int starPromotionPrice READ getStarPromotionPrice WRITE setStarPromotionPrice)
Q_PROPERTY (QString userName READ getUserName WRITE setUserName) Q_PROPERTY (QString userName READ getUserName WRITE setUserName)
Q_PROPERTY (int changePriceFlag READ getChangePriceFlag WRITE setChangePriceFlag)
public: public:
explicit dishesObject(QObject *parent = 0):QObject(parent){} explicit dishesObject(QObject *parent = 0):QObject(parent){}
...@@ -66,7 +68,9 @@ public: ...@@ -66,7 +68,9 @@ public:
int starPromotionQty; int starPromotionQty;
int starPromotionPrice; int starPromotionPrice;
QString userName ; QString userName ;
int changePriceFlag;
QString chgPrcFlgCode;
QList<dishesObject*> sub_products; QList<dishesObject*> sub_products;
protected: protected:
...@@ -143,6 +147,9 @@ protected: ...@@ -143,6 +147,9 @@ protected:
inline QString getUserName(){ return userName; } inline QString getUserName(){ return userName; }
inline void setUserName(const QString& v){ userName = v; } inline void setUserName(const QString& v){ userName = v; }
inline int getChangePriceFlag(){ return changePriceFlag; }
inline void setChangePriceFlag(const int& v){ changePriceFlag = v; }
}; };
#endif // DISHESOBJECT_H #endif // DISHESOBJECT_H
...@@ -6,10 +6,16 @@ OrderObject::OrderObject(const OrderObject &order, QObject *parent):QObject(pare ...@@ -6,10 +6,16 @@ OrderObject::OrderObject(const OrderObject &order, QObject *parent):QObject(pare
{ {
qDeleteAll(proList); qDeleteAll(proList);
proList.clear(); proList.clear();
qDeleteAll(coupList); qDeleteAll(coupList);
coupList.clear(); coupList.clear();
qDeleteAll(orderCoupList);
orderCoupList.clear();
qDeleteAll(paymentList); qDeleteAll(paymentList);
paymentList.clear(); paymentList.clear();
const QMetaObject *m = order.metaObject(); const QMetaObject *m = order.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++) for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{ {
...@@ -18,14 +24,22 @@ OrderObject::OrderObject(const OrderObject &order, QObject *parent):QObject(pare ...@@ -18,14 +24,22 @@ OrderObject::OrderObject(const OrderObject &order, QObject *parent):QObject(pare
QVariant value = order.property(key.toUtf8()); QVariant value = order.property(key.toUtf8());
this->setProperty(key.toUtf8(), value); this->setProperty(key.toUtf8(), value);
} }
foreach (auto ptr, order.proList) { foreach (auto ptr, order.proList) {
dishesObject *product=new dishesObject(*ptr,this); dishesObject *product=new dishesObject(*ptr,this);
this->proList.append(product); this->proList.append(product);
} }
foreach (auto ptr, order.coupList) { foreach (auto ptr, order.coupList) {
CouponsObject *coupon=new CouponsObject(*ptr,this); CouponsObject *coupon=new CouponsObject(*ptr,this);
this->coupList.append(coupon); this->coupList.append(coupon);
} }
foreach (auto ptr, order.orderCoupList) {
CouponsObject *orderCoupon=new CouponsObject(*ptr,this);
this->orderCoupList.append(orderCoupon);
}
foreach (auto ptr, order.paymentList) { foreach (auto ptr, order.paymentList) {
PaymentObject *payment=new PaymentObject(*ptr,this); PaymentObject *payment=new PaymentObject(*ptr,this);
this->paymentList.append(payment); this->paymentList.append(payment);
...@@ -36,10 +50,16 @@ OrderObject& OrderObject::operator =(const OrderObject& order) ...@@ -36,10 +50,16 @@ OrderObject& OrderObject::operator =(const OrderObject& order)
{ {
qDeleteAll(proList); qDeleteAll(proList);
proList.clear(); proList.clear();
qDeleteAll(coupList); qDeleteAll(coupList);
coupList.clear(); coupList.clear();
qDeleteAll(orderCoupList);
orderCoupList.clear();
qDeleteAll(paymentList); qDeleteAll(paymentList);
paymentList.clear(); paymentList.clear();
const QMetaObject *m = order.metaObject(); const QMetaObject *m = order.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++) for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{ {
...@@ -48,18 +68,27 @@ OrderObject& OrderObject::operator =(const OrderObject& order) ...@@ -48,18 +68,27 @@ OrderObject& OrderObject::operator =(const OrderObject& order)
QVariant value = order.property(key.toUtf8()); QVariant value = order.property(key.toUtf8());
this->setProperty(key.toUtf8(), value); this->setProperty(key.toUtf8(), value);
} }
foreach (auto ptr, order.proList) { foreach (auto ptr, order.proList) {
dishesObject *product=new dishesObject(*ptr,this); dishesObject *product=new dishesObject(*ptr,this);
this->proList.append(product); this->proList.append(product);
} }
foreach (auto ptr, order.coupList) { foreach (auto ptr, order.coupList) {
CouponsObject *coupon = new CouponsObject(*ptr,this); CouponsObject *coupon = new CouponsObject(*ptr,this);
this->coupList.append(coupon); this->coupList.append(coupon);
} }
foreach (auto ptr, order.orderCoupList) {
CouponsObject *orderCoupon = new CouponsObject(*ptr,this);
this->orderCoupList.append(orderCoupon);
}
foreach (auto ptr, order.paymentList) { foreach (auto ptr, order.paymentList) {
PaymentObject *payment=new PaymentObject(*ptr,this); PaymentObject *payment=new PaymentObject(*ptr,this);
this->paymentList.append(payment); this->paymentList.append(payment);
} }
return *this; return *this;
} }
...@@ -67,28 +96,54 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -67,28 +96,54 @@ void OrderObject::FromJson(const QJsonObject &json)
{ {
qDeleteAll(proList); qDeleteAll(proList);
proList.clear(); proList.clear();
qDeleteAll(coupList); qDeleteAll(coupList);
coupList.clear(); coupList.clear();
qDeleteAll(orderCoupList);
orderCoupList.clear();
qDeleteAll(paymentList); qDeleteAll(paymentList);
paymentList.clear(); paymentList.clear();
FetchDataFromJson(json); FetchDataFromJson(json);
QJsonArray products = json[JSON_PRODUCTS].toArray(); QJsonArray products = json[JSON_PRODUCTS].toArray();
// 组装改价标识Code;使用 QTextStream 流操作;
// 目前Pos-Key最长9位,Simphony-sku程序容量长度28(右对齐,左补空格),第14位存储 改价标识(从右至左第15位);
QString tempChgPrcFlgCode;
QTextStream ss( &tempChgPrcFlgCode );
ss.setFieldWidth(14);
ss.setFieldAlignment(QTextStream::AlignRight);
ss.setPadChar(' ');
foreach(QJsonValue product, products) foreach(QJsonValue product, products)
{ {
QJsonObject proJson = product.toObject(); QJsonObject proJson = product.toObject();
dishesObject *proObject = new dishesObject(this); dishesObject *proObject = new dishesObject(this);
//初始商品数据信息; //初始商品数据信息;
proObject->qty = 0; proObject->qty = 0;
proObject->price = 0;
proObject->qtyNoSplit = 0; proObject->qtyNoSplit = 0;
proObject->promotionQty = 0; proObject->promotionQty = 0;
proObject->promotionPrice = 0; proObject->promotionPrice = 0;
proObject->starPromotionQty = 0; proObject->starPromotionQty = 0;
proObject->starPromotionPrice = 0; proObject->starPromotionPrice = 0;
proObject->couponSeq=QString('0'); proObject->couponSeq=QString('0');
proObject->changePriceFlag = 0;
proObject->chgPrcFlgCode = QString("");
proObject->FetchDataFromJson(proJson); proObject->FetchDataFromJson(proJson);
// 商品数据赋值后,组装改价标识Code;便于传递给POS;
ss << proObject->code;
proObject->chgPrcFlgCode.append( QString::number(proObject->changePriceFlag) );
proObject->chgPrcFlgCode.append( tempChgPrcFlgCode );
// 清空缓存数据,防止重叠脏数据;
tempChgPrcFlgCode = QString("");
proList.append(proObject); proList.append(proObject);
} }
//解析预约实物-券信息 List;
//解析WSG-券信息 List;
QJsonArray coupons = json[JSON_COUPONS].toArray(); QJsonArray coupons = json[JSON_COUPONS].toArray();
foreach(QJsonValue coupon, coupons) foreach(QJsonValue coupon, coupons)
{ {
...@@ -97,7 +152,8 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -97,7 +152,8 @@ void OrderObject::FromJson(const QJsonObject &json)
coupObject->consumeDiscountAmount = 0; coupObject->consumeDiscountAmount = 0;
coupObject->consumeFactAmount = 0; coupObject->consumeFactAmount = 0;
coupObject->storeChannel = false; coupObject->storeChannel = false;
coupObject->name=""; coupObject->couponName="";
coupObject->couponType = "";
coupObject->discount=""; coupObject->discount="";
coupObject->couponSeq=QString('0'); coupObject->couponSeq=QString('0');
coupObject->isShowGiver=0; coupObject->isShowGiver=0;
...@@ -105,6 +161,24 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -105,6 +161,24 @@ void OrderObject::FromJson(const QJsonObject &json)
coupList.append(coupObject); coupList.append(coupObject);
} }
//解析 组合支付券信息 List;
QJsonArray orderCoupons = json[JSON_EXCHANGECOUPONS].toArray();
foreach(QJsonValue orderCoupon, orderCoupons)
{
QJsonObject orderCoupJson = orderCoupon.toObject();
CouponsObject *orderCoupObject = new CouponsObject(this);
orderCoupObject->consumeDiscountAmount = 0;
orderCoupObject->consumeFactAmount = 0;
orderCoupObject->storeChannel = false;
orderCoupObject->couponName="";
orderCoupObject->couponType = "";
orderCoupObject->discount="";
orderCoupObject->couponSeq=QString('0');
orderCoupObject->isShowGiver=0;
orderCoupObject->FetchDataFromJson(orderCoupJson);
orderCoupList.append(orderCoupObject);
}
//解析多条支付方式信息 List; //解析多条支付方式信息 List;
QJsonArray payments = json[JSON_PAYMENTS].toArray(); QJsonArray payments = json[JSON_PAYMENTS].toArray();
foreach(QJsonValue payment, payments) foreach(QJsonValue payment, payments)
...@@ -117,6 +191,45 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -117,6 +191,45 @@ void OrderObject::FromJson(const QJsonObject &json)
paymObject->FetchDataFromJson(paymJson); paymObject->FetchDataFromJson(paymJson);
paymentList.append(paymObject); paymentList.append(paymObject);
} }
// 转换并存储 星巴克支付方式相关信息;
//星巴克App端支付方式: 1:支付宝; 2:微信; 3:银联; 4:SVC卡; 5/7:MOP使用券或星星抵扣 0元支付; 8:IStore订单; 9:银联支付(=3);
sbkAppPayType = 0 ; sbkAppPayValue = ""; sbkAppRefundPayValue = "";
switch (payWay) {
case 1: {
sbkAppPayType = 78;
sbkAppPayValue = thirdPartyBatch;
}
break;
case 2: {
sbkAppPayType = 77;
sbkAppPayValue = thirdPartyBatch;
}
break;
case 4: {
sbkAppPayType = 14;
sbkAppPayValue = payfmId;
if (6 == orderStatus) { sbkAppRefundPayValue = refundFmId; }
}
break;
case 5: {
sbkAppPayType = 1;
sbkAppPayValue = "-1";
}
break;
case 7: {
sbkAppPayType = 1;
sbkAppPayValue = "-1";
}
break;
case 3:
break;
case 9:
break;
default:
break;
}
return; return;
} }
......
...@@ -113,11 +113,16 @@ public: ...@@ -113,11 +113,16 @@ public:
void FromJson(const QJsonObject &json); void FromJson(const QJsonObject &json);
void FetchDataFromJson(const QJsonObject& json); void FetchDataFromJson(const QJsonObject& json);
QList<dishesObject*>proList; QList<dishesObject*>proList;
//扩展 星巴克 预约实物的券信息 List; //扩展 星巴克 预约实物的券信息 List;
QList<CouponsObject*>coupList; QList<CouponsObject*>coupList;
//扩展 星巴克 多条支付方式入机 List; //扩展 星巴克 多条支付方式入机 List;
QList<PaymentObject*>paymentList; QList<PaymentObject*>paymentList;
//扩展 星巴克 组合支付的券信息 List;
QList<CouponsObject*>orderCoupList;
public: public:
QString id; //编号 QString id; //编号
...@@ -219,6 +224,10 @@ public: ...@@ -219,6 +224,10 @@ public:
int dataBaseIsORSCancleInt; int dataBaseIsORSCancleInt;
QString dataBasePosOrderCheckNo; QString dataBasePosOrderCheckNo;
int sbkAppPayType;
QString sbkAppPayValue;
QString sbkAppRefundPayValue;
QString getChannelName(); QString getChannelName();
QString getOrderStatusDec(); QString getOrderStatusDec();
......
...@@ -15,6 +15,7 @@ class SingleProductObject : public QObject ...@@ -15,6 +15,7 @@ class SingleProductObject : public QObject
Q_PROPERTY (int price READ getPrice WRITE setPrice) Q_PROPERTY (int price READ getPrice WRITE setPrice)
Q_PROPERTY (bool isCoupon READ getIsCoupon WRITE setIsCoupon) Q_PROPERTY (bool isCoupon READ getIsCoupon WRITE setIsCoupon)
Q_PROPERTY (QString nickname READ getNickname WRITE setNickname) Q_PROPERTY (QString nickname READ getNickname WRITE setNickname)
Q_PROPERTY (QString enProductName READ getEnProductName WRITE setEnProductName)
public: public:
explicit SingleProductObject(QObject *parent = 0):QObject(parent){} explicit SingleProductObject(QObject *parent = 0):QObject(parent){}
...@@ -27,6 +28,7 @@ public: ...@@ -27,6 +28,7 @@ public:
int price; int price;
bool isCoupon; //此单品是否是券; bool isCoupon; //此单品是否是券;
QString nickname; //券商品昵称 QString nickname; //券商品昵称
QString enProductName; //券商品英文名
protected: protected:
inline QString getCode(){ return code; } inline QString getCode(){ return code; }
...@@ -47,6 +49,9 @@ protected: ...@@ -47,6 +49,9 @@ protected:
inline QString getNickname(){ return nickname; } inline QString getNickname(){ return nickname; }
inline void setNickname(const QString& v){ nickname = v; } inline void setNickname(const QString& v){ nickname = v; }
inline QString getEnProductName(){ return enProductName; }
inline void setEnProductName(const QString& v){ enProductName = v; }
}; };
#endif // SINGLEPRODUCTOBJECT_H #endif // SINGLEPRODUCTOBJECT_H
...@@ -75,7 +75,7 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -75,7 +75,7 @@ void DetailForm::InitData(OrderObject *orderObject)
//订单在 POS 上最新开单号:红色属性设置; //订单在 POS 上最新开单号:红色属性设置;
ui->detailLab8->setText(QString("[ %1 ]").arg(orderObject->dataBasePosOrderCheckNo)); ui->detailLab8->setText(QString("[ %1 ]").arg(orderObject->dataBasePosOrderCheckNo));
int i = 0, pNum = 0, coupNum = 0; int i = 0, pNum = 0, coupNum = 0, orderCoupNum = 0;
/*********************************** 遍历 商品列表:商品信息展示 begin ***************************************************/ /*********************************** 遍历 商品列表:商品信息展示 begin ***************************************************/
for(; i<orderObject->proList.count(); i++,pNum++) for(; i<orderObject->proList.count(); i++,pNum++)
{ {
...@@ -145,34 +145,42 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -145,34 +145,42 @@ void DetailForm::InitData(OrderObject *orderObject)
for(; coupNum<orderObject->coupList.count(); coupNum++,pNum++) for(; coupNum<orderObject->coupList.count(); coupNum++,pNum++)
{ {
CouponsObject* tempCouponObj = orderObject->coupList[coupNum]; CouponsObject* tempCouponObj = orderObject->coupList[coupNum];
// 新增展示券名+号码;
ui->detailTable0->insertRow(pNum); ui->detailTable0->insertRow(pNum);
QString tempName = tempCouponObj->name.length()?tempCouponObj->name:QString::fromLocal8Bit("券"); QString tempName = tempCouponObj->couponName.length()?tempCouponObj->couponName:QString::fromLocal8Bit("券");
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(tempName)); // 券名 tempName.append("\r\n");
tempName.append(tempCouponObj->code);
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(tempName)); // 券名+券号码
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignCenter); 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->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);
// 新增展示券号码;
if(tempCouponObj->code.length()){ // 新增展示券优惠项;
if(tempCouponObj->consumeDiscountAmount > 0){
pNum++; pNum++;
ui->detailTable0->insertRow(pNum); ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(tempCouponObj->code)); // 券号码 ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem( QString::fromLocal8Bit("券折扣:") )); // 券号折扣
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight); ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight);
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( QString("-"))); ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( Penny2Dollar(tempCouponObj->consumeDiscountAmount) ));
ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString("-") )); ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString("1") ));
ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft); ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft);
} }
// 新增展示券优惠项; // 新增展示券商品项;
if(tempCouponObj->discount.length()){ if( tempCouponObj->skus.size() ){
pNum++; pNum++;
QString nameSku = "";
nameSku.append( tempCouponObj->skus[0]->name ).append("\r\n");
nameSku.append( tempCouponObj->skus[0]->code );
ui->detailTable0->insertRow(pNum); ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem( QString::fromLocal8Bit("券折扣:") )); // 券号折扣 ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem( nameSku ));
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight); ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight);
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( Penny2Dollar(tempCouponObj->consumeDiscountAmount) )); ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( Penny2Dollar(tempCouponObj->skus[0]->price) ));
ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter); ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString("1") )); ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem( QString::number( tempCouponObj->skus[0]->qty) ));
ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft); ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft);
} }
} }
...@@ -243,6 +251,44 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -243,6 +251,44 @@ void DetailForm::InitData(OrderObject *orderObject)
pNum = pNum + 1; pNum = pNum + 1;
} }
/*********************************** 遍历 组合支付券列表 begin *********************************************************/
for(; orderCoupNum<orderObject->orderCoupList.count(); orderCoupNum++,pNum++)
{
CouponsObject* tempOrderCouponObj = orderObject->orderCoupList[orderCoupNum];
ui->detailTable0->insertRow(pNum);
QString tempOrderName = tempOrderCouponObj->couponName.length()?tempOrderCouponObj->couponName:QString::fromLocal8Bit("组合支付券");
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(tempOrderName)); // 券名
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem(Penny2Dollar(tempOrderCouponObj->consumeFactAmount) ) ); //券实付金额
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);
// 新增展示券号码;
if(tempOrderCouponObj->code.length()){
pNum++;
ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(tempOrderCouponObj->code)); // 券号码
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight);
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( QString("-")));
ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString("-") ));
ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft);
}
// 新增展示券优惠项;
if(tempOrderCouponObj->discount.length()){
pNum++;
ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem( QString::fromLocal8Bit("组合券折扣:") )); // 券号折扣
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight);
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( Penny2Dollar(tempOrderCouponObj->consumeDiscountAmount) ));
ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString("1") ));
ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft);
}
}
/*********************************** 遍历 预约实物 券列表:券信息展示 end *********************************************************/
//设置行高根据文字进行自适应;用来重复显示主商品的配料信息; //设置行高根据文字进行自适应;用来重复显示主商品的配料信息;
ui->detailTable0->resizeRowsToContents(); ui->detailTable0->resizeRowsToContents();
......
...@@ -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,2020,9,29 FILEVERSION 2,2020,12,18
PRODUCTVERSION 2,2020,9,29 PRODUCTVERSION 2,2020,12,18
//*************************************************************************// //*************************************************************************//
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
...@@ -27,12 +27,12 @@ VS_VERSION_INFO VERSIONINFO ...@@ -27,12 +27,12 @@ VS_VERSION_INFO VERSIONINFO
VALUE "CompanyName", "ShangHai.Freemud Co., Ltd." VALUE "CompanyName", "ShangHai.Freemud Co., Ltd."
VALUE "FileDescription", "Delivery Order Plugin Application" VALUE "FileDescription", "Delivery Order Plugin Application"
VALUE "InternalName", "fmTakeout.exe" VALUE "InternalName", "fmTakeout.exe"
VALUE "LegalCopyright", "Copyright (C)2014-2020" VALUE "LegalCopyright", "Copyright (C)2014-2021"
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.2020.9.29" VALUE "ProductVersion", "2.2020.12.18"
VALUE "FileVersion", "2.2020.9.29" VALUE "FileVersion", "2.2020.12.18"
//*************************************************************************// //*************************************************************************//
END END
END END
......
...@@ -29,7 +29,9 @@ ...@@ -29,7 +29,9 @@
//#define APP_VERSION "2.2020.5.26" //#define APP_VERSION "2.2020.5.26"
//#define APP_VERSION "2.2020.6.29" //#define APP_VERSION "2.2020.6.29"
//#define APP_VERSION "2.2020.8.10" //#define APP_VERSION "2.2020.8.10"
#define APP_VERSION "2.2020.9.29" //#define APP_VERSION "2.2020.9.29"
//#define APP_VERSION "2.2020.10.27"
#define APP_VERSION "2.2020.12.18"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号 //修正版本号时,切记修正 FmTakeout.rc 中的版本号
...@@ -121,6 +123,7 @@ ...@@ -121,6 +123,7 @@
#define JSON_COUNT "count" #define JSON_COUNT "count"
#define JSON_PRODUCTS "products" #define JSON_PRODUCTS "products"
#define JSON_COUPONS "coupons" #define JSON_COUPONS "coupons"
#define JSON_EXCHANGECOUPONS "exchangeCoupons"
#define JSON_PAYMENTS "PaymentObjs" #define JSON_PAYMENTS "PaymentObjs"
#define JSON_SUBPRODUCTS "addExtra" #define JSON_SUBPRODUCTS "addExtra"
#define JSON_COUPONPRODUCTS "skus" #define JSON_COUPONPRODUCTS "skus"
......
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