Commit b4807e6b by wuyang.zou

<1> EC-MOP 退单原因新增: 生活馆到店退单

<2> 蜂鸟+美团 & 两轮+四轮 配送
<3> 插件界面新增解耦版本展示
<4> 插件bug: 美团渠道 & POSkey不合法会界面会出现两条记录 & POSkey不合法解耦2.0版本汇报状态不正确

Version: 2.2021.9.7
parent 853fc522
Pipeline #36548 failed with stage
in 18 seconds
...@@ -429,6 +429,8 @@ void FlowControl::_StoragePosOrderData() { ...@@ -429,6 +429,8 @@ void FlowControl::_StoragePosOrderData() {
/***** 更新 POS本地数据库的打印消息数据 是否成功;end:********/ /***** 更新 POS本地数据库的打印消息数据 是否成功;end:********/
// 订单落库成功后.判断是否需要入机; ①不入机则汇报OMS落库成功; ②入机则有效不重复添加到待入机队列中; // 订单落库成功后.判断是否需要入机; ①不入机则汇报OMS落库成功; ②入机则有效不重复添加到待入机队列中;
QString requestType = order_p->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3");
if ( order_p->decouplePosVersion >= 20 || m_hurryPrintSum ) { if ( order_p->decouplePosVersion >= 20 || m_hurryPrintSum ) {
// 2.0解耦POS->不入机流程分支: 需要在此处进行数据校验 是否都存储成功 / 并汇报存储情况; // 2.0解耦POS->不入机流程分支: 需要在此处进行数据校验 是否都存储成功 / 并汇报存储情况;
if ( 4 == syncDbSuccessNum ) { if ( 4 == syncDbSuccessNum ) {
...@@ -442,7 +444,8 @@ void FlowControl::_StoragePosOrderData() { ...@@ -442,7 +444,8 @@ void FlowControl::_StoragePosOrderData() {
} }
// 落库成功, 准备将订单数据落库成功的报文消息汇报给 OMS: // 落库成功, 准备将订单数据落库成功的报文消息汇报给 OMS:
// 销售单/退货单: 会根据订单状态 是否 = 6 进行转换后进行汇报; 进入此队列 m_storagePosOrdersList 的次数决定汇报的次数; // 销售单/退货单: 会根据订单状态 是否 = 6 进行转换后进行汇报; 进入此队列 m_storagePosOrdersList 的次数决定汇报的次数;
_AddItemToReportOmsList(order_p, 1, 3, posCheckNo, errorStorageOrderMsg); _AddOrUpdateReportOmsList(order_p->id, order_p->channel, requestType, "3", posCheckNo, errorStorageOrderMsg, QString("") );
// 订单:销售+退货 数据存储成功后,需要更新 订单表 销售 退货的成功标识, 减少添加到 存储队列中的频次; // 订单:销售+退货 数据存储成功后,需要更新 订单表 销售 退货的成功标识, 减少添加到 存储队列中的频次;
if ( order_p->decouplePosVersion >= 20 ) { if ( order_p->decouplePosVersion >= 20 ) {
if ( OrderObject::Refunded == order_p->orderStatus ) { if ( OrderObject::Refunded == order_p->orderStatus ) {
...@@ -475,7 +478,7 @@ void FlowControl::_StoragePosOrderData() { ...@@ -475,7 +478,7 @@ void FlowControl::_StoragePosOrderData() {
// <1>检查商品有效: 则是表字段过长导致插入失败,必须向OMS汇报存储情况; // <1>检查商品有效: 则是表字段过长导致插入失败,必须向OMS汇报存储情况;
// <2>检查商品无效,则无需再向 oms汇报落库失败的情况, 理由是检查无效就不会落库; // <2>检查商品无效,则无需再向 oms汇报落库失败的情况, 理由是检查无效就不会落库;
if ( checkProductValidRet ) { if ( checkProductValidRet ) {
_AddItemToReportOmsList(order_p, 1, 4, posCheckNo, errorStorageOrderMsg); _AddOrUpdateReportOmsList(order_p->id, order_p->channel, requestType, "4", posCheckNo, errorStorageOrderMsg, QString("1009") );
} }
} }
...@@ -505,13 +508,17 @@ void FlowControl::_StoragePosOrderData() { ...@@ -505,13 +508,17 @@ void FlowControl::_StoragePosOrderData() {
// 检查商品数据无效订单, 需要将订单 迁移到 异常单 Tab 页. // 检查商品数据无效订单, 需要将订单 迁移到 异常单 Tab 页.
if ( !checkProductValidRet ) { if ( !checkProductValidRet ) {
int oldStatus = order_p->orderStatus;
if(6 == order_p->orderStatus || OrderObject::SimExceptRefund == order_p->orderStatus){ if(6 == order_p->orderStatus || OrderObject::SimExceptRefund == order_p->orderStatus){
order_p->orderStatus = OrderObject::SimExceptRefund; order_p->orderStatus = OrderObject::SimExceptRefund;
} else { } else {
order_p->orderStatus = OrderObject::SimExceptSale; order_p->orderStatus = OrderObject::SimExceptSale;
} }
emit changeOrderStatus(order_p);
QLOG_INFO() << QString("[<<<<---_StoragePosOrderData Change orderId: %1 OldStatus: %2: curStatus: %3]--->>>>]").arg(order_p->id).arg(oldStatus).arg(order_p->orderStatus);
if(oldStatus != order_p->orderStatus) {
emit changeOrderStatus(order_p, oldStatus);
}
} }
// End Refresh Ui // End Refresh Ui
...@@ -683,6 +690,8 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -683,6 +690,8 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
orderObject->decouplePosVersion = 0; orderObject->decouplePosVersion = 0;
orderObject->deliveryAtProd = false; orderObject->deliveryAtProd = false;
orderObject->extendType = 0; orderObject->extendType = 0;
orderObject->deliveryProvider = 0;
orderObject->deliveryType = 0;
orderObject->FromJson(jsonObject); orderObject->FromJson(jsonObject);
orderObject->pushOrderType=0; orderObject->pushOrderType=0;
...@@ -723,7 +732,11 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -723,7 +732,11 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
QString requestType = (6 == orderObject->orderStatus)?QString("6"):QString("3"); QString requestType = (6 == orderObject->orderStatus)?QString("6"):QString("3");
QString msgDesc = QString("POS Local DataBase Connect Error Or Table No Exist Error,Please Check DataBase Setting In Time"); QString msgDesc = QString("POS Local DataBase Connect Error Or Table No Exist Error,Please Check DataBase Setting In Time");
QString errorCode = "1009"; QString errorCode = "1009";
_AddOrUpdateReportOmsList(orderObject->id, orderObject->channel, requestType, QString("2"), QString("0000"), msgDesc, errorCode ); if (orderObject->decouplePosVersion < 20 ) {
_AddOrUpdateReportOmsList(orderObject->id, orderObject->channel, requestType, QString("2"), QString("0000"), msgDesc, QString("") );
} else {
_AddOrUpdateReportOmsList(orderObject->id, orderObject->channel, requestType, QString("4"), QString("0000"), msgDesc, errorCode );
}
//修改订单状态,避免后面对数据库出现不稳定的POS机仍然进行录单操作; //修改订单状态,避免后面对数据库出现不稳定的POS机仍然进行录单操作;
if(6 == orderObject->orderStatus || OrderObject::SimExceptRefund == orderObject->orderStatus){ if(6 == orderObject->orderStatus || OrderObject::SimExceptRefund == orderObject->orderStatus){
orderObject->orderStatus = OrderObject::SimExceptRefund; orderObject->orderStatus = OrderObject::SimExceptRefund;
...@@ -1599,36 +1612,6 @@ void FlowControl::_ReportOMSRecordOrderInfo() ...@@ -1599,36 +1612,6 @@ void FlowControl::_ReportOMSRecordOrderInfo()
m_RepOMSRecordOrderMutex.unlock(); m_RepOMSRecordOrderMutex.unlock();
} }
void FlowControl::_AddItemToReportOmsList(const OrderObject* orderPoint, const int& msgType, const int& msgRet, const QString& chkNum, const QString& msgDesc){
QString errorCode = "";
if ( orderPoint ) {
if ( 1 == msgType ) {
// msgRet: 3 -> 标识存储DB成功; 4 -> 标识存储DB失败;
if ( 3 == msgRet ) {
QLOG_INFO()<< QString("[<<<<---_AddItemToReportOmsList:: Storage Pos Local DB Success, Add Report List, OrderId:%1--->>>>]").arg(orderPoint->id);
} else {
QLOG_INFO()<< QString("[<<<<---_AddItemToReportOmsList:: Storage Pos Local DB Failed, Add Report List, OrderId:%1--->>>>]").arg(orderPoint->id);
errorCode = "1009";
}
} else {
/*if ( 1 == msgRet ) {
QLOG_INFO()<< QString("[<<<<---_AddItemToReportOmsList:: Simulater Record Pos Success, Add Report List, OrderId:%1--->>>>]").arg(orderPoint->id);
} else {
QLOG_INFO()<< QString("[<<<<---_AddItemToReportOmsList:: Simulater Record Pos Failed, Add Report List, OrderId:%1--->>>>]").arg(orderPoint->id);
}*/
}
QString requestType = orderPoint->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3");
_AddOrUpdateReportOmsList(orderPoint->id, orderPoint->channel, requestType, QString::number(msgRet), chkNum, msgDesc, errorCode );
} else {
QLOG_INFO()<< QString("[<<<<---_AddItemToReportOmsList:: Order Pointer Is Empty --->>>>]");
}
}
void FlowControl::_AddOrUpdateReportOmsList(const QString &orderId, const QString &channel, const QString &repType, const QString &status, const QString &chkNum, void FlowControl::_AddOrUpdateReportOmsList(const QString &orderId, const QString &channel, const QString &repType, const QString &status, const QString &chkNum,
const QString &error, const QString &errorCode) { const QString &error, const QString &errorCode) {
...@@ -2685,7 +2668,6 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -2685,7 +2668,6 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
// MOD渠道对应的业务逻辑 ; // MOD渠道对应的业务逻辑 ;
else if ( "MOD" == orderObject->channel ) { else if ( "MOD" == orderObject->channel ) {
// platformSource:平台来源:1 app; 2 ele; 3 ors; 4 WeChat ; 5 口碑; // platformSource:平台来源:1 app; 2 ele; 3 ors; 4 WeChat ; 5 口碑;
tempOrderPayType = 84; tempOrderPayType = 84;
//星巴克App端支付方式: 1:支付宝; 2:微信; 3:银联; 4:SVC卡; 5/7:MOP使用券或星星抵扣 0元支付; 8:IStore订单; 9:银联支付(=3); //星巴克App端支付方式: 1:支付宝; 2:微信; 3:银联; 4:SVC卡; 5/7:MOP使用券或星星抵扣 0元支付; 8:IStore订单; 9:银联支付(=3);
if(4 == orderObject->payWay){ if(4 == orderObject->payWay){
...@@ -2714,7 +2696,6 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -2714,7 +2696,6 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
} else if ( "WSG-MOD" == orderObject->channel ) { } else if ( "WSG-MOD" == orderObject->channel ) {
// platformSource:平台来源:1 app; 2 ele; 3 ors; 4 WeChat; 5 口碑; // platformSource:平台来源:1 app; 2 ele; 3 ors; 4 WeChat; 5 口碑;
tempOrderPayType = 84; tempOrderPayType = 84;
tempSbkAppPayType = -1; tempSbkAppPayType = -1;
tempSbkAppPayValue = "-1"; tempSbkAppPayValue = "-1";
...@@ -2751,6 +2732,9 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -2751,6 +2732,9 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
tempOrderPayType = 1; tempOrderPayType = 1;
} }
}else if("MT-MOD" == orderObject->channel){
tempOrderPayType = 88;
tempSbkAppPayValue = orderObject->id;
}else if("ELE" == orderObject->channel){ }else if("ELE" == orderObject->channel){
tempOrderPayType = 83; tempOrderPayType = 83;
tempSbkAppPayValue = orderObject->id; tempSbkAppPayValue = orderObject->id;
...@@ -2768,21 +2752,6 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -2768,21 +2752,6 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
//存在两种Case:正常退货单 && 【非预约日期(录配送费判断)/默认值是初始化0】; || 预约实物退货单 【&&预约实物送达日期 不支持此case】 || 预约退单:只能退配送费; //存在两种Case:正常退货单 && 【非预约日期(录配送费判断)/默认值是初始化0】; || 预约实物退货单 【&&预约实物送达日期 不支持此case】 || 预约退单:只能退配送费;
// 预约如果出现退单,也只能退配送费和打包费[不存在退预约实物(券)] // 预约如果出现退单,也只能退配送费和打包费[不存在退预约实物(券)]
if (orderObject->pushOrderType==0) { if (orderObject->pushOrderType==0) {
/*
if("ELE" == orderObject->channel) {
} else if ( "MOD" == orderObject->channel ) {
// platformSource:平台来源:1 app; 2 ele; 3 ors; 4 WeChat; 5 口碑;
} else if ( "WSG-MOD" == orderObject->channel ) {
// platformSource:平台来源:1 app; 2 ele; 3 ors; 4 WeChat; 5 口碑;
} else if ( "MOP" == orderObject->channel || "EC-MOP" == orderObject->channel ) {
} else if("ORS" == orderObject->channel) {
//预约系统 支付方式: 1:支付宝; 2:微信; 3:银联; 4:SVC卡; 5/7:MOP使用券或星星抵扣 0元支付; 8:IStore订单; 9:银联支付(=3);
//针对使用 券 + 星星折扣 +(券&星星折扣)用户不用实际支付任何金额,需要采用0元支付方式结单;
//插件传给Simphony扩展程序时支付方式=1;在Simphony扩展程序将其转换成 84:MOD + 非码订单:orderId 入机;
} else {}
*/
} }
// 优先使用OMS传递的 globalServiceType 与 globalOrderType 值为准; // 优先使用OMS传递的 globalServiceType 与 globalOrderType 值为准;
...@@ -2825,7 +2794,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -2825,7 +2794,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
temp_MSR_NO = (temp_MSR_NO.length()==0)?QString::fromLocal8Bit("-1"):temp_MSR_NO; temp_MSR_NO = (temp_MSR_NO.length()==0)?QString::fromLocal8Bit("-1"):temp_MSR_NO;
cObj.insert("msr_card_no", temp_MSR_NO); // MSR卡号 cObj.insert("msr_card_no", temp_MSR_NO); // MSR卡号
if("ELE" == orderObject->channel || "STC" == orderObject->channel || "HM" == orderObject->channel){ if("ELE" == orderObject->channel || "MT-MOD" == orderObject->channel ){
cObj.insert("thirdPartyOrderId",orderObject->thirdPartyOrderId); cObj.insert("thirdPartyOrderId",orderObject->thirdPartyOrderId);
} else { } else {
cObj.insert("thirdPartyOrderId","0"); cObj.insert("thirdPartyOrderId","0");
...@@ -3134,25 +3103,14 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -3134,25 +3103,14 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
//如果是App银联支付的多笔支付方式;也必须额外录入一条84的支付方式; //如果是App银联支付的多笔支付方式;也必须额外录入一条84的支付方式;
if(0==i){ if(0==i){
/**** orderObject->payWay: 8 ->IStore渠道订单(87:istore 0元支付方式); 3/9 ->App银联支付标志(84:MOD 0元支付方式) ****/ /**** orderObject->payWay: 8 ->IStore渠道订单(87:istore 0元支付方式); 3/9 ->App银联支付标志(84:MOD 0元支付方式) ****/
if( 8 == orderObject->payWay ) { QJsonObject tStarbAppOrderPayFlagObj;
QJsonObject tIStoreOrderPayFlagObj; tStarbAppOrderPayFlagObj.insert("couponSeq",QString::number(0) ) ; //支付方式的序号
tIStoreOrderPayFlagObj.insert("couponSeq",QString::number(0) ) ; //支付方式的序号 tStarbAppOrderPayFlagObj.insert("couponType",QString("0"));
tIStoreOrderPayFlagObj.insert("couponType",QString("0")); //存放非码订单号(防止存不下,自动截取后24位): couponCode目前最长19位长度;DLL设置24长度;
//存放eleme订单号(运单号)(防止存不下,自动截取后24位): couponCode目前最长19位长度;DLL设置24长度; tStarbAppOrderPayFlagObj.insert("couponCode",orderObject->id.right(24));
tIStoreOrderPayFlagObj.insert("couponCode",orderObject->thirdPartyOrderId.right(24)); tStarbAppOrderPayFlagObj.insert("payMethodId",QString("84"));
tIStoreOrderPayFlagObj.insert("payMethodId",QString("87")); tStarbAppOrderPayFlagObj.insert("consumeFactAmount",0);
tIStoreOrderPayFlagObj.insert("consumeFactAmount",0); payments.push_back(tStarbAppOrderPayFlagObj);
payments.push_back(tIStoreOrderPayFlagObj);
} else if( 9 == orderObject->payWay || 3 == orderObject->payWay ) {
QJsonObject tStarbAppOrderPayFlagObj;
tStarbAppOrderPayFlagObj.insert("couponSeq",QString::number(0) ) ; //支付方式的序号
tStarbAppOrderPayFlagObj.insert("couponType",QString("0"));
//存放非码订单号(防止存不下,自动截取后24位): couponCode目前最长19位长度;DLL设置24长度;
tStarbAppOrderPayFlagObj.insert("couponCode",orderObject->id.right(24));
tStarbAppOrderPayFlagObj.insert("payMethodId",QString("84"));
tStarbAppOrderPayFlagObj.insert("consumeFactAmount",0);
payments.push_back(tStarbAppOrderPayFlagObj);
}
} }
tPaymentObj.insert("couponSeq",QString::number(i+1) ) ; //券的序号 tPaymentObj.insert("couponSeq",QString::number(i+1) ) ; //券的序号
// 准确的券号码;例: 7019380051100056143 目前最长 19位长度; //退货订单: 需要录入 refundFmId; // 准确的券号码;例: 7019380051100056143 目前最长 19位长度; //退货订单: 需要录入 refundFmId;
...@@ -3238,7 +3196,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -3238,7 +3196,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
//**********************************整合包装费-begin*****************************************// //**********************************整合包装费-begin*****************************************//
// 向商品列表尾部 添加 包装费项 + 包装费折扣项; // 向商品列表尾部 添加 包装费项 + 包装费折扣项;
// 包装费 >0 + MOP 也不能入机【特别说明:WSG-MOD 配送费及配送费折扣信息存储 coupons中;故在此处排除】; // 包装费 >0 + MOP 也不能入机【特别说明:WSG-MOD 配送费及配送费折扣信息存储 coupons中;故在此处排除】;
if ( orderObject->packageFee > 0 && ( "MOD"==orderObject->channel || "ELE" == orderObject->channel ) ) { if ( orderObject->packageFee > 0 && ( "MOD"==orderObject->channel || "ELE" == orderObject->channel || "MT-MOD" == orderObject->channel ) ) {
QJsonObject tPackageFeeObj; QJsonObject tPackageFeeObj;
tPackageFeeObj.insert("consume_num", orderObject->packageFee/100); tPackageFeeObj.insert("consume_num", orderObject->packageFee/100);
tPackageFeeObj.insert("pid", "6000201"); //包装费SKU; tPackageFeeObj.insert("pid", "6000201"); //包装费SKU;
...@@ -3250,6 +3208,8 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -3250,6 +3208,8 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
tPackDiscountObj.insert("consume_num", 1); tPackDiscountObj.insert("consume_num", 1);
if ( "ELE" == orderObject->channel ) { if ( "ELE" == orderObject->channel ) {
tPackDiscountObj.insert("pid","10400"); //ELEME万能折扣码; tPackDiscountObj.insert("pid","10400"); //ELEME万能折扣码;
} else if ( "MT-MOD" == orderObject->channel ) {
tPackDiscountObj.insert("pid","10400"); // MT万能折扣码; by 待更新 wuyang 2021-08
} else { } else {
tPackDiscountObj.insert("pid","285"); //星巴克APP万能折扣码; tPackDiscountObj.insert("pid","285"); //星巴克APP万能折扣码;
} }
...@@ -3257,7 +3217,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -3257,7 +3217,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
products.push_back(tPackDiscountObj); products.push_back(tPackDiscountObj);
} }
//打包费是0元时( MOP 包装费不能入机):需录入打包费[非-MOP(销售退货),非-MOP测试]; //打包费是0元时( MOP 包装费不能入机):需录入打包费[非-MOP(销售退货),非-MOP测试];
} else if ( 0 == orderObject->packageFee && ( "MOD"==orderObject->channel || "ELE" == orderObject->channel ) ) { } else if ( 0 == orderObject->packageFee && ( "MOD"==orderObject->channel || "ELE" == orderObject->channel || "MT-MOD" == orderObject->channel ) ) {
QJsonObject tPackageFeeObj; QJsonObject tPackageFeeObj;
tPackageFeeObj.insert("consume_num", 1); tPackageFeeObj.insert("consume_num", 1);
tPackageFeeObj.insert("pid","6000201"); //包装费SKU; tPackageFeeObj.insert("pid","6000201"); //包装费SKU;
...@@ -3268,8 +3228,11 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -3268,8 +3228,11 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
//**********************************整合配送费-begin*****************************************// //**********************************整合配送费-begin*****************************************//
//向商品列表尾部 添加 配送费项 + 配送费折扣项; 【特别说明:WSG-MOD 配送费及配送费折扣信息存储 coupons中;故在此处排除】 //向商品列表尾部 添加 配送费项 + 配送费折扣项; 【特别说明:WSG-MOD 配送费及配送费折扣信息存储 coupons中;故在此处排除】
//上游oms 开关已完全打开: 配送费已添加到商品列表中; 顾无需此处配送费整合逻辑;
/*
// 配送费>0 && 配送费没有添加到商品列表中 && 渠道: ELE or MOD; // 配送费>0 && 配送费没有添加到商品列表中 && 渠道: ELE or MOD;
if ( orderObject->deliveryPrice > 0 && ( "MOD"==orderObject->channel || "ELE" == orderObject->channel ) && !orderObject->deliveryAtProd ) { if ( orderObject->deliveryPrice > 0 && ( "MOD"==orderObject->channel || "ELE" == orderObject->channel || "MT-MOD" == orderObject->channel )
&& !orderObject->deliveryAtProd ) {
QJsonObject tDeliveryFeeObj; QJsonObject tDeliveryFeeObj;
tDeliveryFeeObj.insert("consume_num", 1); tDeliveryFeeObj.insert("consume_num", 1);
tDeliveryFeeObj.insert("pid", "710000268"); //配送费SKU变更; Old: 6000101 -> New:710000268 (此key 不允许设置价格为0,故当配送费为0元时,使用老的key) tDeliveryFeeObj.insert("pid", "710000268"); //配送费SKU变更; Old: 6000101 -> New:710000268 (此key 不允许设置价格为0,故当配送费为0元时,使用老的key)
...@@ -3281,6 +3244,8 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -3281,6 +3244,8 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
tDeliveryDiscountObj.insert("consume_num", 1); tDeliveryDiscountObj.insert("consume_num", 1);
if ( "ELE" == orderObject->channel ){ if ( "ELE" == orderObject->channel ){
tDeliveryDiscountObj.insert("pid","10400"); //ELEME万能折扣码; tDeliveryDiscountObj.insert("pid","10400"); //ELEME万能折扣码;
} else if ( "MT-MOD" == orderObject->channel ){
tDeliveryDiscountObj.insert("pid","10400"); // 美团 万能折扣码;
} else { } else {
tDeliveryDiscountObj.insert("pid","285"); //星巴克APP万能折扣码; tDeliveryDiscountObj.insert("pid","285"); //星巴克APP万能折扣码;
} }
...@@ -3296,13 +3261,15 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -3296,13 +3261,15 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
products.push_back(tDeliveryDiscountTenderBObj); products.push_back(tDeliveryDiscountTenderBObj);
} }
//配送费是0元时 && 配送费没有添加到商品列表中: 需录入配送费[非-MOP(销售退货),非-MOP测试; ]; //配送费是0元时 && 配送费没有添加到商品列表中: 需录入配送费[非-MOP(销售退货),非-MOP测试; ];
} else if ( 0 == orderObject->deliveryPrice && ( "MOD"==orderObject->channel || "ELE" == orderObject->channel ) && !orderObject->deliveryAtProd ) { } else if ( 0 == orderObject->deliveryPrice && ( "MOD"==orderObject->channel || "ELE" == orderObject->channel || "MT-MOD" == orderObject->channel )
&& !orderObject->deliveryAtProd ) {
QJsonObject tDeliveryFeeZoreObj; QJsonObject tDeliveryFeeZoreObj;
tDeliveryFeeZoreObj.insert("consume_num", 1); tDeliveryFeeZoreObj.insert("consume_num", 1);
tDeliveryFeeZoreObj.insert("pid","6000101"); tDeliveryFeeZoreObj.insert("pid","6000101");
tDeliveryFeeZoreObj.insert("original_price", 0); tDeliveryFeeZoreObj.insert("original_price", 0);
products.push_back(tDeliveryFeeZoreObj); products.push_back(tDeliveryFeeZoreObj);
} }
*/
//*********************************整合配送费-end******************************************// //*********************************整合配送费-end******************************************//
//****************************整合订单商品列表末尾追加一个MenuItem:9107815 无其他-begin******************// //****************************整合订单商品列表末尾追加一个MenuItem:9107815 无其他-begin******************//
......
...@@ -377,28 +377,15 @@ private slots: ...@@ -377,28 +377,15 @@ private slots:
* */ * */
void _ReportOMSRecordOrderInfo(); void _ReportOMSRecordOrderInfo();
/* 功能:向OMS汇报订单落库情况队列添加 子项;
* 参数:
* 1: OrderObject Point [ 订单对象指针 ];
* 2:入机落库消息类别 [ 1:落库存储; 2:模拟入机 ];
* 3:入机或落库结果 [ 1: 成功 2:失败;];
* 4: 入机落库消息描述;
* 返回:NULL
* */
void _AddItemToReportOmsList(const OrderObject* orderPoint, const int& msgType, const int& msgRet, const QString& chkNum, const QString& msgDesc);
/* 功能:获取Json对象的字符 /* 功能:获取Json对象的字符
* 参数:NULL * 参数:NULL
* 返回:Json字符串 * 返回:Json字符串
* */ * */
QString _GetJsonStr(const QJsonObject& json); QString _GetJsonStr(const QJsonObject& json);
/* 功能:获取Http返回Json数据
* 参数:NULL
* 返回:Json对象 /*
* */
//QJsonObject _PackHttpReplyJson(const int status, const QString& msg, const QJsonObject& data, const int &iscontinue);
/**
*功能:定时清空订单Map里两天前的订单 *功能:定时清空订单Map里两天前的订单
*参数:无 *参数:无
*返回:无 *返回:无
......
...@@ -260,93 +260,8 @@ bool PrintOrderPromotionDB::insertNormalPromotion(OrderObject* orderObj, const Q ...@@ -260,93 +260,8 @@ bool PrintOrderPromotionDB::insertNormalPromotion(OrderObject* orderObj, const Q
} }
// 插入打包费方面优惠: 打包费优惠 + 打包费B账户优惠; // 插入打包费方面优惠: 打包费优惠 + 打包费B账户优惠;
//主商品序号:: 整单打包:orderObj->proList.count() +1 ; 打包费:orderObj->proList.count() +1 +打包的占位符; //主商品序号:: 整单打包:orderObj->proList.count() +1 ; 打包费:orderObj->proList.count() +1 +打包的占位符;
// 插入配送费方面优惠: 配送费优惠 + 配送费B账户优惠; // 插入配送费方面优惠: 配送费优惠 + 配送费B账户优惠;
int insertPackPlaceHolderSeq = 0; // 上游oms 开关已完全打开: 配送费已添加到商品列表中; 顾无需此处配送费整合逻辑; // DeliveryDiscount + DeliveryDiscountB
if( orderObj->isPackage && orderObj->packageSku.length() ) {
insertPackPlaceHolderSeq = 1;
}
int insertPackageFeePlaceHolderSeq = 0;
if ( orderObj->channel == "MOD" || orderObj->channel == "ELE" ) {
insertPackageFeePlaceHolderSeq = 1;
}
if ( orderObj->deliveryAtProd ) {
QLOG_INFO()<<QString("[<<<<---SqlServer Database: OrderId %1 deliveryAtProd:%2 Is True, No Need Insert DeliveryFee Promotion Into tb_order_promotions --->>>>]")
.arg(orderObj->id).arg(orderObj->deliveryAtProd?1:0);
} else {
// Insert DeliveryDiscount;
if ( orderObj->deliveryDiscount ) {
query.prepare("INSERT INTO tb_order_promotions(order_id, order_status, chk_num, create_datetime, "
" prod_seq, coupon_seq, promotion_type, discount_fee, promotion_qty, promotion_sku, promotion_name ) "
" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ");
query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态
query.addBindValue(posCheckNo.toInt()); // --订单自动生产小票号
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
int deliveryDiscSeq = orderObj->proList.count() +1 + insertPackPlaceHolderSeq + insertPackageFeePlaceHolderSeq;
query.addBindValue( deliveryDiscSeq ); // --配送费优惠对应主商品序号;
query.addBindValue(0); // --券序号;
query.addBindValue(1); // --优惠类型
if ( OrderObject::Refunded == orderObj->orderStatus ) {
query.addBindValue(0 - orderObj->deliveryDiscount); // --退货单优惠金额需为负数;
query.addBindValue( -1 ); // --退货单优惠数量需为负数;
} else {
query.addBindValue( orderObj->deliveryDiscount ); // --优惠金额
query.addBindValue( 1 ); // --优惠数量
}
if ( "ELE" == orderObj->channel ){
query.addBindValue( "10400" ); // --优惠SKU
}else {
query.addBindValue( "285" ); // --优惠SKU
}
query.addBindValue( "DeliveryFeeDiscount" ); // --优惠名称
if(!query.exec()) {
QLOG_ERROR()<<"[<<<<---SqlServer Database: Insert tb_order_promotions Error--->>>>]"<<query.lastError().text()<<QString::number(query.lastError().type());
insertDeliveryPromSuc = false;
return insertDeliveryPromSuc;
} else {
QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 MainProductSeq: %2 DeliveryDiscountCode: 285/10400 Into tb_order_promotions Success--->>>>]")
.arg(orderObj->id).arg(deliveryDiscSeq);
}
}
// Insert DeliveryDiscountB;
if ( orderObj->tenderDeliveryDiscountB ) {
query.prepare("INSERT INTO tb_order_promotions(order_id, order_status, chk_num, create_datetime, "
" prod_seq, coupon_seq, promotion_type, discount_fee, promotion_qty, promotion_sku, promotion_name ) "
" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ");
query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态
query.addBindValue(posCheckNo.toInt()); // --订单自动生产小票号
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
int deliveryDiscBSeq = orderObj->proList.count() +1 + insertPackPlaceHolderSeq + insertPackageFeePlaceHolderSeq;
query.addBindValue( deliveryDiscBSeq ); // --配送费B账户优惠对应主商品序号;
query.addBindValue(0); // --券序号;
query.addBindValue(3); // --优惠类型
if ( OrderObject::Refunded == orderObj->orderStatus ) {
query.addBindValue(0 - orderObj->tenderDeliveryDiscountB); // --退货单优惠金额需为负数;
query.addBindValue( -1 ); // --退货单优惠数量需为负数;
} else {
query.addBindValue( orderObj->tenderDeliveryDiscountB ); // --优惠金额
query.addBindValue( 1 ); // --优惠数量
}
query.addBindValue( orderObj->tenderDeliveryDiscountBSku ); // --优惠SKU
query.addBindValue( "DeliveryFeeTenderBDiscount" ); // --优惠名称
if(!query.exec()) {
QLOG_ERROR()<<"[<<<<---SqlServer Database: Insert tb_order_promotions Error--->>>>]"<<query.lastError().text()<<QString::number(query.lastError().type());
insertDeliveryPromSuc = false;
return insertDeliveryPromSuc;
} else {
QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId: %1 MainProductSeq: %2 DeliveryDiscountBCode: %3 Into tb_order_promotions Success--->>>>]")
.arg(orderObj->id).arg(deliveryDiscBSeq).arg(orderObj->tenderDeliveryDiscountBSku);
}
}
}
return insertProdPromSuc && insertDeliveryPromSuc; return insertProdPromSuc && insertDeliveryPromSuc;
} }
......
...@@ -367,7 +367,12 @@ bool PrintCupStickPosDB::checkCouponProdAllVaild(OrderObject* orderObj) { ...@@ -367,7 +367,12 @@ bool PrintCupStickPosDB::checkCouponProdAllVaild(OrderObject* orderObj) {
|| !tmpQty || tmpPosKey.length()<3 || tmpPosKey.length()>9 ) { || !tmpQty || tmpPosKey.length()<3 || tmpPosKey.length()>9 ) {
error = QString::fromLocal8Bit("This Order Has PosKey Is Combo Error Or Default* Or qty Is Zore Or Sku Length < 3 Or Sku Length > 9"); error = QString::fromLocal8Bit("This Order Has PosKey Is Combo Error Or Default* Or qty Is Zore Or Sku Length < 3 Or Sku Length > 9");
QString requestType = orderObj->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3"); QString requestType = orderObj->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3");
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("2"), QString(""), error, QString("1010"));
if (orderObj->decouplePosVersion < 20 ) {
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("2"), QString(""), error, QString(""));
} else {
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("4"), QString(""), error, QString("1010"));
}
return false; return false;
} }
} }
...@@ -379,7 +384,12 @@ bool PrintCupStickPosDB::checkCouponProdAllVaild(OrderObject* orderObj) { ...@@ -379,7 +384,12 @@ bool PrintCupStickPosDB::checkCouponProdAllVaild(OrderObject* orderObj) {
if ( tempPosKeyLeftHead<QString('0') || tempPosKeyLeftHead>QString('9') || !tmpQty || tmpPosKey.length()<3 || tmpPosKey.length()>9 ) { if ( tempPosKeyLeftHead<QString('0') || tempPosKeyLeftHead>QString('9') || !tmpQty || tmpPosKey.length()<3 || tmpPosKey.length()>9 ) {
error = QString::fromLocal8Bit("This Order SubProduct PosKey Is String And No Default* Or qty Is Zore Or Sku Length < 3 Or Sku Length > 9 "); error = QString::fromLocal8Bit("This Order SubProduct PosKey Is String And No Default* Or qty Is Zore Or Sku Length < 3 Or Sku Length > 9 ");
QString requestType = orderObj->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3"); QString requestType = orderObj->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3");
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("2"), QString(""), error, QString("1011") );
if (orderObj->decouplePosVersion < 20 ) {
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("2"), QString(""), error, QString(""));
} else {
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("4"), QString(""), error, QString("1011"));
}
return false; return false;
} }
} }
...@@ -573,7 +583,11 @@ bool PrintCupStickPosDB::checkNormalProdAllVaild(OrderObject* orderObj){ ...@@ -573,7 +583,11 @@ bool PrintCupStickPosDB::checkNormalProdAllVaild(OrderObject* orderObj){
|| !tmpQty || tmpPosKey.length()<3 || tmpPosKey.length()>9 ) { || !tmpQty || tmpPosKey.length()<3 || tmpPosKey.length()>9 ) {
error = QString::fromLocal8Bit("This Order Has PosKey Is Combo Error Or Default* Or qty Is Zore Or Sku Length < 3 Or Sku Length > 9"); error = QString::fromLocal8Bit("This Order Has PosKey Is Combo Error Or Default* Or qty Is Zore Or Sku Length < 3 Or Sku Length > 9");
QString requestType = orderObj->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3"); QString requestType = orderObj->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3");
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("2"), QString(""), error, QString("1010")); if (orderObj->decouplePosVersion < 20 ) {
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("2"), QString(""), error, QString(""));
} else {
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("4"), QString(""), error, QString("1010"));
}
return false; return false;
} }
...@@ -589,7 +603,12 @@ bool PrintCupStickPosDB::checkNormalProdAllVaild(OrderObject* orderObj){ ...@@ -589,7 +603,12 @@ bool PrintCupStickPosDB::checkNormalProdAllVaild(OrderObject* orderObj){
if ( tempPosKeyLeftHead<QString('0') || tempPosKeyLeftHead>QString('9') || !tmpQty || tmpPosKey.length()<3 || tmpPosKey.length()>9 ) { if ( tempPosKeyLeftHead<QString('0') || tempPosKeyLeftHead>QString('9') || !tmpQty || tmpPosKey.length()<3 || tmpPosKey.length()>9 ) {
error = QString::fromLocal8Bit("This Order SubProduct PosKey Is String And No Default* Or qty Is Zore Or Sku Length < 3 Or Sku Length > 9 "); error = QString::fromLocal8Bit("This Order SubProduct PosKey Is String And No Default* Or qty Is Zore Or Sku Length < 3 Or Sku Length > 9 ");
QString requestType = orderObj->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3"); QString requestType = orderObj->orderStatus==6?QString::fromLocal8Bit("6"):QString::fromLocal8Bit("3");
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("2"), QString(""), error, QString("1011") );
if (orderObj->decouplePosVersion < 20 ) {
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("2"), QString(""), error, QString(""));
} else {
FlowControl::GetInstance()._AddOrUpdateReportOmsList(orderObj->id, orderObj->channel,requestType, QString("4"), QString(""), error, QString("1011"));
}
return false; return false;
} }
} }
...@@ -651,7 +670,7 @@ bool PrintCupStickPosDB::insertDeliveryPackageAndPack(OrderObject* orderObj, con ...@@ -651,7 +670,7 @@ bool PrintCupStickPosDB::insertDeliveryPackageAndPack(OrderObject* orderObj, con
} }
} }
if( orderObj->channel == "MOD" || orderObj->channel == "ELE" ) { if( orderObj->channel == "MOD" || orderObj->channel == "ELE" || orderObj->channel == "MT-MOD" ) {
// Insert Package Fee Into tb_main_prod_refinfo; // Insert Package Fee Into tb_main_prod_refinfo;
query.prepare("INSERT INTO tb_main_prod_refinfo(chk_num, order_id, order_status, create_datetime, " query.prepare("INSERT INTO tb_main_prod_refinfo(chk_num, order_id, order_status, create_datetime, "
...@@ -691,50 +710,7 @@ bool PrintCupStickPosDB::insertDeliveryPackageAndPack(OrderObject* orderObj, con ...@@ -691,50 +710,7 @@ bool PrintCupStickPosDB::insertDeliveryPackageAndPack(OrderObject* orderObj, con
.arg(orderObj->id).arg(orderObj->packageFee); .arg(orderObj->id).arg(orderObj->packageFee);
} }
// 上游oms 开关已完全打开: 配送费已添加到商品列表中; 顾无需此处配送费整合逻辑;
if ( orderObj->deliveryAtProd ) {
QLOG_INFO()<<QString("[<<<<---SqlServer Database: OrderId %1 deliveryAtProd:%2 Is True, No Need Insert DeliveryFee Into tb_main_prod_refinfo --->>>>]")
.arg(orderObj->id).arg(orderObj->deliveryAtProd?1:0);
} else {
// Insert Delivery Fee Into tb_main_prod_refinfo;
query.prepare("INSERT INTO tb_main_prod_refinfo(chk_num, order_id, order_status, create_datetime, "
" prod_seq, prod_code, prod_name, prod_resv5, prod_price, prod_qty, prod_optionsCode, parent_id ) "
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int);
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue( orderObj->proList.count() + 1 + insertPackPlaceHolderSeq + insertPackageFeePlaceHolderSeq ); // --商品序号;
query.addBindValue("710000268"); // --商品SKU //不入机模式,无需考虑入机POSkey限制
query.addBindValue("DeliveryFee"); // --商品名称
query.addBindValue("DeliveryFee"); // --商品英文名称
if ( OrderObject::Refunded == orderObj->orderStatus ) {
query.addBindValue(0 - orderObj->deliveryPrice); // --退货单商品价格需为负数;
query.addBindValue(-1); // --商品数量
} else {
query.addBindValue(orderObj->deliveryPrice); // --商品价格
query.addBindValue(1); // --商品数量
}
query.addBindValue(""); // --商品客制换Options;
query.addBindValue(0); // --父商品ID; 表字段 parent_id;
if(!query.exec()) {
QLOG_ERROR()<<"[<<<<---SqlServer Database: Insert tb_main_prod_refinfo Error--->>>>]"<<query.lastError().text()<<QString::number(query.lastError().type());
QLOG_ERROR()<<QString("INSERT INTO tb_main_prod_refinfo(chk_num, order_id, order_status, create_datetime, "
" prod_seq, prod_code, prod_name, prod_resv5, prod_price, prod_qty, prod_optionsCode, parent_id) "
"VALUES(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12)").arg(posCheckNo.toInt())
.arg(orderObj->id).arg(orderObj->orderStatus).arg(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss"))
.arg( orderObj->proList.count() + 1 + insertPackPlaceHolderSeq + insertPackageFeePlaceHolderSeq ).arg("710000268")
.arg("DeliveryFee").arg("DeliveryFee").arg(orderObj->deliveryPrice).arg(1).arg("")
.arg(0);
insertDeliveryFeeRet = false;
return false;
} else {
QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 DeliveryFee:%2 Into tb_main_prod_refinfo Success--->>>>]")
.arg(orderObj->id).arg(orderObj->deliveryPrice);
}
}
} }
if ( !insertDeliveryFeeRet || !insertPackageFeeRet || !insertPackRet ) { if ( !insertDeliveryFeeRet || !insertPackageFeeRet || !insertPackRet ) {
......
...@@ -847,9 +847,9 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -847,9 +847,9 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
" 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, " " orderPayType, sbkAppPayType, sbkAppPayValue, sbkAppRefundPayValue, orderTransFlowNo, orderRefundTransFlowNo, "
" pluginVersion, packageSku, thirdPartyOrderId, discountShopFee, packFee, packDiscount, deliveryFee, deliveryDiscount, reserve22 ) " " pluginVersion, packageSku, thirdPartyOrderId, discountShopFee, packFee, packDiscount, deliveryFee, deliveryDiscount, reserve22, reserve23, reserve24 ) "
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? , ?, ?, ?, " "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); // --顾客-全名
...@@ -948,7 +948,9 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -948,7 +948,9 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
query.addBindValue(orderObj->deliveryPrice); // 配送费; query.addBindValue(orderObj->deliveryPrice); // 配送费;
query.addBindValue(orderObj->deliveryDiscount); // 配送费折扣; query.addBindValue(orderObj->deliveryDiscount); // 配送费折扣;
} }
query.addBindValue(orderObj->extendType); // 扩展类型: 20:四轮车(履约方式); query.addBindValue(orderObj->extendType); // 扩展类型: 20: MOD PLUS 渠道;
query.addBindValue(orderObj->deliveryProvider); // 配送商家类型: 1:蜂鸟 2:美团;
query.addBindValue(orderObj->deliveryType); // 配送方式: 1: 二轮车 2:四轮车;
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"));
...@@ -963,10 +965,10 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -963,10 +965,10 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
" 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, " " orderPayType, sbkAppPayType, sbkAppPayValue, sbkAppRefundPayValue, orderTransFlowNo, orderRefundTransFlowNo, "
" pluginVersion, packageSku, thirdPartyOrderId, discountShopFee, packFee, packDiscount, deliveryFee, deliveryDiscount, reserve22 ) " " pluginVersion, packageSku, thirdPartyOrderId, discountShopFee, packFee, packDiscount, deliveryFee, deliveryDiscount, reserve22, reserve23, reserve24 ) "
"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, %57, %58 )") " %43, %44, %45, %46, %47, %48, %49, %50,%51, %52, %53, %54, %55, %56, %57, %58, %59, %60 )")
.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("")
...@@ -982,7 +984,7 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -982,7 +984,7 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
.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(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("").arg(APP_VERSION).arg(orderObj->packageSku).arg(orderObj->thirdPartyOrderId).arg(0).arg(orderObj->packageFee)
.arg(orderObj->packDiscount).arg(orderObj->deliveryPrice).arg(orderObj->deliveryDiscount).arg(orderObj->extendType); .arg(orderObj->packDiscount).arg(orderObj->deliveryPrice).arg(orderObj->deliveryDiscount).arg(orderObj->extendType).arg(orderObj->deliveryProvider).arg(orderObj->deliveryType);
} else { } else {
QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 Into tb_msr_customer_info Success--->>>>]").arg(orderObj->id); QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 Into tb_msr_customer_info Success--->>>>]").arg(orderObj->id);
result = true; result = true;
......
...@@ -262,10 +262,13 @@ QString OrderObject::getChannelName() ...@@ -262,10 +262,13 @@ QString OrderObject::getChannelName()
} }
} }
}else if ("WSG-MOD" == channel) { // 兼容渠道名称不统一问题 } else if ( "MT-MOD" == channel ) {
return QString::fromLocal8Bit("美团-MOD");
} else if ("WSG-MOD" == channel) { // 兼容渠道名称不统一问题
return QString::fromLocal8Bit("微信用星说"); return QString::fromLocal8Bit("微信用星说");
}else if("ELE" == channel){ } else if ("ELE" == channel) {
if ( 7 == orderType ) { if ( 7 == orderType ) {
return QString::fromLocal8Bit("预-饿了么-当日"); return QString::fromLocal8Bit("预-饿了么-当日");
}else if ( 11 == orderType ) { }else if ( 11 == orderType ) {
...@@ -274,7 +277,7 @@ QString OrderObject::getChannelName() ...@@ -274,7 +277,7 @@ QString OrderObject::getChannelName()
return QString::fromLocal8Bit("饿了么"); return QString::fromLocal8Bit("饿了么");
} }
}else if ( "MOP" == channel ){ } else if ( "MOP" == channel ) {
if ( 4 == orderType ) { if ( 4 == orderType ) {
return QString::fromLocal8Bit("星-自测"); return QString::fromLocal8Bit("星-自测");
} else if ( 7 == orderType ) { } else if ( 7 == orderType ) {
......
...@@ -102,6 +102,8 @@ class OrderObject : public QObject ...@@ -102,6 +102,8 @@ class OrderObject : public QObject
Q_PROPERTY (int globalOrderType READ getGlobalOrderType WRITE setGlobalOrderType) Q_PROPERTY (int globalOrderType READ getGlobalOrderType WRITE setGlobalOrderType)
Q_PROPERTY (int extendType READ getExtendType WRITE setExtendType) Q_PROPERTY (int extendType READ getExtendType WRITE setExtendType)
Q_PROPERTY (int deliveryProvider READ getDeliveryProvider WRITE setDeliveryProvider)
Q_PROPERTY (int deliveryType READ getDeliveryType WRITE setDeliveryType)
public: public:
OrderObject(QObject *parent=0) OrderObject(QObject *parent=0)
...@@ -217,7 +219,10 @@ public: ...@@ -217,7 +219,10 @@ public:
int globalServiceType; // 全链路服务类型: globalServiceType【新增字段:int】 int globalServiceType; // 全链路服务类型: globalServiceType【新增字段:int】
int globalOrderType; // 全链路订单类型: globalOrderType 【新增字段:int】 int globalOrderType; // 全链路订单类型: globalOrderType 【新增字段:int】
int extendType; // 20 四轮车(履约方式的一种) int extendType; // 20 Mod Plus 类型订单
int deliveryProvider; // 配送商户: 1-蜂鸟 , 2-美团
int deliveryType; // 配送方式: 1-二轮车 , 2-四轮车
int forwardPosStatus; // 正向单入机状态: 0:未知 1: 成功 2:失败; int forwardPosStatus; // 正向单入机状态: 0:未知 1: 成功 2:失败;
int negativePosStatus; // 负向单同上; int negativePosStatus; // 负向单同上;
int deliveryStatus; int deliveryStatus;
...@@ -500,6 +505,12 @@ public: ...@@ -500,6 +505,12 @@ public:
inline int getExtendType()const{return extendType;} inline int getExtendType()const{return extendType;}
inline void setExtendType(const int& v){extendType = v;} inline void setExtendType(const int& v){extendType = v;}
inline int getDeliveryProvider()const{return deliveryProvider;}
inline void setDeliveryProvider(const int& v){deliveryProvider = v;}
inline int getDeliveryType()const{return deliveryType;}
inline void setDeliveryType(const int& v){deliveryType = v;}
}; };
#endif // ORDEROBJECT_H #endif // ORDEROBJECT_H
...@@ -80,6 +80,8 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -80,6 +80,8 @@ void DetailForm::InitData(OrderObject *orderObject)
// 不入机模式-订单; // 不入机模式-订单;
ui->detailLab8->setText(QString("[ %1 ]").arg( orderObject->dataBasePosOrderCheckNo.left(5) ) ); ui->detailLab8->setText(QString("[ %1 ]").arg( orderObject->dataBasePosOrderCheckNo.left(5) ) );
} }
//展示重点标识属性;
ui->detailLab10->setText(QString("[Version: %1]").arg( orderObject->decouplePosVersion ) );
int i = 0, pNum = 0, coupNum = 0, orderCoupNum = 0; int i = 0, pNum = 0, coupNum = 0, orderCoupNum = 0;
/*********************************** 遍历 商品列表:商品信息展示 begin ***************************************************/ /*********************************** 遍历 商品列表:商品信息展示 begin ***************************************************/
......
...@@ -820,6 +820,63 @@ ...@@ -820,6 +820,63 @@
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_11" stretch="0,1">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="detailSlab10">
<property name="minimumSize">
<size>
<width>73</width>
<height>35</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>73</width>
<height>70</height>
</size>
</property>
<property name="text">
<string>重点标识:</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="detailLab10">
<property name="minimumSize">
<size>
<width>0</width>
<height>35</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>70</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="margin">
<number>8</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_13"> <layout class="QHBoxLayout" name="horizontalLayout_13">
<property name="spacing"> <property name="spacing">
<number>6</number> <number>6</number>
......
...@@ -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,2021,8,12 FILEVERSION 2,2021,9,7
PRODUCTVERSION 2,2021,8,12 PRODUCTVERSION 2,2021,9,7
//*************************************************************************// //*************************************************************************//
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.2021.8.12" VALUE "ProductVersion", "2.2021.9.7"
VALUE "FileVersion", "2.2021.8.12" VALUE "FileVersion", "2.2021.9.7"
//*************************************************************************// //*************************************************************************//
END END
END END
......
...@@ -477,7 +477,6 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus) ...@@ -477,7 +477,6 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
pBtn->setFocusPolicy(Qt::NoFocus); pBtn->setFocusPolicy(Qt::NoFocus);
pBtn->setObjectName("mainProcBtn"); pBtn->setObjectName("mainProcBtn");
pBtn->setProperty("orderId", orderObject->id); pBtn->setProperty("orderId", orderObject->id);
//pBtn->setProperty("operation", table->property("operation").toString());
if("MOP" == orderObject->channel){ if("MOP" == orderObject->channel){
pBtn->setText(QString::fromLocal8Bit("请扫码通知")); pBtn->setText(QString::fromLocal8Bit("请扫码通知"));
}else{ }else{
......
...@@ -37,7 +37,8 @@ ...@@ -37,7 +37,8 @@
//#define APP_VERSION "2.2021.2.26" //#define APP_VERSION "2.2021.2.26"
//#define APP_VERSION "2.2021.4.19" //#define APP_VERSION "2.2021.4.19"
//#define APP_VERSION "2.2021.5.11" //#define APP_VERSION "2.2021.5.11"
#define APP_VERSION "2.2021.8.12" //#define APP_VERSION "2.2021.8.12"
#define APP_VERSION "2.2021.9.7"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号 //修正版本号时,切记修正 FmTakeout.rc 中的版本号
......
...@@ -121,6 +121,16 @@ void RefuseForm::on_reason6_toggled(bool checked) ...@@ -121,6 +121,16 @@ void RefuseForm::on_reason6_toggled(bool checked)
} }
} }
void RefuseForm::on_reason7_toggled(bool checked)
{
if(checked)
{
ui->refuseBtnOk->setEnabled(true);
m_reasonStr=QString::fromLocal8Bit("生活馆到店退单");
m_reasonCode=20;
}
}
void RefuseForm::_Init() void RefuseForm::_Init()
{ {
qDebug() << __FUNCTION__; qDebug() << __FUNCTION__;
...@@ -157,4 +167,8 @@ void RefuseForm::clearAllRadioBtnCheck(){ ...@@ -157,4 +167,8 @@ void RefuseForm::clearAllRadioBtnCheck(){
ui->reason6->setChecked(false); ui->reason6->setChecked(false);
ui->reason6->setAutoExclusive(true); ui->reason6->setAutoExclusive(true);
ui->reason7->setAutoExclusive(false);
ui->reason7->setChecked(false);
ui->reason7->setAutoExclusive(true);
} }
...@@ -51,7 +51,9 @@ private slots: ...@@ -51,7 +51,9 @@ private slots:
void on_reason5_toggled(bool checked); void on_reason5_toggled(bool checked);
void on_reason6_toggled(bool checked); void on_reason6_toggled(bool checked);
void on_reason7_toggled(bool checked);
public slots: public slots:
void clearAllRadioBtnCheck(); void clearAllRadioBtnCheck();
......
...@@ -192,6 +192,25 @@ ...@@ -192,6 +192,25 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QRadioButton" name="reason7">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>生活馆到店退单</string>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>
......
...@@ -632,14 +632,14 @@ QTabBar QToolButton::left-arrow:disabled { ...@@ -632,14 +632,14 @@ QTabBar QToolButton::left-arrow:disabled {
color: rgb(173, 223, 152); color: rgb(173, 223, 152);
} }
#detailSlab0,#detailSlab1,#detailSlab2,#detailSlab3,#detailSlab4, #detailSlab0,#detailSlab1,#detailSlab2,#detailSlab3,#detailSlab4,
#detailSlab5,#detailSlab6,#detailSlab7,#detailSlab8 #detailSlab5,#detailSlab6,#detailSlab7,#detailSlab8,#detailSlab10
{ {
color: #a6a6a6; color: #a6a6a6;
background-color: #faf9f9; background-color: #faf9f9;
border: 1px solid #ececec; border: 1px solid #ececec;
} }
#detailLab0,#detailLab2,#detailLab3,#detailLab4, #detailLab0,#detailLab2,#detailLab3,#detailLab4,
#detailLab5,#detailLab6,#detailLab7 #detailLab5,#detailLab6,#detailLab7,#detailLab10
{ {
border-top: 1px solid #ececec; border-top: 1px solid #ececec;
border-bottom: 1px solid #ececec; border-bottom: 1px solid #ececec;
...@@ -755,7 +755,7 @@ QTabBar QToolButton::left-arrow:disabled { ...@@ -755,7 +755,7 @@ QTabBar QToolButton::left-arrow:disabled {
background-color: rgb(222,184,135); background-color: rgb(222,184,135);
border-radius: 3px; border-radius: 3px;
} }
#reason1,#reason2,#reason3,#reason4,#reason5,#reason6 #reason1,#reason2,#reason3,#reason4,#reason5,#reason6,#reason7
{ {
font: 14pt "微软雅黑"; font: 14pt "微软雅黑";
} }
......
No preview for this file type
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