Commit aca1c23c by guanzhenshan

1、增加sku发货重量差异报表,带导出功能

2、增加获取平台sku销量明细接口
parent ebaf3055
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models.Orders
{
/// <summary>
/// 平台sku订单明细
/// </summary>
public class dc_base_oms_platform_sku
{
/// <summary>
///
/// </summary>
public int id { get; set; }
/// <summary>
/// 平台订单号
/// </summary>
public string origin_order_id { get; set; }
/// <summary>
/// 平台类型
/// </summary>
public string platform_type { get; set; }
/// <summary>
/// 交易号
/// </summary>
public string transaction_id { get; set; }
/// <summary>
/// 支付时间-平台站点时间
/// </summary>
public DateTime? pay_time_site { get; set; }
/// <summary>
/// 支付时间-北京时间
/// </summary>
public DateTime? pay_time { get; set; }
/// <summary>
/// 支付方法
/// </summary>
public string pay_method { get; set; }
/// <summary>
/// 支付账号
/// </summary>
public string pay_account { get; set; }
/// <summary>
/// 支付状态
/// </summary>
public string pay_status { get; set; }
/// <summary>
/// 收款账号
/// </summary>
public string collection_account { get; set; }
/// <summary>
/// 平台订单类型
/// </summary>
public string platform_order_type { get; set; }
/// <summary>
/// 站点
/// </summary>
public string website { get; set; }
/// <summary>
/// 订单创建时间-北京时间
/// </summary>
public DateTime? create_time { get; set; }
/// <summary>
/// 订单创建时间-平台站点时间
/// </summary>
public DateTime? create_time_site { get; set; }
/// <summary>
/// 订单付款时间-平台站点时间
/// </summary>
public DateTime? paid_time_site { get; set; }
/// <summary>
/// 订单付款时间-北京时间
/// </summary>
public DateTime? paid_time { get; set; }
/// <summary>
/// 销售账号Id
/// </summary>
public string seller_id { get; set; }
/// <summary>
/// 账号id
/// </summary>
public int bailun_account_id { get; set; }
/// <summary>
/// 销售账号
/// </summary>
public string seller_account { get; set; }
/// <summary>
/// (亚马逊特有字段)
/// </summary>
public string seller_order_id { get; set; }
/// <summary>
/// 销售账号邮箱
/// </summary>
public string seller_email { get; set; }
/// <summary>
/// 订单更新时间-北京时间
/// </summary>
public DateTime? order_update_time { get; set; }
/// <summary>
/// 销售订单汇率-转人民币
/// </summary>
public decimal seller_order_exchange_rate { get; set; }
/// <summary>
/// 财务订单汇率-转人民币
/// </summary>
public decimal finance_order_exchange_rate { get; set; }
/// <summary>
/// 人民币转美元汇率
/// </summary>
public decimal cny_to_usd_exchange_rate { get; set; }
/// <summary>
/// Order币种转美元汇率
/// </summary>
public decimal order_to_usd_exchange_rate { get; set; }
/// <summary>
/// 订单币种
/// </summary>
public string order_currency { get; set; }
/// <summary>
/// 销售员
/// </summary>
public string seller_name { get; set; }
/// <summary>
/// 百伦订单号
/// </summary>
public string bailun_order_id { get; set; }
/// <summary>
/// 平台订单状态
/// </summary>
public string platform_order_status { get; set; }
/// <summary>
/// 百伦订单状态
/// </summary>
public string bailun_order_status { get; set; }
/// <summary>
/// 百伦付款状态
/// </summary>
public string bailun_payment_status { get; set; }
/// <summary>
/// 百伦拦截状态
/// </summary>
public string bailun_interception_status { get; set; }
/// <summary>
/// 百伦发货状态
/// </summary>
public string shipping_status { get; set; }
/// <summary>
/// 平台SKU
/// </summary>
public string platform_sku { get; set; }
/// <summary>
/// itemId
/// </summary>
public string item_id { get; set; }
/// <summary>
/// 平台SKU英文标题
/// </summary>
public string platform_sku_title_en { get; set; }
/// <summary>
/// 平台SKU中文标题
/// </summary>
public string platform_sku_title_cn { get; set; }
/// <summary>
/// 平台SKU订单数量
/// </summary>
public int platform_sku_quantity_ordered { get; set; }
/// <summary>
/// 平台SKU发货数量
/// </summary>
public int platform_sku_quantity_shipped { get; set; }
/// <summary>
/// 平台SKU单价
/// </summary>
public decimal platform_sku_unit_price { get; set; }
/// <summary>
/// 收货国家
/// </summary>
public string receipt_country { get; set; }
/// <summary>
/// 收货城市
/// </summary>
public string receipt_city { get; set; }
/// <summary>
/// 收货州或区域
/// </summary>
public string receipt_area { get; set; }
/// <summary>
/// 收货街道
/// </summary>
public string receipt_address { get; set; }
/// <summary>
/// 收货门牌
/// </summary>
public string receipt_address_2 { get; set; }
/// <summary>
/// 收货邮编
/// </summary>
public string receipt_postal_code { get; set; }
/// <summary>
/// 收货人
/// </summary>
public string receiver { get; set; }
/// <summary>
/// 收货电话
/// </summary>
public string receiver_phone { get; set; }
/// <summary>
/// 买家账号Id
/// </summary>
public string buyer_id { get; set; }
/// <summary>
/// 买家账号
/// </summary>
public string buyer_name { get; set; }
/// <summary>
/// 买家邮箱
/// </summary>
public string buyer_email { get; set; }
/// <summary>
/// 是否被平台取消-来自OMS
/// </summary>
public bool has_cancle { get; set; }
/// <summary>
/// 区域Id
/// </summary>
public int area_id { get; set; }
/// <summary>
/// 数据中心创建时间
/// </summary>
public DateTime gmt_create { get; set; }
/// <summary>
/// 数据中心更新时间
/// </summary>
public DateTime gmt_modified { get; set; }
/// <summary>
/// 是否删除-数据中心判断
/// </summary>
public bool has_delete { get; set; }
/// <summary>
/// 是否刷单订单
/// </summary>
public bool has_scalp { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
public class dc_mid_skudeliver_weighdiff
{
/// <summary>
/// 主键
/// </summary>
public int id { get; set; }
/// <summary>
/// 计算日期
/// </summary>
public DateTime day { get; set; }
/// <summary>
/// 配货单号
/// </summary>
public string pick_order_id { get; set; }
/// <summary>
/// sku编码
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// sku重量
/// </summary>
public decimal weight { get; set; }
/// <summary>
/// sku发货重量
/// </summary>
public decimal bailun_sku_outbound_weight { get; set; }
/// <summary>
/// 差异重量
/// </summary>
public decimal diffweigh { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime createtime { get; set; }
}
}
......@@ -6,12 +6,19 @@ using Microsoft.AspNetCore.Mvc;
using Bailun.DC.Models;
using Bailun.DC.Services;
using Newtonsoft.Json;
using Microsoft.AspNetCore.Hosting;
namespace Bailun.DC.Web.Areas.Reports.Controllers
{
[Area("Reports")]
public class SkuController : Controller
public class SkuController : Base.BaseController
{
private readonly IHostingEnvironment _hostingEnvironment;
public SkuController(IHostingEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
}
public IActionResult Index()
{
return View();
......@@ -72,5 +79,65 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
return JsonConvert.SerializeObject(new { total = total, rows = list, count_row=countM });
}
public ActionResult ListSkuDiffWeigh()
{
return View();
}
/// <summary>
/// sku发货重量差异表
/// </summary>
/// <param name="parameter">分页信息</param>
/// <param name="sku">sku编码</param>
/// <param name="shipstart">发货开始时间</param>
/// <param name="shipend">发货结束时间</param>
/// <param name="min">差异开始值</param>
/// <param name="max">差异结束值</param>
/// <returns></returns>
public string ListSkuDiffWeighJson(BtTableParameter parameter, string sku, DateTime? shipstart, DateTime? shipend, int? min, int? max)
{
var total = 0;
var obj = new Services.OrdersServices().ListWeighDiff(parameter, shipstart, shipend, min, max, sku, ref total).Select(a=>new {
a.bailun_sku,
a.bailun_sku_outbound_weight,
day = a.day.ToString("yyyy-MM-dd"),
a.diffweigh,
a.pick_order_id,
a.weight
});
return JsonConvert.SerializeObject(new { total = total, rows = obj });
}
/// <summary>
/// 导出Sku发货重量差异明细
/// </summary>
/// <param name="sku"></param>
/// <param name="shipstart"></param>
/// <param name="shipend"></param>
/// <param name="min"></param>
/// <param name="max"></param>
/// <returns></returns>
public ActionResult ExportSkuDiffWeigh(string sku, DateTime? shipstart, DateTime? shipend, int? min, int? max)
{
var obj = new Services.OrdersServices().ListWeighDiff(shipstart, shipend, min, max, sku);
var colNames = new List<string> {"日期","配货单号","sku","sku重量", "发货重量", "重量差异值"};
var list = new List<string>();
foreach (var item in obj)
{
list.Add(item.day.ToString("yyyy-MM-dd") + "|" + item.pick_order_id + "|" + item.bailun_sku + "|" + item.weight + "|" + item.bailun_sku_outbound_weight + "|" +
item.diffweigh
);
}
var filename = "sku发货重量差异 " + DateTime.Now.ToString("yyyyMMddHHmmss");
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(list, colNames, filename, filepath);
return File("~/Files/Report/" + DateTime.Now.ToString("yyyy-MM-dd") + "/" + filename + ".csv", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filename + ".csv");
}
}
}
\ No newline at end of file

@{
ViewData["Title"] = "ListSkuDiffWeigh";
Layout = "~/Pages/Shared/_MainLayout.cshtml";
ViewBag.Nav = new string[] { "Sku", "Sku发货重量差异" };
}
<div class="row">
<div class="col-sm-12">
<div class="ibox-content m-b-sm border-bottom">
<form id="toolbar">
<div class="form-inline" style="line-height:40px;">
<div class="form-group">
<label>发货时间</label>
<input id="shipstart" name="shipstart" type="text" class="form-control" style="width:130px;" placeholder="发货开始时间" value="@(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"))" />
<span>至</span>
<input id="shipend" name="shipend" type="text" class="form-control" style="width:130px;" placeholder="发货结束时间" value="@(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"))" />
</div>
<div class="form-group">
<label>差异范围</label>
<input id="min" name="min" type="number" class="form-control" style="width:140px" placeholder="差异范围开始值" />
<span>至</span>
<input id="max" name="max" type="number" class="form-control" style="width:140px" placeholder="差异范围结束值" />
</div>
<div class="form-group">
<label>sku</label>
<input type="text" id="sku" name="sku" class="form-control" style="width:130px" placeholder="sku编码" />
</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>
@section scripts{
<script type="text/javascript">
var tb;
$(document).ready(function () {
laydate.render({ elem: '#shipstart' });
laydate.render({ elem: '#shipend' });
list();
})
function list() {
var columns = [
{
field: 'day', title: '日期', width: '160'
},
{
field: 'pick_order_id', title: '配货单号', width: '160'
},
{
field: 'bailun_sku', title: 'sku编码', width: '160'
},
{ field: 'weight', title: 'sku重量g', width: '130', sortable: true },
{ field: 'bailun_sku_outbound_weight', title: '发货重量g', width: '130', sortable: true, iscount: true },
{ field: 'diffweigh', title: '差异值g', width: '130', sortable: true }
];
var url = '@Url.Content("~/Reports/Sku/ListSkuDiffWeighJson")' + '?' + $("#toolbar").serialize();
if (tb == undefined) {
tb = OnlyTable("roletable", columns, url, "");
}
else {
tb.bootstrapTable('refresh', { url: url });
}
}
function exportxls() {
window.open("@Url.Content("~/Reports/Sku/ExportSkuDiffWeigh")" + '?' + $("#toolbar").serialize(), '_blank');
}
</script>
}
......@@ -106,5 +106,41 @@ namespace Bailun.DC.Web.Controllers
}
/// <summary>
/// 平台sku销量明细
/// </summary>
/// <param name="page">当前页</param>
/// <param name="pagesize">每页记录数</param>
/// <param name="start">开始时间</param>
/// <param name="end">结束时间</param>
/// <returns></returns>
[HttpPost]
public JsonResult ListPlatformSkuSales(int page, int pagesize, DateTime? start, DateTime? end)
{
var total = 0;
var obj = new Services.OrdersServices().ListOrderPlatformSku(page, pagesize, start, end, ref total);
var list = obj.Select(a => new {
a.origin_order_id, //平台订单号
a.platform_type, //平台类型
a.website, //站点
a.order_currency, //订单币种
a.seller_order_exchange_rate, //转换成人民币汇率
a.platform_sku_quantity_ordered, //销售数量
a.platform_sku_unit_price, //单价
a.item_id, //itemid
a.platform_sku //平台sku
});
return Json(new
{
success = true,
data = list,
pageindex = page,
total = total,
pagecount = (total/pagesize)+(total%pagesize>0?1:0)
});
}
}
}
\ No newline at end of file
......@@ -268,6 +268,9 @@
<li>
<a class="J_menuItem" href="@Url.Content("~/Logistics/Home/EbayUkReport")" data-index="0">EbayUK平邮比例</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Sku/ListSkuDiffWeigh")" data-index="0">Sku发货重量差异</a>
</li>
</ul>
</li>
</ul>
......
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