Commit 7d86fb08 by guanzhenshan

平台利润统计报表按发货时间,获取退款数据是排除取消的

parent 8c53f240
...@@ -1732,7 +1732,7 @@ namespace Bailun.DC.Services ...@@ -1732,7 +1732,7 @@ namespace Bailun.DC.Services
cn.Open(); cn.Open();
} }
var obj = cn.Query<Models.Orders.dc_base_oms_sku>(sql + strwhere, sqlparam, null, true, 2 * 60); var obj = cn.Query<Models.Orders.dc_base_oms_sku>(sql + strwhere, sqlparam, null, true, 10 * 60);
return obj.AsList(); return obj.AsList();
} }
...@@ -4233,37 +4233,39 @@ namespace Bailun.DC.Services ...@@ -4233,37 +4233,39 @@ namespace Bailun.DC.Services
public List<dc_base_oms_order> ListPlatformRefund(DateTime? start, DateTime? end, int? companyid, string platform, string website, bool isUSD) public List<dc_base_oms_order> ListPlatformRefund(DateTime? start, DateTime? end, int? companyid, string platform, string website, bool isUSD)
{ {
var sqlparam = new DynamicParameters(); var sqlparam = new DynamicParameters();
var sql = $"select platform_type,{(isUSD? "sum(amount_refund_usd)" : "sum(amount_refund_rmb)")} as amount_refund from dc_base_crm_refund where 1=1 "; var sql = $"select t1.platform_type,{(isUSD? "sum(t1.amount_refund_usd)" : "sum(t1.amount_refund_rmb)")} as amount_refund from dc_base_crm_refund t1 join dc_base_oms_order t2 on t1.origin_order_id=t2.origin_order_id and t2.bailun_order_status!='Canceled' and t2.has_scalp=0 and t2.has_innersale=0 and t2.bailun_interception_status in ('None','Failed') ";
sql += " where 1=1 ";
if (companyid.HasValue && companyid.Value != 0) if (companyid.HasValue && companyid.Value != 0)
{ {
sql += " and company_id="+companyid.Value; sql += " and t1.company_id="+companyid.Value;
} }
if (!string.IsNullOrWhiteSpace(platform)) if (!string.IsNullOrWhiteSpace(platform))
{ {
sql += " and platform_type=@platform_type"; sql += " and t1.platform_type=@platform_type";
sqlparam.Add("platform_type", platform); sqlparam.Add("platform_type", platform);
} }
if (!string.IsNullOrWhiteSpace(website)) if (!string.IsNullOrWhiteSpace(website))
{ {
sql += " and website=@website"; sql += " and t1.website=@website";
sqlparam.Add("website", website); sqlparam.Add("website", website);
} }
if (start.HasValue) if (start.HasValue)
{ {
sql += " and refund_time>=@start"; sql += " and t1.refund_time>=@start";
sqlparam.Add("start", start.Value); sqlparam.Add("start", start.Value);
} }
if (end.HasValue) if (end.HasValue)
{ {
sql += " and refund_time<@end"; sql += " and t1.refund_time<@end";
sqlparam.Add("end", end.Value.AddDays(1)); sqlparam.Add("end", end.Value.AddDays(1));
} }
sql += " group by platform_type"; sql += " group by t1.platform_type";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString)) using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{ {
......
...@@ -1372,6 +1372,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1372,6 +1372,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
dtstart = shipstart; dtstart = shipstart;
dtend = shipend; dtend = shipend;
listRefund = _service.ListPlatformRefund(dtstart, dtend, companyid, platform, website, currency.ToUpper() == "USD");
} }
else else
{ {
...@@ -1382,7 +1384,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1382,7 +1384,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
ebayPutAway = _service.EbayFeeCount(companyid, dtstart, dtend, PutAwayFeeType, "", "", currency.ToUpper() == "USD"); ebayPutAway = _service.EbayFeeCount(companyid, dtstart, dtend, PutAwayFeeType, "", "", currency.ToUpper() == "USD");
var amazonAD = _service.ListAmazonADSkuCount("", dtstart, dtend, companyid, currency.ToUpper() == "USD"); var amazonAD = _service.ListAmazonADSkuCount("", dtstart, dtend, companyid, currency.ToUpper() == "USD");
listRefund = _service.ListPlatformRefund(dtstart, dtend, companyid, platform, website, currency.ToUpper() == "USD");
foreach (var item in result) foreach (var item in result)
...@@ -1408,14 +1410,17 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1408,14 +1410,17 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
item.profit_rate = Math.Round((item.profit_total / item.amount_sales), 2); item.profit_rate = Math.Round((item.profit_total / item.amount_sales), 2);
} }
//item.amount_refund = 0; if (shipstart.HasValue || shipend.HasValue)
//item.amount_refund_rate = 0; {
//var objRefund = listRefund.Where(a => a.platform_type == item.platform_type).FirstOrDefault(); item.amount_refund = 0;
//if (objRefund != null) item.amount_refund_rate = 0;
//{ var objRefund = listRefund.Where(a => a.platform_type == item.platform_type).FirstOrDefault();
// item.amount_refund = objRefund.amount_refund; if (objRefund != null)
// item.amount_refund_rate = (item.amount_sales>0?item.amount_refund/item.amount_sales:0); {
//} item.amount_refund = objRefund.amount_refund;
item.amount_refund_rate = (item.amount_sales > 0 ? item.amount_refund / item.amount_sales : 0);
}
}
//利润减去退款 //利润减去退款
item.profit_total = (item.profit_total - item.amount_refund); item.profit_total = (item.profit_total - item.amount_refund);
......
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