Commit 7cefa2c6 by guanzhenshan

增加导出退款明细功能 for 晓婷

parent 905e663a
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models.Orders
{
public class mRefundForFinance
{
/// <summary>
/// 平台
/// </summary>
public string platform_type { get; set; }
/// <summary>
/// 单号(交易号)
/// </summary>
public string origin_order_id { get; set; }
/// <summary>
/// 退款时间
/// </summary>
public DateTime refund_time { get; set; }
/// <summary>
/// 退款金额(原币)
/// </summary>
public decimal amount_refund { get; set; }
/// <summary>
/// 币种
/// </summary>
public string currency { get; set; }
/// <summary>
/// 发货状态
/// </summary>
public string shipping_status { get; set; }
/// <summary>
/// Sku
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// 财务分类
/// </summary>
public string financecategoryname { get; set; }
/// <summary>
/// 发货时间
/// </summary>
public DateTime? shipping_time { get; set; }
/// <summary>
/// 订单金额
/// </summary>
public decimal order_total_amount { get; set; }
/// <summary>
/// 订单币种
/// </summary>
public string order_currency { get; set; }
}
}
......@@ -5736,6 +5736,50 @@ namespace Bailun.DC.Services
}
}
/// <summary>
/// 获取退款列表(财务 晓婷)
/// </summary>
/// <param name="start">退款开始时间</param>
/// <param name="end">退款结束时间</param>
/// <returns></returns>
public List<mRefundForFinance> ListRefundForFinance(DateTime start,DateTime end)
{
var sql = $@"select * from (
select distinct t1.platform_type,CONCAT('`',t1.origin_order_id) as origin_order_id,t1.refund_time,t1.amount_refund,t1.order_currency as currency,t1.shipping_status,t1.bailun_sku,t4.financecategoryname,t2.shipping_time,t1.order_total_amount,t6.order_currency
from dc_base_crm_refund t1
left join dc_base_oms_order t6 on t1.origin_order_id=t6.origin_order_id
left join dc_base_oms_pick t2 on t1.origin_order_id=t2.origin_order_id and t1.bailun_sku=t2.bailun_sku and t2.has_delete=0 and t2.shipping_status='TotalShipping'
left join dc_base_sku t3 on t1.bailun_sku=t3.bailun_sku
left join dc_base_sku_finance_category t4 on t3.bailun_category_id=t4.bailuncategoryid
where t1.refund_time>='{start.ToString("yyyy-MM-dd")}' and t1.refund_time<'{end.AddDays(1).ToString("yyyy-MM-dd")}' and t1.platform_type!='Ebay' and t1.is_deleted=0
union all
select t1.platform_type,CONCAT('`',t1.origin_order_id) as origin_order_id,t1.refund_time,t1.amount_refund,t1.order_currency as currency,t1.shipping_status,t1.bailun_sku,t4.financecategoryname,t2.shipping_time,t1.order_total_amount,t6.order_currency
from dc_base_crm_refund t1
left join dc_base_oms_order t6 on t1.origin_order_id=t6.transaction_id
left join dc_base_oms_pick t2 on t6.origin_order_id=t2.origin_order_id and t1.bailun_sku=t2.bailun_sku and t2.has_delete=0 and t2.shipping_status='TotalShipping'
left join dc_base_sku t3 on t1.bailun_sku=t3.bailun_sku
left join dc_base_sku_finance_category t4 on t3.bailun_category_id=t4.bailuncategoryid
where t1.refund_time>='{start.ToString("yyyy-MM-dd")}' and t1.refund_time<'{end.AddDays(1).ToString("yyyy-MM-dd")}' and t1.platform_type='Ebay' and t1.is_deleted=0
) t1
order by t1.refund_time;
";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
{
if(cn.State== System.Data.ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.Query<mRefundForFinance>(sql).ToList();
return obj;
}
}
#endregion
#region 广告费
......
......@@ -2909,6 +2909,43 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
return File(ms, "text/csv", filename + ".csv");
}
public ActionResult ExportRefundOrder(DateTime start,DateTime end)
{
var _service = new Services.OrdersServices();
var obj = _service.ListRefundForFinance(start, end);
var colNames = new List<string> {"平台","单号(交易号)","退款时间", "退款金额(原币)", "币种",
"发货状态", "Sku","财务分类","发货时间","订单金额",
"订单币种"
};
var listVal = new List<string>();
foreach (var item in obj)
{
listVal.Add(
item.platform_type + "|" + item.origin_order_id + "|" + item.refund_time.ToString("yyyy-MM-dd HH:mm:ss") + "|" + item.amount_refund + "|" + item.currency + "|" +
item.shipping_status + "|" + item.bailun_sku+"|"+item.financecategoryname+"|"+(item.shipping_time?.ToString("yyyy-MM-dd HH:mm:ss")??"")+"|"+item.order_total_amount+
"|"+item.order_currency
);
}
var guid = Guid.NewGuid().ToString();
var filename = "退款流水(财务)导出" + DateTime.Now.ToString("yyyyMMddHHmmss");
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(listVal, colNames, guid, filepath);
var ms = new System.IO.MemoryStream();
using (var f = new System.IO.FileStream(filepath + guid + ".csv", System.IO.FileMode.Open))
{
f.CopyTo(ms);
}
ms.Position = 0;
return File(ms, "text/csv", filename + ".csv");
}
#endregion
#region 广告费
......
......@@ -55,6 +55,7 @@
<label>&nbsp;</label>
<button type="button" class="btn btn-primary" onclick="list();"><i class="fa fa-search"></i>&nbsp;查询</button>
<button id="btnexport" style="display:none" type="button" class="btn btn-success" onclick="exportlist()">导出</button>
<button type="button" class="btn btn-warning" onclick="exportForFinance()">导出(财务格式)</button>
</div>
</div>
</form>
......@@ -91,7 +92,7 @@
var height = document.body.clientHeight;
$("#roletable").attr("data-height", (height - 170));
listPlatform();
$('#platform').change(function () {
......@@ -168,7 +169,7 @@
$('#platform').val('@ViewBag.platform');
list();
}
}
......@@ -215,10 +216,24 @@
}
function exportlist() {
window.open('@Url.Content("~/Reports/Orders/ExportListReturn?")' + $("#toolbar").serialize() + '&companyid=' + companyid, '_blank');
}
function exportForFinance()
{
var start = $('#start').val();
var end = $('#end').val();
if (start == '' || end == '') {
alert('退款时间不能为空');
return;
}
window.open('@Url.Content("~/Reports/Orders/ExportRefundOrder?start=")' + start+'&end='+end, '_blank');
}
</script>
}
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