Commit 62a799f3 by guanzhenshan

1、增加paypal明细页面和导出功能

2、修复平台利润统计报表按美元显示时,广告费和上架费没有转换币种的问题
parent d8a288c7
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
/// <summary>
/// Paypal费
/// </summary>
public class dc_base_finance_paypal
{
/// <summary>
/// auto_increment
/// </summary>
public int id { get; set; }
/// <summary>
///
/// </summary>
public string transaction_id { get; set; }
/// <summary>
///
/// </summary>
public string parent_transaction_id { get; set; }
/// <summary>
///
/// </summary>
public string receipt_id { get; set; }
/// <summary>
///
/// </summary>
public string transaction_type { get; set; }
/// <summary>
///
/// </summary>
public string payment_type { get; set; }
/// <summary>
///
/// </summary>
public DateTime payment_date { get; set; }
/// <summary>
///
/// </summary>
public decimal gross_amount { get; set; }
/// <summary>
///
/// </summary>
public decimal fee_amount { get; set; }
/// <summary>
///
/// </summary>
public decimal settle_amount { get; set; }
/// <summary>
///
/// </summary>
public decimal tax_amount { get; set; }
/// <summary>
///
/// </summary>
public string exchange_rate { get; set; }
/// <summary>
///
/// </summary>
public string payment_status { get; set; }
/// <summary>
///
/// </summary>
public string pending_reason { get; set; }
/// <summary>
///
/// </summary>
public string reason_code { get; set; }
/// <summary>
///
/// </summary>
public DateTime create_time { get; set; }
/// <summary>
///
/// </summary>
public int saas_company_id { get; set; }
/// <summary>
///
/// </summary>
public DateTime gmt_create_time { get; set; }
/// <summary>
///
/// </summary>
public DateTime gmt_modify_time { get; set; }
/// <summary>
///
/// </summary>
public string business { get; set; }
/// <summary>
///
/// </summary>
public string receiver { get; set; }
/// <summary>
///
/// </summary>
public string receiver_id { get; set; }
/// <summary>
///
/// </summary>
public string payer { get; set; }
/// <summary>
///
/// </summary>
public string payer_id { get; set; }
/// <summary>
///
/// </summary>
public string currency { get; set; }
/// <summary>
///
/// </summary>
public int currency_id { get; set; }
/// <summary>
///
/// </summary>
public decimal other_to_cny_exchange_rate { get; set; }
/// <summary>
///
/// </summary>
public decimal gross_amount_rmb { get; set; }
}
}
......@@ -695,7 +695,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
msg = list.Count>0?"":"成本接口返回了空记录。",
col = listCol,
list = listValue,
amount = Math.Round(list.Sum(a=>a.amountRmb),2)
amount = Math.Round(list.Sum(a=>a.amountRmb)+ listInterest.Sum(a=>a.RepayInterestRMB), 2)
});
}
......
......@@ -1127,7 +1127,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var obj = _service.ListEbayFee(parameter, companyid, start, end, ref total, feeType,orderno,account);
var countObj = _service.EbayFeeCount(companyid, start, end, feeType, orderno,account);
var countObj = _service.EbayFeeCount(companyid, start, end, feeType, orderno,account,false);
var list = obj.Select(a => new {
a.id,
......@@ -1191,7 +1191,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var obj = _service.ListEbayFee(parameter, companyid, start, end, ref total, feeType, orderno, account);
var countObj = _service.EbayFeeCount(companyid, start, end, feeType, orderno, account);
var countObj = _service.EbayFeeCount(companyid, start, end, feeType, orderno, account,false);
var list = obj.Select(a => new {
a.id,
......@@ -1347,9 +1347,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
result = _service.ListPlatformProfit(platform,website,start, end, shipstart, shipend, currency.ToUpper() == "USD", companyid, skucategoryids);
}
ebayADFee = _service.EbayFeeCount(companyid, dtstart, dtend, ADfeeType, "", "");
ebayPutAway = _service.EbayFeeCount(companyid, dtstart, dtend, PutAwayFeeType, "", "");
var amazonAD = _service.ListAmazonADSkuCount("", dtstart, dtend, companyid);
ebayADFee = _service.EbayFeeCount(companyid, dtstart, dtend, ADfeeType, "", "", currency.ToUpper() == "USD");
ebayPutAway = _service.EbayFeeCount(companyid, dtstart, dtend, PutAwayFeeType, "", "", currency.ToUpper() == "USD");
var amazonAD = _service.ListAmazonADSkuCount("", dtstart, dtend, companyid, currency.ToUpper() == "USD");
foreach (var item in result)
{
......@@ -2090,7 +2090,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var total = 0;
var obj = _service.ListAmazonADSku(parameter, account, start, end, companyid, ref total);
var countObj = _service.ListAmazonADSkuCount(account, start, end, companyid);
var countObj = _service.ListAmazonADSkuCount(account, start, end, companyid,false);
var list = obj.Select(a => new {
a.account_name,
......@@ -2159,6 +2159,104 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
#endregion
#region Paypal
/// <summary>
/// Paypal费流水
/// </summary>
/// <returns></returns>
public ActionResult ListPaypal()
{
return View();
}
/// <summary>
/// Paypal费流水数据
/// </summary>
/// <param name="parameter"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
public string ListPaypalJson(BtTableParameter parameter,DateTime? start,DateTime? end)
{
var total = 0;
var companyid = HttpContextHelper.Current?.User?.GetCompanyId().ToInt32();
var _service = new Services.OrdersServices();
var obj = _service.ListPaypal(parameter, start, end, companyid, ref total);
var countObj = _service.ListPaypalCount(start, end, companyid);
var list = obj.Select(a => new {
a.transaction_id,
a.receipt_id,
a.transaction_type,
a.payment_type,
payment_date = a.payment_date.ToString("yyyy-MM-dd HH:mm:ss"),
gross_amount = a.gross_amount.ToString("N2"),
a.payment_status,
a.business,
a.receiver,
a.currency,
gross_amount_rmb = a.gross_amount_rmb.ToString("N2")
});
return JsonConvert.SerializeObject(new { total = total, rows = list, count_row = new {
currency = "合计",
gross_amount_rmb = countObj.gross_amount_rmb.ToString("N2"),
gross_amount = countObj.gross_amount.ToString("N2")
},
companyid
});
}
/// <summary>
/// 导出paypal明细
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="companyid"></param>
/// <returns></returns>
public ActionResult ExportPaypal(DateTime? start,DateTime? end,int companyid)
{
var obj = new Services.OrdersServices().ListPaypal(start, end, companyid);
var list = obj.Select(a => new {
a.transaction_id,
a.receipt_id,
a.transaction_type,
a.payment_type,
payment_date = a.payment_date.ToString("yyyy-MM-dd HH:mm:ss"),
gross_amount = a.gross_amount.ToString("N2"),
a.payment_status,
a.business,
a.receiver,
a.currency,
gross_amount_rmb = a.gross_amount_rmb.ToString("N2")
});
var colNames = new List<string> {"交易号","receipt_id","交易类型", "支付类型", "币种",
"总费用","总费用RMB","交易状态","接收帐号","时间"
};
var listVal = new List<string>();
foreach (var item in list)
{
listVal.Add(
item.transaction_id + "|" + item.receipt_id + "|" + item.transaction_type + "|" + item.payment_type + "|" + item.currency + "|" +
item.gross_amount+"|"+item.gross_amount_rmb+"|"+item.payment_status + "|"+item.receiver+"|"+item.payment_date
);
}
var filename = "Ebay Paypal明细导出" + DateTime.Now.ToString("yyyyMMddHHmmss");
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(listVal, colNames, filename, filepath);
return File("~/Files/Report/" + DateTime.Now.ToString("yyyy-MM-dd") + "/" + filename + ".csv", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filename + ".csv");
}
#endregion
#region 共用统计
/// <summary>
......

@{
ViewData["Title"] = "Ebay Paypal费";
Layout = "~/Pages/Shared/_MainLayout.cshtml";
ViewBag.Nav = new string[] { "统计", "Ebay", "Paypal费" };
}
<div class="row">
<div class="col-sm-12">
<div id="rightcontain">
<div class="ibox-content m-b-sm border-bottom">
<form id="toolbar">
<div class="form-inline" style="line-height:40px;">
<div class="form-group" style="display:none;">
<label>&nbsp;</label>
<select id="account" name="account" class="form-control">
<option value="">请选择帐号</option>
</select>
</div>
<div class="form-group">
<label>费用时间</label>
<input id="start" name="start" type="text" class="form-control" style="width:130px;" value="@(DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd"))" />
<span>至</span>
<input id="end" name="end" type="text" class="form-control" style="width:130px;" value="@(DateTime.Now.ToString("yyyy-MM-dd"))" />
</div>
<div class="form-group">
<label>&nbsp;</label>
<input id="orderno" name="orderno" class="form-control" style="width:130px;" placeholder="平台订单号" />
</div>
<div class="form-group">
<label>&nbsp;</label>
<button type="button" class="btn btn-primary" onclick="list();"><i class="fa fa-search"></i>&nbsp;查询</button>
<button type="button" class="btn btn-success" onclick="exportxls();">导出</button>
</div>
</div>
</form>
</div>
<div class="ibox-content m-b-sm border-bottom">
<table id="roletable" style="table-layout:fixed;"></table>
</div>
</div>
</div>
</div>
@section css{
<link href="~/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" type="text/css" />
<link href="~/css/bootstrap-table-fixed-columns.css" rel="stylesheet" />
<style>
.mules {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
}
@section scripts{
<script src="~/js/jquery.ztree.core.min.js"></script>
<script src="~/js/jquery.ztree.excheck.min.js"></script>
<script src="~/js/bootstrap-table-fixed-columns.js" type="text/javascript"></script>
<script type="text/javascript">
var tb;
var companyid = 0;
$(document).ready(function () {
laydate.render({ elem: '#start' });
laydate.render({ elem: '#end' });
var height = document.body.clientHeight;
$("#roletable").attr("data-height", (height - 170));
list();
listAccount();
//listWebsite();
//listcategory12();
})
function list() {
var columns = [
{
field: 'transaction_id', title: '交易号', width: '160', formatter: function (idx, data) {
return '<div class="mules" title="' + data.transaction_id + '">' + data.transaction_id + '</div>';
}
},
{ field: 'receipt_id', title: 'receipt_id', width: '120' },
{ field: 'transaction_type', title: '交易类型', width: '120' },
{ field: 'payment_type', title: '支付类型', width: '130', iscount: true },
{ field: 'currency', title: '币种', width: '130' },
{ field: 'gross_amount', title: '总费用', width: '100', sortable: true, iscount: true },
{ field: 'gross_amount_rmb', title: '总费用RMB', width: '130', iscount: true },
{ field: 'payment_status', title: '交易状态', width: '110' },
{ field: 'receiver', title: '接收帐号', width: '110' },
{ field: 'payment_date', title: '时间', width: '130', sortable: true }
];
var url = '@Url.Content("~/Reports/Orders/ListPaypalJson")' + '?' + $("#toolbar").serialize();
if (tb == undefined) {
tb = OnlyTable("roletable", columns, url, "", {
showfooter: true, loadsuccess: function (d) {
//替换汇总行的相关列值
var tr = $('.fixed-table-footer').find('tr');
for (var c in columns) {
var key = columns[c].field;
if (columns[c].iscount) {
for (var v in d.count_row) {
if (key == v) {
tr.find('td').eq(c).children('div').first().html(d.count_row[v]);
break;
}
}
}
}
companyid = d.companyid;
}
}, {
fixedcol: true,
fixedcolnum: 1
});
}
else {
tb.bootstrapTable('refresh', { url: url });
}
}
function listAccount() {
$.submit({
url: '@Url.Content("~/Reports/Orders/ListAccount")',
type:'POST',
paramData: 'platform=Ebay',
func: function (result) {
if (result != null && result != undefined) {
$('#account').html('<option value="">选择帐号</option>');
for (var i = 0; i < result.length; i++) {
$('#account').append('<option value="' + result[i] + '">' + result[i]+'</option>');
}
}
}
})
}
function listWebsite() {
$.submit({
url: '@Url.Content("~/Reports/Orders/ListWebSite")',
type:'POST',
paramData: 'platform=@(ViewBag.platform)',
func: function (result) {
if (result != null && result != undefined) {
$('#website').html('<option value="">选择站点</option>');
for (var i = 0; i < result.length; i++) {
$('#website').append('<option value="' + result[i] + '">' + result[i]+'</option>');
}
}
}
})
}
function exportxls() {
window.open('@Url.Content("~/Reports/Orders/ExportPaypal")' + '?' + $("#toolbar").serialize() + '&companyid=' + companyid, '_blank');
}
</script>
}
......@@ -296,6 +296,11 @@
<span>EBay退款流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListPaypal")" data-index="0" style="padding-left:74px;">
<span>EBay Paypal流水</span>
</a>
</li>
</ul>
</li>
<li>
......
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