Commit f6bed952 by wuyang.zou

Fix New Feature:

1、权益卡单不显示 退单按钮,
2、为兼容 EC-OMS 没有使用改价标志的场景的逻辑,
   当不存在 totalPriceForPos时,使用 totalPrice 覆写
3、没有销售单入机情况,退单下来也需要正常的汇报成功记录;
parent 13467eb2
Pipeline #42456 failed with stage
in 0 seconds
...@@ -894,6 +894,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -894,6 +894,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
// 89 == orderType 标识订单是 ELE-权益卡单,需存储(为了给OMS上游提供入机回调) 但是无需打印 且 需要界面展示; // 89 == orderType 标识订单是 ELE-权益卡单,需存储(为了给OMS上游提供入机回调) 但是无需打印 且 需要界面展示;
if ( 89 == orderObject->orderType ) { if ( 89 == orderObject->orderType ) {
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FmTakeout _OrderAnalysis: orderObject->id:%1 orderType==89 权益卡单, 需跳过打印--->>>>]").arg(orderObject->id);
orderObject->skipPrint = true; orderObject->skipPrint = true;
} }
...@@ -968,6 +969,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -968,6 +969,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
// 89 == orderType 标识订单是 ELE-权益卡单,需存储(为了给OMS上游提供入机回调) 但是无需打印 且 需要界面展示; // 89 == orderType 标识订单是 ELE-权益卡单,需存储(为了给OMS上游提供入机回调) 但是无需打印 且 需要界面展示;
if ( 89 == orderObject->orderType ) { if ( 89 == orderObject->orderType ) {
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FmTakeout _OrderAnalysis: orderObject->id:%1 orderType==89 权益卡单, 需跳过打印--->>>>]").arg(orderObject->id);
orderObject->skipPrint = true; orderObject->skipPrint = true;
} }
...@@ -1125,6 +1127,8 @@ void FlowControl::_analysisRefundOrderTask(OrderObject* orderObject) { ...@@ -1125,6 +1127,8 @@ void FlowControl::_analysisRefundOrderTask(OrderObject* orderObject) {
QString errorStorageOrderMsg = QString("Decouple Pos: OrderId: %1 Storage Pos Local DB Success (No Sale Order Record)").arg(orderObject->id); QString errorStorageOrderMsg = QString("Decouple Pos: OrderId: %1 Storage Pos Local DB Success (No Sale Order Record)").arg(orderObject->id);
// 销售单/退货单: 会根据订单状态 是否 = 6 进行转换后进行汇报; 进入此队列 m_storagePosOrdersList 的次数决定汇报的次数; // 销售单/退货单: 会根据订单状态 是否 = 6 进行转换后进行汇报; 进入此队列 m_storagePosOrdersList 的次数决定汇报的次数;
_AddOrUpdateReportOmsList(orderObject->id, orderObject->channel, "6", "3", posCheckNo, errorStorageOrderMsg, QString("") ); _AddOrUpdateReportOmsList(orderObject->id, orderObject->channel, "6", "3", posCheckNo, errorStorageOrderMsg, QString("") );
// 需要-更新同步-本地数据库标识退单成功;
SimProcOrderDB::getInstance().updateRefundOrderStatusAndChkNum(orderObject->id,1,posCheckNo);
} }
bRetStorageOrderMutex = m_storageOrderMutex.tryLock(VALUE_TRYLOCKMEMTIMEOUT); bRetStorageOrderMutex = m_storageOrderMutex.tryLock(VALUE_TRYLOCKMEMTIMEOUT);
......
...@@ -245,6 +245,10 @@ void OrderObject::FetchDataFromJson(const QJsonObject &json) ...@@ -245,6 +245,10 @@ void OrderObject::FetchDataFromJson(const QJsonObject &json)
{ {
setProperty(key.toUtf8(), json[key].toVariant()); setProperty(key.toUtf8(), json[key].toVariant());
} }
// 针对Json中没有找到 key: totalPriceForPos; 则用 totalPrice 进行覆盖;
if ( !keys.contains("totalPriceForPos") && keys.contains("totalPrice") )
setProperty("totalPriceForPos", json["totalPrice"].toVariant());
return; return;
} }
......
...@@ -320,11 +320,13 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -320,11 +320,13 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailBtn2->hide(); ui->detailBtn2->hide();
} }
//星巴克:客诉单/MOP渠道/ORS渠道,不能显示退单按钮; //星巴克:客诉单/MOP渠道/ORS渠道,不能显示退单按钮;
if(3 == orderObject->getOrderType() || "MOP" == orderObject->channel || "MT-MOP" == orderObject->channel || "ORS" == orderObject->channel){ if ( 3 == orderObject->getOrderType() || 89 == orderObject->getOrderType() || "MOP" == orderObject->channel || "MT-MOP" == orderObject->channel
|| "ORS" == orderObject->channel ) {
ui->detailBtn2->hide(); ui->detailBtn2->hide();
} }
//星巴克:电商-MOP 需要显示退单按钮(便于 当日退 / 跨日退); //星巴克:电商-MOP 需要显示退单按钮(便于 当日退 / 跨日退);
if ( ( "EC-MOP" == orderObject->channel || "EC_WECHAT_MOP" == orderObject->channel ) && OrderObject::Refunded != orderObject->orderStatus ) { if ( ( "EC-MOP" == orderObject->channel || "EC_WECHAT_MOP" == orderObject->channel )
&& OrderObject::Refunded != orderObject->orderStatus ) {
ui->detailBtn2->show(); ui->detailBtn2->show();
} }
......
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