Commit 8601791b by guanzhenshan

处理Ebay销售统计报表订单数,销售额不对的问题,处理订单明细显示的记录和统计记录不一样的问题

parent 3f8cc94b
...@@ -382,7 +382,7 @@ namespace Bailun.DC.Services ...@@ -382,7 +382,7 @@ namespace Bailun.DC.Services
public List<Models.Orders.dc_base_oms_order> ListOrders(BtTableParameter parameter, string platform, string website, string account, DateTime? start, DateTime? end, string orderno, string sku, ref int total) public List<Models.Orders.dc_base_oms_order> ListOrders(BtTableParameter parameter, string platform, string website, string account, DateTime? start, DateTime? end, string orderno, string sku, ref int total)
{ {
var sqlparam = new DynamicParameters(); var sqlparam = new DynamicParameters();
var sql = "select t1.origin_order_id,t1.platform_type,t1.website,t1.seller_account,t1.platform_order_type,t1.bailun_order_status,t1.bailun_payment_status,t1.bailun_shipping_status,t1.order_currency,t1.amount_total,t1.amount_shipping,t1.amount_product,t1.amount_adjustment,t1.cost_promotion,t1.cost_platform_fee,t1.cost_product,t1.cost_first,t1.cost_package,t1.cost_fba_fee,t1.cost_total,(t1.profit_total-t1.cost_first) profit_total,t1.create_time,t1.order_update_time from dc_base_oms_order t1"; var sql = "select t1.origin_order_id,t1.platform_type,t1.website,t1.seller_account,t1.platform_order_type,t1.bailun_order_status,t1.bailun_payment_status,t1.bailun_shipping_status,t1.order_currency,t1.amount_total,t1.amount_shipping,t1.amount_product,t1.amount_adjustment,t1.cost_promotion,t1.cost_platform_fee,t1.cost_product,t1.cost_first,t1.cost_package,t1.cost_fba_fee,t1.cost_total,(t1.profit_total) profit_total,t1.create_time,t1.order_update_time from dc_base_oms_order t1";
var strwhere = " where t1.bailun_order_status!='Canceled' "; var strwhere = " where t1.bailun_order_status!='Canceled' ";
...@@ -1171,8 +1171,6 @@ namespace Bailun.DC.Services ...@@ -1171,8 +1171,6 @@ namespace Bailun.DC.Services
precolumn += " and seller_account=@seller_account"; precolumn += " and seller_account=@seller_account";
sqlparam.Add("seller_account", account); sqlparam.Add("seller_account", account);
} }
sql += " group by bailun_order_id ";
if (!string.IsNullOrEmpty(parameter.sort)) if (!string.IsNullOrEmpty(parameter.sort))
...@@ -1187,7 +1185,7 @@ namespace Bailun.DC.Services ...@@ -1187,7 +1185,7 @@ namespace Bailun.DC.Services
cn.Open(); cn.Open();
} }
var obj = cn.Page<Models.Orders.dc_base_oms_order>(parameter.pageIndex, parameter.limit, "select * from ("+sql+") a ", ref total, sqlparam,"",2*60); var obj = cn.Page<Models.Orders.dc_base_oms_order>(parameter.pageIndex, parameter.limit, sql, ref total, sqlparam,"",2*60);
precolumn += (" and bailun_order_id in ('" + string.Join("','", obj.Select(a => a.bailun_order_id)) + "') " + " group by bailun_order_id "); precolumn += (" and bailun_order_id in ('" + string.Join("','", obj.Select(a => a.bailun_order_id)) + "') " + " group by bailun_order_id ");
...@@ -1675,7 +1673,7 @@ namespace Bailun.DC.Services ...@@ -1675,7 +1673,7 @@ namespace Bailun.DC.Services
{ {
var sqlparam = new DynamicParameters(); var sqlparam = new DynamicParameters();
var sql = @"select platform_type,seller_account,website,order_currency,sum(amount_sales*seller_order_exchange_rate*bailun_sku_quantity_shipped) 'amount_product',sum(cost_product*bailun_sku_quantity_shipped) 'cost_product',sum(cost_platform_fee*seller_order_exchange_rate*bailun_sku_quantity_shipped) 'platform_fee',sum(cost_first*bailun_sku_quantity_shipped) 'head_fee',count(t1.bailun_order_id) 'order_count',sum(cost_total*bailun_sku_quantity_shipped) 'cost_count',sum(cost_tail*bailun_sku_quantity_shipped) 'nofba_logisticsfee',sum(profit_total*bailun_sku_quantity_shipped) 'profit_count',(sum(profit_total*bailun_sku_quantity_shipped)/sum(amount_sales*seller_order_exchange_rate*bailun_sku_quantity_shipped)) 'profit_rate',sum(amount_prepaid) amount_prepaid,sum(amount_refund*seller_order_exchange_rate*bailun_sku_quantity_shipped) amount_refund from dc_base_oms_sku t1"; var sql = @"select platform_type,seller_account,website,order_currency,sum(amount_sales*seller_order_exchange_rate) 'amount_sales',sum(cost_product) 'cost_product',sum(cost_platform_fee*seller_other_exchange_rate) 'cost_platform_fee',sum(cost_paypal_fee*seller_order_exchange_rate) as cost_paypal_fee,sum(cost_first) 'cost_first',count(t1.bailun_order_id) 'order_count',sum(cost_total) 'cost_total',sum(cost_tail) 'cost_tail',sum(profit_total) 'profit_total',(sum(profit_total)/sum(amount_sales*seller_order_exchange_rate)) 'profit_rate',sum(amount_prepaid) amount_prepaid,sum(amount_refund*seller_order_exchange_rate) amount_refund,sum(cost_handle_bailun) cost_handle_bailun,sum(cost_handle_platform) cost_handle_platform from dc_base_oms_order t1";
var presql = "select platform_type,seller_account,website,order_currency,sum(amount_prepaid) as amount_prepaid from dc_base_oms_sku t1 "; var presql = "select platform_type,seller_account,website,order_currency,sum(amount_prepaid) as amount_prepaid from dc_base_oms_sku t1 ";
if (!string.IsNullOrEmpty(warehousetype)) if (!string.IsNullOrEmpty(warehousetype))
...@@ -1725,7 +1723,6 @@ namespace Bailun.DC.Services ...@@ -1725,7 +1723,6 @@ namespace Bailun.DC.Services
} }
var prefromsql = fromsql; var prefromsql = fromsql;
fromsql += " and bailun_sku_quantity_shipped>0";
fromsql += " group by seller_account,website,order_currency,platform_type"; fromsql += " group by seller_account,website,order_currency,platform_type";
if (!string.IsNullOrWhiteSpace(parameter.sort)) if (!string.IsNullOrWhiteSpace(parameter.sort))
...@@ -1778,7 +1775,7 @@ namespace Bailun.DC.Services ...@@ -1778,7 +1775,7 @@ namespace Bailun.DC.Services
{ {
var sqlparam = new DynamicParameters(); var sqlparam = new DynamicParameters();
var sql = @"select sum(amount_sales*seller_order_exchange_rate*bailun_sku_quantity_shipped) 'amount_product',sum(cost_paypal_fee*seller_order_exchange_rate*bailun_sku_quantity_shipped) 'cost_paypal_fee',sum(cost_product*bailun_sku_quantity_shipped) 'cost_product',sum(cost_platform_fee*seller_order_exchange_rate*bailun_sku_quantity_shipped) 'cost_platform_fee',sum(cost_first*bailun_sku_quantity_shipped) 'cost_first',count(t1.bailun_order_id) 'order_count',sum(cost_total*bailun_sku_quantity_shipped) 'cost_total',sum(cost_tail*bailun_sku_quantity_shipped) 'cost_tail',sum(profit_total*bailun_sku_quantity_shipped) 'profit_total',(sum(profit_total*bailun_sku_quantity_shipped)/sum(amount_sales*seller_order_exchange_rate*bailun_sku_quantity_shipped)) 'profit_rate',sum(amount_prepaid) amount_prepaid,sum(amount_refund*seller_order_exchange_rate*bailun_sku_quantity_shipped) amount_refund,sum(cost_handle_bailun*bailun_sku_quantity_shipped) cost_handle_bailun from dc_base_oms_sku t1"; var sql = @"select sum(amount_sales*seller_order_exchange_rate) 'amount_sales',sum(cost_paypal_fee*seller_other_exchange_rate) 'cost_paypal_fee',sum(cost_product) 'cost_product',sum(cost_platform_fee*seller_order_exchange_rate) 'cost_platform_fee',sum(cost_first) 'cost_first',count(t1.bailun_order_id) 'order_count',sum(cost_total) 'cost_total',sum(cost_tail) 'cost_tail',sum(profit_total) 'profit_total',(sum(profit_total)/sum(amount_sales*seller_order_exchange_rate)) 'profit_rate',sum(amount_prepaid) amount_prepaid,sum(amount_refund*seller_order_exchange_rate) amount_refund,sum(cost_handle_bailun) cost_handle_bailun,sum(cost_handle_platform) cost_handle_platform from dc_base_oms_order t1";
var presql = "select platform_type,seller_account,website,order_currency,sum(amount_prepaid) as amount_prepaid from dc_base_oms_sku t1 "; var presql = "select platform_type,seller_account,website,order_currency,sum(amount_prepaid) as amount_prepaid from dc_base_oms_sku t1 ";
//var sql = @"select t1.platform_type,t1.seller_account,t1.website,sum(t1.amount_product*t1.seller_order_exchange_rate) 'amount_product',sum(t1.cost_product) 'cost_product',sum(t1.cost_platform_fee*t1.seller_other_exchange_rate) 'cost_platform_fee',sum(t1.cost_first) 'cost_first',count(t1.id) 'order_count',sum(t1.cost_total) 'cost_total',sum(t1.cost_shipping) 'cost_shipping',sum(t1.profit_total) 'profit_total',(sum(t1.profit_total)/sum(t1.amount_total*t1.seller_order_exchange_rate)) 'profit_rate',sum(t1.amount_prepaid) amount_prepaid,sum(t1.amount_refund*t1.seller_order_exchange_rate) amount_refund from dc_base_oms_order t1"; //var sql = @"select t1.platform_type,t1.seller_account,t1.website,sum(t1.amount_product*t1.seller_order_exchange_rate) 'amount_product',sum(t1.cost_product) 'cost_product',sum(t1.cost_platform_fee*t1.seller_other_exchange_rate) 'cost_platform_fee',sum(t1.cost_first) 'cost_first',count(t1.id) 'order_count',sum(t1.cost_total) 'cost_total',sum(t1.cost_shipping) 'cost_shipping',sum(t1.profit_total) 'profit_total',(sum(t1.profit_total)/sum(t1.amount_total*t1.seller_order_exchange_rate)) 'profit_rate',sum(t1.amount_prepaid) amount_prepaid,sum(t1.amount_refund*t1.seller_order_exchange_rate) amount_refund from dc_base_oms_order t1";
...@@ -1829,8 +1826,6 @@ namespace Bailun.DC.Services ...@@ -1829,8 +1826,6 @@ namespace Bailun.DC.Services
} }
var prefromsql = sqlwhere; var prefromsql = sqlwhere;
sqlwhere += " and bailun_sku_quantity_shipped>0";
//sqlwhere += " group by t1.seller_account,t1.platform_type";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString)) using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{ {
......
...@@ -905,19 +905,25 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -905,19 +905,25 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var total = 0; var total = 0;
var services = new Services.OrdersServices(); var services = new Services.OrdersServices();
var objwithdraw = new Services.PlatformSiteServices().GetPlatformLossWithdraw().Where(a => a.english_name == "Ebay").FirstOrDefault(); var objwithdraw = new Services.PlatformSiteServices().GetPlatformLossWithdraw().Where(a => a.english_name == "Ebay").FirstOrDefault();
var withdrawpercent = 0.0000M;
if (objwithdraw != null && objwithdraw.Loss_withdrawal_percent.HasValue)
{
withdrawpercent = objwithdraw.Loss_withdrawal_percent.Value;
}
var list = services.ListEbayStatistics(parameter, website, selleraccount, start, end, warehousetype, warehousecode, ref total); var list = services.ListEbayStatistics(parameter, website, selleraccount, start, end, warehousetype, warehousecode, ref total);
var countM = services.ListEbayStatisticsCount(website, selleraccount, start, end, warehousetype, warehousecode); var countM = services.ListEbayStatisticsCount(website, selleraccount, start, end, warehousetype, warehousecode);
countM.seller_account = "总计:"; countM.seller_account = "总计:";
countM.amount_sales = Math.Round(countM.amount_sales, 2, MidpointRounding.AwayFromZero);
countM.amount_product = Math.Round(countM.amount_product, 2, MidpointRounding.AwayFromZero); countM.amount_product = Math.Round(countM.amount_product, 2, MidpointRounding.AwayFromZero);
countM.cost_product = Math.Round(countM.cost_product, 2, MidpointRounding.AwayFromZero); countM.cost_product = Math.Round(countM.cost_product, 2, MidpointRounding.AwayFromZero);
countM.cost_platform_fee = Math.Round(countM.cost_platform_fee, 2, MidpointRounding.AwayFromZero); countM.cost_platform_fee = Math.Round(countM.cost_platform_fee, 2, MidpointRounding.AwayFromZero);
countM.cost_package = Math.Round(countM.cost_package, 2, MidpointRounding.AwayFromZero); countM.cost_package = Math.Round(countM.cost_package, 2, MidpointRounding.AwayFromZero);
countM.cost_paypal_fee = Math.Round(countM.cost_paypal_fee, 2, MidpointRounding.AwayFromZero); countM.cost_paypal_fee = Math.Round(countM.cost_paypal_fee, 2, MidpointRounding.AwayFromZero);
countM.cost_first = Math.Round(countM.cost_first, 2, MidpointRounding.AwayFromZero); countM.cost_first = Math.Round(countM.cost_first, 2, MidpointRounding.AwayFromZero);
countM.loss_withdrawal = countM.amount_product * (objwithdraw == null ? 0 : objwithdraw.Loss_withdrawal_percent ?? 0); countM.loss_withdrawal = countM.amount_sales * (withdrawpercent);
countM.cost_total = Math.Round(countM.cost_total, 2, MidpointRounding.AwayFromZero); countM.cost_total = Math.Round(countM.cost_total, 2, MidpointRounding.AwayFromZero);
countM.cost_shipping = Math.Round(countM.cost_shipping, 2, MidpointRounding.AwayFromZero); countM.cost_shipping = Math.Round(countM.cost_shipping, 2, MidpointRounding.AwayFromZero);
countM.amount_refund = Math.Round(countM.amount_refund, 2, MidpointRounding.AwayFromZero); countM.amount_refund = Math.Round(countM.amount_refund, 2, MidpointRounding.AwayFromZero);
...@@ -932,6 +938,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -932,6 +938,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
p.platform_type, p.platform_type,
p.seller_account, p.seller_account,
p.website, p.website,
amount_sales = p.amount_sales.ToString("N2"),
amount_product = p.amount_product.ToString("N2"), amount_product = p.amount_product.ToString("N2"),
cost_product = p.cost_product.ToString("N2"), cost_product = p.cost_product.ToString("N2"),
cost_platform_fee = p.cost_platform_fee.ToString("N2"), cost_platform_fee = p.cost_platform_fee.ToString("N2"),
...@@ -939,7 +946,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -939,7 +946,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
cost_paypal_fee = p.cost_paypal_fee.ToString("N2"), cost_paypal_fee = p.cost_paypal_fee.ToString("N2"),
cost_first = p.cost_first.ToString("N2"), cost_first = p.cost_first.ToString("N2"),
p.order_count, p.order_count,
loss_withdrawal = (p.amount_product * (objwithdraw == null ? 0 : objwithdraw.Loss_withdrawal_percent ?? 0)) > 0 ? (p.amount_product * (objwithdraw == null ? 0 : objwithdraw.Loss_withdrawal_percent ?? 0)).ToString("N2") : "0", loss_withdrawal = (p.amount_sales * withdrawpercent).ToString("N2"),
cost_total = p.cost_total.ToString("N2"), cost_total = p.cost_total.ToString("N2"),
cost_shipping = p.cost_shipping.ToString("N2"), cost_shipping = p.cost_shipping.ToString("N2"),
...@@ -960,6 +967,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -960,6 +967,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
countM.platform_type, countM.platform_type,
countM.seller_account, countM.seller_account,
countM.website, countM.website,
amount_sales = countM.amount_sales.ToString("N2"),
amount_product = countM.amount_product.ToString("N2"), amount_product = countM.amount_product.ToString("N2"),
cost_product = countM.cost_product.ToString("N2"), cost_product = countM.cost_product.ToString("N2"),
cost_platform_fee = countM.cost_platform_fee.ToString("N2"), cost_platform_fee = countM.cost_platform_fee.ToString("N2"),
......
...@@ -111,8 +111,8 @@ ...@@ -111,8 +111,8 @@
} }
}, },
{ {
field: 'amount_product', title: '销售额', width: '100', sortable: true, iscount: true, formatter: function (idx, data) { field: 'amount_sales', title: '销售额', width: '100', sortable: true, iscount: true, formatter: function (idx, data) {
return '<span class="alink" onclick="ShowDetail(\'' + data.platform_type + '\',\'' + data.website + '\',\'' + data.seller_account + '\',\'销售额\',\'amount_product\',1)">' + data.amount_product + '</span>'; return '<span class="alink" onclick="ShowDetail(\'' + data.platform_type + '\',\'' + data.website + '\',\'' + data.seller_account + '\',\'销售额\',\'amount_sales\',1)">' + data.amount_sales + '</span>';
} }
}, },
{ {
...@@ -256,7 +256,7 @@ ...@@ -256,7 +256,7 @@
} }
function ShowDetail(platform, website, account, coltitle, colval, single) { function ShowDetail(platform, website, account, coltitle, colval, single) {
//layer_show(platform + " " + website + " " + $('#start').val() + "至" + $('#end').val() + ' 订单明细', '@Url.Content("~/Reports/Orders/ListOrderDetail?platform=")' + platform + '&website=' + website + '&account=' + account + '&start=' + $('#start').val() + '&end=' + $('#end').val() + '&col=' + colval + '&coltitle=' + coltitle + '&showsingle=' + single, '90%', '90%'); layer_show(platform + " " + website + " " + $('#start').val() + "至" + $('#end').val() + ' 订单明细', '@Url.Content("~/Reports/Orders/ListOrderDetail?platform=")' + platform + '&website=' + website + '&account=' + account + '&start=' + $('#start').val() + '&end=' + $('#end').val() + '&col=' + colval + '&coltitle=' + coltitle + '&showsingle=' + single, '90%', '90%');
} }
</script> </script>
......
...@@ -187,7 +187,7 @@ ...@@ -187,7 +187,7 @@
$('#website').val('@ViewBag.website'); $('#website').val('@ViewBag.website');
list(); listAccount();
} }
} }
}) })
...@@ -206,6 +206,8 @@ ...@@ -206,6 +206,8 @@
} }
$('#account').val('@ViewBag.account'); $('#account').val('@ViewBag.account');
list();
} }
} }
}) })
......
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