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)
// 89 == orderType 标识订单是 ELE-权益卡单,需存储(为了给OMS上游提供入机回调) 但是无需打印 且 需要界面展示;
if ( 89 == orderObject->orderType ) {
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FmTakeout _OrderAnalysis: orderObject->id:%1 orderType==89 权益卡单, 需跳过打印--->>>>]").arg(orderObject->id);
orderObject->skipPrint = true;
}
......@@ -968,6 +969,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
// 89 == orderType 标识订单是 ELE-权益卡单,需存储(为了给OMS上游提供入机回调) 但是无需打印 且 需要界面展示;
if ( 89 == orderObject->orderType ) {
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FmTakeout _OrderAnalysis: orderObject->id:%1 orderType==89 权益卡单, 需跳过打印--->>>>]").arg(orderObject->id);
orderObject->skipPrint = true;
}
......@@ -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);
// 销售单/退货单: 会根据订单状态 是否 = 6 进行转换后进行汇报; 进入此队列 m_storagePosOrdersList 的次数决定汇报的次数;
_AddOrUpdateReportOmsList(orderObject->id, orderObject->channel, "6", "3", posCheckNo, errorStorageOrderMsg, QString("") );
// 需要-更新同步-本地数据库标识退单成功;
SimProcOrderDB::getInstance().updateRefundOrderStatusAndChkNum(orderObject->id,1,posCheckNo);
}
bRetStorageOrderMutex = m_storageOrderMutex.tryLock(VALUE_TRYLOCKMEMTIMEOUT);
......
......@@ -245,6 +245,10 @@ void OrderObject::FetchDataFromJson(const QJsonObject &json)
{
setProperty(key.toUtf8(), json[key].toVariant());
}
// 针对Json中没有找到 key: totalPriceForPos; 则用 totalPrice 进行覆盖;
if ( !keys.contains("totalPriceForPos") && keys.contains("totalPrice") )
setProperty("totalPriceForPos", json["totalPrice"].toVariant());
return;
}
......
......@@ -320,11 +320,13 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailBtn2->hide();
}
//星巴克:客诉单/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();
}
//星巴克:电商-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();
}
......
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