Commit a78759ae by shangshang.dai

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

parent af1658e8
......@@ -461,6 +461,17 @@ QByteArray FmPlugin::_GetOrderEntryData(const OrderObject *orderObject, const QS
rObj.insert("seller", orderObject->channelName);
rObj.insert("souceOrderCls", "");
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;
for(int i=0; i < orderObject->proList.count(); i++)
{
......@@ -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);
QJsonObject cObj;
cObj.insert("skuId", cpObj->pid);
cObj.insert("qty", cpObj->productAmount*ratio);
cObj.insert("price", ss_fee/(cpObj->productAmount*ratio));
cObj.insert("total", "");
cObj.insert("freight", "");
cObj.insert("payAmount", "");
cObj.insert("unitPrice", ys_fee/(cpObj->productAmount*ratio));
cObj.insert("priceAmount", "");
cObj.insert("buyAmount", "");
cObj.insert("businessDiscount", "");
cObj.insert("platformDiscount", "");
cObj.insert("businessDiscountInfo", "");
cObj.insert("platformDiscountInfo", "");
cObj.insert("note", QString::number(_Penny2Dollar(cpObj->productAmount*ratio*cpObj->cost),'f',2));
products.insert(i, cObj);
if(_proMap.contains(cpObj->pid))
{
Product_elemet elemet;
elemet.qty = _proMap.value(cpObj->pid).qty + cpObj->productAmount*ratio;
elemet.ys_fee = _proMap.value(cpObj->pid).ys_fee + ys_fee;
elemet.ss_fee = _proMap.value(cpObj->pid).ss_fee + ss_fee;
elemet.note = _proMap.value(cpObj->pid).note + _Penny2Dollar(cpObj->productAmount*ratio*cpObj->cost);
_proMap.insert(cpObj->pid, elemet);
}else
{
Product_elemet elemet;
elemet.skuId = cpObj->pid;
elemet.qty = cpObj->productAmount*ratio;
elemet.ys_fee = ys_fee;
elemet.ss_fee = ss_fee;
elemet.note = _Penny2Dollar(cpObj->productAmount*ratio*cpObj->cost);
_proMap.insert(cpObj->pid, elemet);
}
}
}else
{
float ratio = (float)pObj->unit_ratio/100;
QJsonObject cObj;
// 该商品应收的钱
float ys_fee = _Penny2Dollar(pObj->price*pObj->productAmount);
// 该商品实际收到的钱
float ss_fee = ys_fee*(1-(float)orderObject->dis_shop_fee/orderObject->product_fee);
cObj.insert("skuId", pObj->pid);
cObj.insert("qty", pObj->productAmount*ratio);
cObj.insert("price", ss_fee/(pObj->productAmount*ratio));
cObj.insert("total", "");
cObj.insert("freight", "");
cObj.insert("payAmount", "");
cObj.insert("unitPrice", ys_fee/(pObj->productAmount*ratio));
cObj.insert("priceAmount", "");
cObj.insert("buyAmount", "");
cObj.insert("businessDiscount", "");
cObj.insert("platformDiscount", "");
cObj.insert("businessDiscountInfo", "");
cObj.insert("platformDiscountInfo", "");
cObj.insert("note", QString::number(_Penny2Dollar(pObj->productAmount*ratio*pObj->cost),'f',2));
products.insert(i, cObj);
if(_proMap.contains(pObj->pid))
{
Product_elemet elemet;
elemet.qty = _proMap.value(pObj->pid).qty + pObj->productAmount*ratio;
elemet.ys_fee = _proMap.value(pObj->pid).ys_fee + ys_fee;
elemet.ss_fee = _proMap.value(pObj->pid).ss_fee + ss_fee;
elemet.note = _proMap.value(pObj->pid).note + _Penny2Dollar(pObj->productAmount*ratio*pObj->cost);
_proMap.insert(pObj->pid, elemet);
}else
{
Product_elemet elemet;
elemet.skuId = pObj->pid;
elemet.qty = pObj->productAmount*ratio;
elemet.ys_fee = ys_fee;
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;
QJsonObject payObj;
// 与毛工确认过不包含平台服务费!!!!!!!!!!!!
......
......@@ -223,7 +223,7 @@ bool FlowControl::_PullOrder()
}
// 订单完成后两小时写销售单
if(orderObject->status == 6 || orderObject->status == 200)
if(orderObject->status == 6 || orderObject->status == 200 )
{
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