Commit a78759ae by shangshang.dai

Upd 1: 将组合品里的单品和单独的单品合并传到海鼎

parent af1658e8
...@@ -461,6 +461,17 @@ QByteArray FmPlugin::_GetOrderEntryData(const OrderObject *orderObject, const QS ...@@ -461,6 +461,17 @@ QByteArray FmPlugin::_GetOrderEntryData(const OrderObject *orderObject, const QS
rObj.insert("seller", orderObject->channelName); rObj.insert("seller", orderObject->channelName);
rObj.insert("souceOrderCls", ""); rObj.insert("souceOrderCls", "");
rObj.insert("negInvFlag", 0); rObj.insert("negInvFlag", 0);
typedef struct PRODUCT_ELEMET
{
QString skuId;
float qty;
float ss_fee;
float ys_fee;
float note; // 成本金额
}Product_elemet;
QMap<QString, Product_elemet>_proMap;
QJsonArray products; QJsonArray products;
for(int i=0; i < orderObject->proList.count(); i++) for(int i=0; i < orderObject->proList.count(); i++)
{ {
...@@ -475,52 +486,77 @@ QByteArray FmPlugin::_GetOrderEntryData(const OrderObject *orderObject, const QS ...@@ -475,52 +486,77 @@ QByteArray FmPlugin::_GetOrderEntryData(const OrderObject *orderObject, const QS
// 该商品实际收到的钱 // 该商品实际收到的钱
float ss_fee = ys_fee*(1-(float)orderObject->dis_shop_fee/orderObject->product_fee); float ss_fee = ys_fee*(1-(float)orderObject->dis_shop_fee/orderObject->product_fee);
QJsonObject cObj; if(_proMap.contains(cpObj->pid))
cObj.insert("skuId", cpObj->pid); {
cObj.insert("qty", cpObj->productAmount*ratio); Product_elemet elemet;
cObj.insert("price", ss_fee/(cpObj->productAmount*ratio)); elemet.qty = _proMap.value(cpObj->pid).qty + cpObj->productAmount*ratio;
cObj.insert("total", ""); elemet.ys_fee = _proMap.value(cpObj->pid).ys_fee + ys_fee;
cObj.insert("freight", ""); elemet.ss_fee = _proMap.value(cpObj->pid).ss_fee + ss_fee;
cObj.insert("payAmount", ""); elemet.note = _proMap.value(cpObj->pid).note + _Penny2Dollar(cpObj->productAmount*ratio*cpObj->cost);
cObj.insert("unitPrice", ys_fee/(cpObj->productAmount*ratio));
cObj.insert("priceAmount", ""); _proMap.insert(cpObj->pid, elemet);
cObj.insert("buyAmount", ""); }else
cObj.insert("businessDiscount", ""); {
cObj.insert("platformDiscount", ""); Product_elemet elemet;
cObj.insert("businessDiscountInfo", ""); elemet.skuId = cpObj->pid;
cObj.insert("platformDiscountInfo", ""); elemet.qty = cpObj->productAmount*ratio;
elemet.ys_fee = ys_fee;
cObj.insert("note", QString::number(_Penny2Dollar(cpObj->productAmount*ratio*cpObj->cost),'f',2)); elemet.ss_fee = ss_fee;
products.insert(i, cObj); elemet.note = _Penny2Dollar(cpObj->productAmount*ratio*cpObj->cost);
_proMap.insert(cpObj->pid, elemet);
}
} }
}else }else
{ {
float ratio = (float)pObj->unit_ratio/100; float ratio = (float)pObj->unit_ratio/100;
QJsonObject cObj;
// 该商品应收的钱 // 该商品应收的钱
float ys_fee = _Penny2Dollar(pObj->price*pObj->productAmount); float ys_fee = _Penny2Dollar(pObj->price*pObj->productAmount);
// 该商品实际收到的钱 // 该商品实际收到的钱
float ss_fee = ys_fee*(1-(float)orderObject->dis_shop_fee/orderObject->product_fee); float ss_fee = ys_fee*(1-(float)orderObject->dis_shop_fee/orderObject->product_fee);
cObj.insert("skuId", pObj->pid); if(_proMap.contains(pObj->pid))
cObj.insert("qty", pObj->productAmount*ratio); {
cObj.insert("price", ss_fee/(pObj->productAmount*ratio)); Product_elemet elemet;
cObj.insert("total", ""); elemet.qty = _proMap.value(pObj->pid).qty + pObj->productAmount*ratio;
cObj.insert("freight", ""); elemet.ys_fee = _proMap.value(pObj->pid).ys_fee + ys_fee;
cObj.insert("payAmount", ""); elemet.ss_fee = _proMap.value(pObj->pid).ss_fee + ss_fee;
cObj.insert("unitPrice", ys_fee/(pObj->productAmount*ratio)); elemet.note = _proMap.value(pObj->pid).note + _Penny2Dollar(pObj->productAmount*ratio*pObj->cost);
cObj.insert("priceAmount", ""); _proMap.insert(pObj->pid, elemet);
cObj.insert("buyAmount", ""); }else
cObj.insert("businessDiscount", ""); {
cObj.insert("platformDiscount", ""); Product_elemet elemet;
cObj.insert("businessDiscountInfo", ""); elemet.skuId = pObj->pid;
cObj.insert("platformDiscountInfo", ""); elemet.qty = pObj->productAmount*ratio;
cObj.insert("note", QString::number(_Penny2Dollar(pObj->productAmount*ratio*pObj->cost),'f',2)); elemet.ys_fee = ys_fee;
products.insert(i, cObj); elemet.ss_fee = ss_fee;
elemet.note = _Penny2Dollar(pObj->productAmount*ratio*pObj->cost);
_proMap.insert(pObj->pid, elemet);
}
} }
} }
int i = 0;
foreach(Product_elemet elemet, _proMap.values())
{
QJsonObject cObj;
cObj.insert("skuId", elemet.skuId);
cObj.insert("qty", elemet.qty);
cObj.insert("price", elemet.ss_fee/elemet.qty);
cObj.insert("total", "");
cObj.insert("freight", "");
cObj.insert("payAmount", "");
cObj.insert("unitPrice", elemet.ys_fee/elemet.qty);
cObj.insert("priceAmount", "");
cObj.insert("buyAmount", "");
cObj.insert("businessDiscount", "");
cObj.insert("platformDiscount", "");
cObj.insert("businessDiscountInfo", "");
cObj.insert("platformDiscountInfo", "");
cObj.insert("note", QString::number(elemet.note,'f',2));
products.insert(i++, cObj);
}
QJsonArray pays; QJsonArray pays;
QJsonObject payObj; QJsonObject payObj;
// 与毛工确认过不包含平台服务费!!!!!!!!!!!! // 与毛工确认过不包含平台服务费!!!!!!!!!!!!
......
...@@ -223,7 +223,7 @@ bool FlowControl::_PullOrder() ...@@ -223,7 +223,7 @@ bool FlowControl::_PullOrder()
} }
// 订单完成后两小时写销售单 // 订单完成后两小时写销售单
if(orderObject->status == 6 || orderObject->status == 200) if(orderObject->status == 6 || orderObject->status == 200 )
{ {
bool bWrite = true; bool bWrite = true;
// 检查转换信息是否正常、不正常则不写销售单(防止数据出问题影响门店正常数据) // 检查转换信息是否正常、不正常则不写销售单(防止数据出问题影响门店正常数据)
......
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