Commit f83394c8 by guanzhenshan

ebay广告费增加导出功能

parent 24776c91
...@@ -28,7 +28,7 @@ namespace Bailun.DC.DailySemiPurchaseSellStock ...@@ -28,7 +28,7 @@ namespace Bailun.DC.DailySemiPurchaseSellStock
{ {
var now = DateTime.Now; var now = DateTime.Now;
if (now.Hour == 10 && now.Minute == 08) //每天 10:08分启动 if (now.Hour == 8 && now.Minute == 18) //每天 08:18分启动
{ {
Console.WriteLine("开始启动 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); Console.WriteLine("开始启动 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
var start = DateTime.Parse(now.AddDays(-1).ToShortDateString()); var start = DateTime.Parse(now.AddDays(-1).ToShortDateString());
......
...@@ -2987,7 +2987,7 @@ namespace Bailun.DC.Services ...@@ -2987,7 +2987,7 @@ namespace Bailun.DC.Services
/// <param name="total"></param> /// <param name="total"></param>
/// <param name="feetype">费用类型</param> /// <param name="feetype">费用类型</param>
/// <returns></returns> /// <returns></returns>
public List<dc_base_finance_ebay> ListEbayFee(BtTableParameter parameter, int? companyid, DateTime? start, DateTime? end, ref int total, string[] feetype, string orderno, string account) public List<dc_base_finance_ebay> ListEbayFee(BtTableParameter parameter, int? companyid, DateTime? start, DateTime? end, ref int total, string[] feetype, string orderno, string account,string itemid)
{ {
var sqlparam = new DynamicParameters(); var sqlparam = new DynamicParameters();
var sql = "select t1.id,t1.account_entry_type,t1.description,t1.bj_date as gmt_date,t1.gross_amount,t1.item_id,t1.net_amount,t1.vat_percent,t1.order_line_id,t1.currency,t1.exchange_rate,(t1.exchange_rate*t1.gross_amount) gross_amount_rmb,t2.account_name from dc_base_finance_ebay t1 "; var sql = "select t1.id,t1.account_entry_type,t1.description,t1.bj_date as gmt_date,t1.gross_amount,t1.item_id,t1.net_amount,t1.vat_percent,t1.order_line_id,t1.currency,t1.exchange_rate,(t1.exchange_rate*t1.gross_amount) gross_amount_rmb,t2.account_name from dc_base_finance_ebay t1 ";
...@@ -3028,6 +3028,12 @@ namespace Bailun.DC.Services ...@@ -3028,6 +3028,12 @@ namespace Bailun.DC.Services
sqlparam.Add("account_name", account); sqlparam.Add("account_name", account);
} }
if (!string.IsNullOrWhiteSpace(itemid))
{
sql += " and t1.item_id=@item_id";
sqlparam.Add("item_id", itemid);
}
if (!string.IsNullOrWhiteSpace(parameter.sort)) if (!string.IsNullOrWhiteSpace(parameter.sort))
{ {
sql += " order by t1." + parameter.sort + " " + parameter.order; sql += " order by t1." + parameter.sort + " " + parameter.order;
...@@ -3046,9 +3052,18 @@ namespace Bailun.DC.Services ...@@ -3046,9 +3052,18 @@ namespace Bailun.DC.Services
try try
{ {
var obj = cn.Page<dc_base_finance_ebay>(parameter.pageIndex, parameter.limit, sql, ref total, sqlparam); if (parameter.pageIndex > 0 && parameter.limit > 0)
{
var obj = cn.Page<dc_base_finance_ebay>(parameter.pageIndex, parameter.limit, sql, ref total, sqlparam);
return obj.ToList(); return obj.ToList();
}
else
{
var obj = cn.Query<dc_base_finance_ebay>(sql, sqlparam, null, true, 2 * 60).ToList();
return obj;
}
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -3068,7 +3083,7 @@ namespace Bailun.DC.Services ...@@ -3068,7 +3083,7 @@ namespace Bailun.DC.Services
/// <param name="total"></param> /// <param name="total"></param>
/// <param name="feetype"></param> /// <param name="feetype"></param>
/// <returns></returns> /// <returns></returns>
public dc_base_finance_ebay EbayFeeCount(int? companyid, DateTime? start, DateTime? end, string[] feetype, string orderno, string account,bool isUSD) public dc_base_finance_ebay EbayFeeCount(int? companyid, DateTime? start, DateTime? end, string[] feetype, string orderno, string account,bool isUSD,string itemid)
{ {
var sqlparam = new DynamicParameters(); var sqlparam = new DynamicParameters();
var sql = $"select sum(t1.gross_amount) gross_amount,sum(t1.net_amount) net_amount,sum(t1.{(isUSD? "exchange_rate_usd" : "exchange_rate")}*t1.gross_amount) gross_amount_rmb from dc_base_finance_ebay t1 "; var sql = $"select sum(t1.gross_amount) gross_amount,sum(t1.net_amount) net_amount,sum(t1.{(isUSD? "exchange_rate_usd" : "exchange_rate")}*t1.gross_amount) gross_amount_rmb from dc_base_finance_ebay t1 ";
...@@ -3106,6 +3121,12 @@ namespace Bailun.DC.Services ...@@ -3106,6 +3121,12 @@ namespace Bailun.DC.Services
sqlparam.Add("orderno", orderno); sqlparam.Add("orderno", orderno);
} }
if (!string.IsNullOrWhiteSpace(itemid))
{
sql += " and t1.item_id=@item_id";
sqlparam.Add("item_id", itemid);
}
if (feetype != null && feetype.Length > 0) if (feetype != null && feetype.Length > 0)
{ {
sql += " and t1.account_entry_type in ('" + string.Join("','", feetype) + "')"; sql += " and t1.account_entry_type in ('" + string.Join("','", feetype) + "')";
......
...@@ -1158,9 +1158,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1158,9 +1158,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}; };
var obj = _service.ListEbayFee(parameter, companyid, start, end, ref total, feeType,orderno,account); var obj = _service.ListEbayFee(parameter, companyid, start, end, ref total, feeType,orderno,account,"");
var countObj = _service.EbayFeeCount(companyid, start, end, feeType, orderno,account,false); var countObj = _service.EbayFeeCount(companyid, start, end, feeType, orderno,account,false,"");
var list = obj.Select(a => new { var list = obj.Select(a => new {
a.id, a.id,
...@@ -1212,7 +1212,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1212,7 +1212,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
/// <param name="skucategoryid"></param> /// <param name="skucategoryid"></param>
/// <returns></returns> /// <returns></returns>
[BailunAuthentication(LoginMode.Enforce)] [BailunAuthentication(LoginMode.Enforce)]
public string EbayADFeeJson(BtTableParameter parameter, DateTime? start, DateTime? end, string orderno, string sku, string skucategoryid, string account) public string EbayADFeeJson(BtTableParameter parameter, DateTime? start, DateTime? end, string orderno, string sku, string skucategoryid, string account,string itemid)
{ {
var _service = new Services.OrdersServices(); var _service = new Services.OrdersServices();
var companyid = HttpContextHelper.Current?.User?.GetCompanyId().ToInt32(); var companyid = HttpContextHelper.Current?.User?.GetCompanyId().ToInt32();
...@@ -1222,9 +1222,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1222,9 +1222,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
"FeeAd" "FeeAd"
}; };
var obj = _service.ListEbayFee(parameter, companyid, start, end, ref total, feeType, orderno, account); var obj = _service.ListEbayFee(parameter, companyid, start, end, ref total, feeType, orderno, account,itemid);
var countObj = _service.EbayFeeCount(companyid, start, end, feeType, orderno, account,false); var countObj = _service.EbayFeeCount(companyid, start, end, feeType, orderno, account,false,itemid);
var list = obj.Select(a => new { var list = obj.Select(a => new {
a.id, a.id,
...@@ -1251,12 +1251,62 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1251,12 +1251,62 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
order_line_id = "总计", order_line_id = "总计",
gross_amount = countObj.gross_amount.ToString("N2"), gross_amount = countObj.gross_amount.ToString("N2"),
gross_amount_rmb = countObj.gross_amount_rmb.ToString("N2") gross_amount_rmb = countObj.gross_amount_rmb.ToString("N2")
} },
companyid=companyid
}); });
} }
/// <summary> /// <summary>
/// 导出Ebay广告费
/// </summary>
/// <param name="start">开始时间</param>
/// <param name="end">结束时间</param>
/// <param name="orderno">订单号</param>
/// <param name="sku">sku编码</param>
/// <param name="skucategoryid">sku分类id</param>
/// <param name="account">帐号</param>
/// <param name="itemid">itemid</param>
/// <returns></returns>
public ActionResult ExportEbayAdFee(DateTime? start, DateTime? end, string orderno, string sku, string skucategoryid, string account, string itemid,int companyid)
{
var _service = new Services.OrdersServices();
var total = 0;
var feeType = new string[] {
"FeeAd"
};
var obj = _service.ListEbayFee(new BtTableParameter { offset=0,limit=0}, companyid, start, end, ref total, feeType, orderno, account,itemid);
var colNames = new List<string> {"销售帐号","费用类型","费用名称","总费用","币种","汇率","RMB金额","item_id","记录时间"};
var listVal = new List<string>();
foreach (var item in obj)
{
listVal.Add(
item.account_name + "|" + item.account_entry_type + "|" + item.description + "|" + item.gross_amount + "|" + item.currency + "|" +
item.exchange_rate + "|" + item.gross_amount_rmb + "|" + item.item_id + "|" + item.gmt_date.Value.ToString("yyyy-MM-dd HH:mm:ss")
);
}
var guid = Guid.NewGuid().ToString();
var filename = " Ebay广告费" + 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");
}
/// <summary>
/// Ebay汇损费 /// Ebay汇损费
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
...@@ -1386,8 +1436,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1386,8 +1436,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
listRefund = _service.ListPlatformRefund(dtstart, dtend, companyid, platform, website, currency.ToUpper() == "USD",true); //包含未发货的退款金额 listRefund = _service.ListPlatformRefund(dtstart, dtend, companyid, platform, website, currency.ToUpper() == "USD",true); //包含未发货的退款金额
} }
ebayADFee = _service.EbayFeeCount(companyid, dtstart, dtend, ADfeeType, "", "", currency.ToUpper() == "USD"); ebayADFee = _service.EbayFeeCount(companyid, dtstart, dtend, ADfeeType, "", "", currency.ToUpper() == "USD","");
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");
var wishAD = _service.ListWishADCount(companyid, null, dtstart, dtend, currency.ToUpper() == "USD"); var wishAD = _service.ListWishADCount(companyid, null, dtstart, dtend, currency.ToUpper() == "USD");
......
...@@ -35,7 +35,12 @@ ...@@ -35,7 +35,12 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label>&nbsp;</label> <label>&nbsp;</label>
<input id="itemid" name="itemid" class="form-control" style="width:130px;" placeholder="item_id" />
</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-primary" onclick="list();"><i class="fa fa-search"></i>&nbsp;查询</button>
<button type="button" class="btn btn-success" onclick="exportxls();">查询</button>
</div> </div>
</div> </div>
</form> </form>
...@@ -65,6 +70,7 @@ ...@@ -65,6 +70,7 @@
<script src="~/js/bootstrap-table-fixed-columns.js" type="text/javascript"></script> <script src="~/js/bootstrap-table-fixed-columns.js" type="text/javascript"></script>
<script type="text/javascript"> <script type="text/javascript">
var tb; var tb;
var companyid = 0;
$(document).ready(function () { $(document).ready(function () {
laydate.render({ elem: '#start' }); laydate.render({ elem: '#start' });
laydate.render({ elem: '#end' }); laydate.render({ elem: '#end' });
...@@ -124,7 +130,9 @@ ...@@ -124,7 +130,9 @@
} }
} }
} }
} };
companyid = d.companyid;
} }
}, { }, {
fixedcol: true, fixedcol: true,
...@@ -210,6 +218,10 @@ ...@@ -210,6 +218,10 @@
return s; return s;
} }
function exportxls() {
window.open('@Url.Content("~/Reports/Orders/ExportEbayAdFee?")' + $("#toolbar").serialize() + '&companyid=' + companyid, '_blank');
}
</script> </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