Commit 4e50c7d3 by guanzhenshan

1、逻辑仓库趋势图增加可按日期筛选的功能,数据保存格式要调整

2、动态库存分析增加点击数据显示明细功能
3、现金流增加点击进入aims现金流明细
parent d03d4726
......@@ -149,6 +149,6 @@ namespace Bailun.DC.Models.Stock
/// <summary>
/// 可销售天数
/// </summary>
public int available_days { get; set; }
public int? available_days { get; set; }
}
}
......@@ -214,16 +214,14 @@ namespace Bailun.DC.Services
/// <param name="stockamountmax">库存金额 max值</param>
/// <param name="total">符合条件的总记录数</param>
/// <returns></returns>
public List<Models.Stock.mSkuWarehouse> ListWareHouseSku(BtTableParameter parameter, string warehousecode, int? categoryid, int? minordercount, int? maxordercount, int? stockmin, int? stockmax, decimal? stockamountmin, decimal? stockamountmax, string skucategoryids,int? push_status, ref int total)
public List<Models.Stock.mSkuWarehouse> ListWareHouseSku(BtTableParameter parameter, string warehousecode, int? categoryid, int? minordercount, int? maxordercount, int? stockmin, int? stockmax, decimal? stockamountmin, decimal? stockamountmax, string skucategoryids,int? push_status,int? available_days_start,int? available_days_end, ref int total)
{
var sqlparam = new DynamicParameters();
//available_days
var sql = @"select t1.*,t2.category_name,t2.sku_image,t2.sku_title_cn,t2.sku_title_en,(case when t3.available_days is null then t4.available_days else t3.available_days end) available_days ";
var sql = @"select t1.*,t2.category_name,t2.sku_image,t2.sku_title_cn,t2.sku_title_en ";
var sqlwhere = @" from dc_skuwarehouse_stock_sales t1
left join dc_base_sku t2 on t1.bailun_sku = t2.bailun_sku
left join dc_base_stock t3 on t1.bailun_sku=t3.bailun_sku and t1.warehouse_code=t3.warehouse_code
left join dc_semi_stock_sales_shipping t4 on t1.bailun_sku=t4.sku and t1.warehouse_code=t4.warehouse_id
";
if (!string.IsNullOrWhiteSpace(skucategoryids))
......@@ -301,6 +299,16 @@ namespace Bailun.DC.Services
sqlwhere += " and t2.push_status="+push_status.Value;
}
if(available_days_start.HasValue)
{
sqlwhere += " and t1.available_days>="+ available_days_start.Value;
}
if (available_days_end.HasValue)
{
sqlwhere += " and t1.available_days<"+available_days_end.Value;
}
var sqlsort = "";
......@@ -1137,74 +1145,105 @@ namespace Bailun.DC.Services
public List<mDynamicStockAnalyse> ListDynamicStockAnalyse(string warehouse_code, int isfinish)
{
var sql = "";
if (isfinish == 1) //成品
{
sql = $@"select t1.warehouse_code,
var sql = $@"select t1.warehouse_code,
sum(case when t1.available_days<15 then 1 else 0 end) as less15days_skucount,
sum(case when t1.available_days<15 then t1.usable_stock+t1.occupy_stock else 0 end) as less15days,
sum(case when t1.available_days<15 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as less15days_amount,
sum(case when t1.available_days<15 then t1.usable_stock else 0 end) as less15days,
sum(case when t1.available_days<15 then t1.amount_stock else 0 end) as less15days_amount,
sum(case when t1.available_days>=15 and t1.available_days<30 then 1 else 0 end) as fifteen_30_days_skucount,
sum(case when t1.available_days>=15 and t1.available_days<30 then t1.usable_stock+t1.occupy_stock else 0 end) as fifteen_30_days,
sum(case when t1.available_days>=15 and t1.available_days<30 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as fifteen_30_days_amount,
sum(case when t1.available_days>=15 and t1.available_days<30 then t1.usable_stock else 0 end) as fifteen_30_days,
sum(case when t1.available_days>=15 and t1.available_days<30 then t1.amount_stock else 0 end) as fifteen_30_days_amount,
sum(case when t1.available_days>=30 and t1.available_days<45 then 1 else 0 end) as thirty_45_days_skucount,
sum(case when t1.available_days>=30 and t1.available_days<45 then t1.usable_stock+t1.occupy_stock else 0 end) as thirty_45_days,
sum(case when t1.available_days>=30 and t1.available_days<45 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as thirty_45_days_amount,
sum(case when t1.available_days>=30 and t1.available_days<45 then t1.usable_stock else 0 end) as thirty_45_days,
sum(case when t1.available_days>=30 and t1.available_days<45 then t1.amount_stock else 0 end) as thirty_45_days_amount,
sum(case when t1.available_days>=45 and t1.available_days<60 then 1 else 0 end) as fortyfive_60_days_skucount,
sum(case when t1.available_days>=45 and t1.available_days<60 then t1.usable_stock+t1.occupy_stock else 0 end) as fortyfive_60_days,
sum(case when t1.available_days>=45 and t1.available_days<60 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as fortyfive_60_days_amount,
sum(case when t1.available_days>=45 and t1.available_days<60 then t1.usable_stock else 0 end) as fortyfive_60_days,
sum(case when t1.available_days>=45 and t1.available_days<60 then t1.amount_stock else 0 end) as fortyfive_60_days_amount,
sum(case when t1.available_days>=60 and t1.available_days<90 then 1 else 0 end) as sixty_90_days_skucount,
sum(case when t1.available_days>=60 and t1.available_days<90 then t1.usable_stock+t1.occupy_stock else 0 end) as sixty_90_days,
sum(case when t1.available_days>=60 and t1.available_days<90 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as sixty_90_days_amount,
sum(case when t1.available_days>=60 and t1.available_days<90 then t1.usable_stock else 0 end) as sixty_90_days,
sum(case when t1.available_days>=60 and t1.available_days<90 then t1.amount_stock else 0 end) as sixty_90_days_amount,
sum(case when t1.available_days>=90 and t1.available_days<120 then 1 else 0 end) as ninty_120_days_skucount,
sum(case when t1.available_days>=90 and t1.available_days<120 then t1.usable_stock+t1.occupy_stock else 0 end) as ninty_120_days,
sum(case when t1.available_days>=90 and t1.available_days<120 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as ninty_120_days_amount,
sum(case when t1.available_days>=90 and t1.available_days<120 then t1.usable_stock else 0 end) as ninty_120_days,
sum(case when t1.available_days>=90 and t1.available_days<120 then t1.amount_stock else 0 end) as ninty_120_days_amount,
sum(case when t1.available_days>=120 and t1.available_days<180 then 1 else 0 end) as onetwozero_180_days_skucount,
sum(case when t1.available_days>=120 and t1.available_days<180 then t1.usable_stock+t1.occupy_stock else 0 end) as onetwozero_180_days,
sum(case when t1.available_days>=120 and t1.available_days<180 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as onetwozero_180_days_amount,
sum(case when t1.available_days>=120 and t1.available_days<180 then t1.usable_stock else 0 end) as onetwozero_180_days,
sum(case when t1.available_days>=120 and t1.available_days<180 then t1.amount_stock else 0 end) as onetwozero_180_days_amount,
sum(case when t1.available_days>=180 then 1 else 0 end) as morethen_180_days_skucount,
sum(case when t1.available_days>=180 then t1.usable_stock+t1.occupy_stock else 0 end) as morethen_180_days,
sum(case when t1.available_days>=180 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as morethen_180_days_amount
from dc_base_stock t1 left join dc_base_sku t2 on t1.bailun_sku=t2.bailun_sku
sum(case when t1.available_days>=180 then t1.usable_stock else 0 end) as morethen_180_days,
sum(case when t1.available_days>=180 then t1.amount_stock else 0 end) as morethen_180_days_amount
from dc_skuwarehouse_stock_sales t1
where t1.available_days>0 and t1.warehouse_code='{warehouse_code}'
group by t1.warehouse_code";
}
else if(isfinish==0) //半成品
{
sql = $@"select t1.warehouse_id as warehouse_code,
sum(case when t1.available_days<15 then 1 else 0 end) as less15days_skucount,
sum(case when t1.available_days<15 then t1.stock else 0 end) as less15days,
sum(case when t1.available_days<15 then (t1.stock)*t1.buyer_price else 0 end) as less15days_amount,
sum(case when t1.available_days>=15 and t1.available_days<30 then 1 else 0 end) as fifteen_30_days_skucount,
sum(case when t1.available_days>=15 and t1.available_days<30 then t1.stock else 0 end) as fifteen_30_days,
sum(case when t1.available_days>=15 and t1.available_days<30 then (t1.stock)*t1.buyer_price else 0 end) as fifteen_30_days_amount,
sum(case when t1.available_days>=30 and t1.available_days<45 then 1 else 0 end) as thirty_45_days_skucount,
sum(case when t1.available_days>=30 and t1.available_days<45 then t1.stock else 0 end) as thirty_45_days,
sum(case when t1.available_days>=30 and t1.available_days<45 then (t1.stock)*t1.buyer_price else 0 end) as thirty_45_days_amount,
sum(case when t1.available_days>=45 and t1.available_days<60 then 1 else 0 end) as fortyfive_60_days_skucount,
sum(case when t1.available_days>=45 and t1.available_days<60 then t1.stock else 0 end) as fortyfive_60_days,
sum(case when t1.available_days>=45 and t1.available_days<60 then (t1.stock)*t1.buyer_price else 0 end) as fortyfive_60_days_amount,
sum(case when t1.available_days>=60 and t1.available_days<90 then 1 else 0 end) as sixty_90_days_skucount,
sum(case when t1.available_days>=60 and t1.available_days<90 then t1.stock else 0 end) as sixty_90_days,
sum(case when t1.available_days>=60 and t1.available_days<90 then (t1.stock)*t1.buyer_price else 0 end) as sixty_90_days_amount,
sum(case when t1.available_days>=90 and t1.available_days<120 then 1 else 0 end) as ninty_120_days_skucount,
sum(case when t1.available_days>=90 and t1.available_days<120 then t1.stock else 0 end) as ninty_120_days,
sum(case when t1.available_days>=90 and t1.available_days<120 then (t1.stock)*t1.buyer_price else 0 end) as ninty_120_days_amount,
sum(case when t1.available_days>=120 and t1.available_days<180 then 1 else 0 end) as onetwozero_180_days_skucount,
sum(case when t1.available_days>=120 and t1.available_days<180 then t1.stock else 0 end) as onetwozero_180_days,
sum(case when t1.available_days>=120 and t1.available_days<180 then (t1.stock)*t1.buyer_price else 0 end) as onetwozero_180_days_amount,
sum(case when t1.available_days>=180 then 1 else 0 end) as morethen_180_days_skucount,
sum(case when t1.available_days>=180 then t1.stock else 0 end) as morethen_180_days,
sum(case when t1.available_days>=180 then (t1.stock)*t1.buyer_price else 0 end) as morethen_180_days_amount
from dc_semi_stock_sales_shipping t1
where t1.available_days>0 and t1.warehouse_id={warehouse_code}
group by t1.warehouse_id";
#region 注释
//if (isfinish == 1) //成品
//{
// sql = $@"select t1.warehouse_code,
// sum(case when t1.available_days<15 then 1 else 0 end) as less15days_skucount,
// sum(case when t1.available_days<15 then t1.usable_stock+t1.occupy_stock else 0 end) as less15days,
// sum(case when t1.available_days<15 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as less15days_amount,
// sum(case when t1.available_days>=15 and t1.available_days<30 then 1 else 0 end) as fifteen_30_days_skucount,
// sum(case when t1.available_days>=15 and t1.available_days<30 then t1.usable_stock+t1.occupy_stock else 0 end) as fifteen_30_days,
// sum(case when t1.available_days>=15 and t1.available_days<30 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as fifteen_30_days_amount,
// sum(case when t1.available_days>=30 and t1.available_days<45 then 1 else 0 end) as thirty_45_days_skucount,
// sum(case when t1.available_days>=30 and t1.available_days<45 then t1.usable_stock+t1.occupy_stock else 0 end) as thirty_45_days,
// sum(case when t1.available_days>=30 and t1.available_days<45 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as thirty_45_days_amount,
// sum(case when t1.available_days>=45 and t1.available_days<60 then 1 else 0 end) as fortyfive_60_days_skucount,
// sum(case when t1.available_days>=45 and t1.available_days<60 then t1.usable_stock+t1.occupy_stock else 0 end) as fortyfive_60_days,
// sum(case when t1.available_days>=45 and t1.available_days<60 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as fortyfive_60_days_amount,
// sum(case when t1.available_days>=60 and t1.available_days<90 then 1 else 0 end) as sixty_90_days_skucount,
// sum(case when t1.available_days>=60 and t1.available_days<90 then t1.usable_stock+t1.occupy_stock else 0 end) as sixty_90_days,
// sum(case when t1.available_days>=60 and t1.available_days<90 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as sixty_90_days_amount,
// sum(case when t1.available_days>=90 and t1.available_days<120 then 1 else 0 end) as ninty_120_days_skucount,
// sum(case when t1.available_days>=90 and t1.available_days<120 then t1.usable_stock+t1.occupy_stock else 0 end) as ninty_120_days,
// sum(case when t1.available_days>=90 and t1.available_days<120 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as ninty_120_days_amount,
// sum(case when t1.available_days>=120 and t1.available_days<180 then 1 else 0 end) as onetwozero_180_days_skucount,
// sum(case when t1.available_days>=120 and t1.available_days<180 then t1.usable_stock+t1.occupy_stock else 0 end) as onetwozero_180_days,
// sum(case when t1.available_days>=120 and t1.available_days<180 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as onetwozero_180_days_amount,
// sum(case when t1.available_days>=180 then 1 else 0 end) as morethen_180_days_skucount,
// sum(case when t1.available_days>=180 then t1.usable_stock+t1.occupy_stock else 0 end) as morethen_180_days,
// sum(case when t1.available_days>=180 then (t1.usable_stock+t1.occupy_stock)*t2.unit_price else 0 end) as morethen_180_days_amount
// from dc_base_stock t1
// left join dc_base_sku t2 on t1.bailun_sku=t2.bailun_sku
// where t1.available_days>0 and t1.warehouse_code='{warehouse_code}'
// group by t1.warehouse_code";
//}
//else if(isfinish==0) //半成品
//{
// sql = $@"select t1.warehouse_id as warehouse_code,
// sum(case when t1.available_days<15 then 1 else 0 end) as less15days_skucount,
// sum(case when t1.available_days<15 then t1.stock else 0 end) as less15days,
// sum(case when t1.available_days<15 then (t1.stock)*t1.buyer_price else 0 end) as less15days_amount,
// sum(case when t1.available_days>=15 and t1.available_days<30 then 1 else 0 end) as fifteen_30_days_skucount,
// sum(case when t1.available_days>=15 and t1.available_days<30 then t1.stock else 0 end) as fifteen_30_days,
// sum(case when t1.available_days>=15 and t1.available_days<30 then (t1.stock)*t1.buyer_price else 0 end) as fifteen_30_days_amount,
// sum(case when t1.available_days>=30 and t1.available_days<45 then 1 else 0 end) as thirty_45_days_skucount,
// sum(case when t1.available_days>=30 and t1.available_days<45 then t1.stock else 0 end) as thirty_45_days,
// sum(case when t1.available_days>=30 and t1.available_days<45 then (t1.stock)*t1.buyer_price else 0 end) as thirty_45_days_amount,
// sum(case when t1.available_days>=45 and t1.available_days<60 then 1 else 0 end) as fortyfive_60_days_skucount,
// sum(case when t1.available_days>=45 and t1.available_days<60 then t1.stock else 0 end) as fortyfive_60_days,
// sum(case when t1.available_days>=45 and t1.available_days<60 then (t1.stock)*t1.buyer_price else 0 end) as fortyfive_60_days_amount,
// sum(case when t1.available_days>=60 and t1.available_days<90 then 1 else 0 end) as sixty_90_days_skucount,
// sum(case when t1.available_days>=60 and t1.available_days<90 then t1.stock else 0 end) as sixty_90_days,
// sum(case when t1.available_days>=60 and t1.available_days<90 then (t1.stock)*t1.buyer_price else 0 end) as sixty_90_days_amount,
// sum(case when t1.available_days>=90 and t1.available_days<120 then 1 else 0 end) as ninty_120_days_skucount,
// sum(case when t1.available_days>=90 and t1.available_days<120 then t1.stock else 0 end) as ninty_120_days,
// sum(case when t1.available_days>=90 and t1.available_days<120 then (t1.stock)*t1.buyer_price else 0 end) as ninty_120_days_amount,
// sum(case when t1.available_days>=120 and t1.available_days<180 then 1 else 0 end) as onetwozero_180_days_skucount,
// sum(case when t1.available_days>=120 and t1.available_days<180 then t1.stock else 0 end) as onetwozero_180_days,
// sum(case when t1.available_days>=120 and t1.available_days<180 then (t1.stock)*t1.buyer_price else 0 end) as onetwozero_180_days_amount,
// sum(case when t1.available_days>=180 then 1 else 0 end) as morethen_180_days_skucount,
// sum(case when t1.available_days>=180 then t1.stock else 0 end) as morethen_180_days,
// sum(case when t1.available_days>=180 then (t1.stock)*t1.buyer_price else 0 end) as morethen_180_days_amount
// from dc_semi_stock_sales_shipping t1
// where t1.available_days>0 and t1.warehouse_id={warehouse_code}
// group by t1.warehouse_id";
}
//}
#endregion
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
......
......@@ -190,9 +190,10 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
/// </summary>
/// <param name="code">仓库编码</param>
/// <returns></returns>
public ActionResult ListWareHouseSku(string code)
public ActionResult ListWareHouseSku(string code,string available_days)
{
ViewBag.warehousecode = code;
ViewBag.available_days = available_days;
ViewBag.listWarehouse = new Services.WareHouseServices().List("", null).OrderBy(a => a.warehouse_name).ToList();
......@@ -212,10 +213,33 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
/// <param name="stockamountmin">库存金额 最小值</param>
/// <param name="stockamountmax">库存金额 最大值</param>
/// <returns></returns>
public string ListWareHouseSkuJson(BtTableParameter parameter, string warehousecode, int? push_status, int? minordercount, int? maxordercount, int? stockmin, int? stockmax, decimal? stockamountmin, decimal? stockamountmax,string skucategoryids)
public string ListWareHouseSkuJson(BtTableParameter parameter, string warehousecode, int? push_status, int? minordercount, int? maxordercount, int? stockmin, int? stockmax, decimal? stockamountmin, decimal? stockamountmax,string skucategoryids,string available_days)
{
var total = 0;
var obj = new Services.WareHouseServices().ListWareHouseSku(parameter, warehousecode, null, minordercount, maxordercount, stockmin, stockmax, stockamountmin, stockamountmax, skucategoryids, push_status, ref total);
int? available_days_start=null;
int? available_days_end=null;
if (!string.IsNullOrEmpty(available_days))
{
var arr = available_days.Split('-');
if(arr.Length>1)
{
var tempnum = 0;
int.TryParse(arr[0], out tempnum);
if(tempnum>0)
{
available_days_start = tempnum;
}
int.TryParse(arr[1], out tempnum);
if(tempnum>0)
{
available_days_end = tempnum;
}
}
}
var obj = new Services.WareHouseServices().ListWareHouseSku(parameter, warehousecode, null, minordercount, maxordercount, stockmin, stockmax, stockamountmin, stockamountmax, skucategoryids, push_status,available_days_start,available_days_end,ref total);
var list = obj.Select(p => new {
amount_onedaysale = p.amount_onedaysale??0,
......@@ -254,16 +278,37 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
return JsonConvert.SerializeObject(new { total = total, rows = list });
}
public ActionResult ExportWareHouseSku(string code, int? push_status, int? minordercount, int? maxordercount, int? stockmin, int? stockmax, decimal? stockamountmin, decimal? stockamountmax, string skucategoryids)
public ActionResult ExportWareHouseSku(string code, int? push_status, int? minordercount, int? maxordercount, int? stockmin, int? stockmax, decimal? stockamountmin, decimal? stockamountmax, string skucategoryids,string available_days)
{
var total = 0;
var obj = new Services.WareHouseServices().ListWareHouseSku(new BtTableParameter { offset=0,limit=0}, code, null, minordercount, maxordercount, stockmin, stockmax, stockamountmin, stockamountmax, skucategoryids, push_status, ref total);
int? available_days_start = null;
int? available_days_end = null;
if (!string.IsNullOrEmpty(available_days))
{
var arr = available_days.Split('-');
if (arr.Length > 1)
{
var tempnum = 0;
int.TryParse(arr[0], out tempnum);
if (tempnum > 0)
{
available_days_start = tempnum;
}
int.TryParse(arr[1], out tempnum);
if (tempnum > 0)
{
available_days_end = tempnum;
}
}
}
var obj = new Services.WareHouseServices().ListWareHouseSku(new BtTableParameter { offset=0,limit=0}, code, null, minordercount, maxordercount, stockmin, stockmax, stockamountmin, stockamountmax, skucategoryids, push_status,available_days_start,available_days_end, ref total);
var colNames = new List<string>() { "仓库名称","Sku","推送产品库","分类名称","英文标题"
,"库存数量","库存金额","采购在途数量","采购在途金额","调拨在途数量"
,"调拨在途金额","待发货数量","缺货数量","调出在途数","30天调出数"
,"30天调入数","昨日总销量","昨日总销售额","七天销量","十四天销量"
,"三十天销量"
,"三十天销量","可销售天数"
};
var list = new List<string>();
......@@ -274,7 +319,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
(item.usable_stock??0) + "|" +(item.amount_stock??0) + "|" + (item.quantity_purchase??0) + "|" + (item.purchase_amount??0) + "|" + (item.quantity_transfer??0) + "|" +
(item.amount_transit??0) + "|" + (item.noshippingcount??0) + "|" + (item.nostockcount??0) + "|" + (item.quantity_tuneout_onway??0) + "|" + (item.quantity_tuneout_30days??0) + "|" +
(item.quantity_tunein_30days??0) + "|" + (item.oneday_total_sales??0) + "|" + (item.amount_onedaysale??0) + "|" + (item.sevenday_total_sales??0) + "|" + (item.fourteenday_total_sales??0) + "|" +
(item.thirtyday_total_sales??0);
(item.thirtyday_total_sales??0)+"|"+(item.available_days??0);
list.Add(str);
}
......@@ -1549,19 +1594,18 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
//组装数据并输出
var list = new List<Tuple<string, string, string, string>>();
var list = new List<Tuple<string, string, string, string,string>>();
if (obj != null)
{
list.Add(new Tuple<string, string, string, string>("可销售天数少于15天", obj.less15days_skucount.ToString("N0"), obj.less15days.ToString("N0"), obj.less15days_amount.ToString("N2")));
list.Add(new Tuple<string, string, string, string>("可销售天数15-30天", obj.fifteen_30_days_skucount.ToString("N0"), obj.fifteen_30_days.ToString("N0"), obj.fifteen_30_days_amount.ToString("N2")));
list.Add(new Tuple<string, string, string, string>("可销售天数30-45天", obj.thirty_45_days_skucount.ToString("N0"), obj.thirty_45_days.ToString("N0"), obj.thirty_45_days_amount.ToString("N2")));
list.Add(new Tuple<string, string, string, string>("可销售天数45-60天", obj.fortyfive_60_days_skucount.ToString("N0"), obj.fortyfive_60_days.ToString("N0"), obj.fortyfive_60_days_amount.ToString("N2")));
list.Add(new Tuple<string, string, string, string>("可销售天数60-90天", obj.sixty_90_days_skucount.ToString("N0"), obj.sixty_90_days.ToString("N0"), obj.sixty_90_days_amount.ToString("N2")));
list.Add(new Tuple<string, string, string, string>("可销售天数90-120天", obj.ninty_120_days_skucount.ToString("N0"), obj.ninty_120_days.ToString("N0"), obj.ninty_120_days_amount.ToString("N2")));
list.Add(new Tuple<string, string, string, string>("可销售天数120-180天", obj.onetwozero_180_days_skucount.ToString("N0"), obj.onetwozero_180_days.ToString("N0"), obj.onetwozero_180_days_amount.ToString("N2")));
list.Add(new Tuple<string, string, string, string>("可销售天数180天以上", obj.morethen_180_days_skucount.ToString("N0"), obj.morethen_180_days.ToString("N0"), obj.morethen_180_days_amount.ToString("N2")));
list.Add(new Tuple<string, string, string, string,string>("可销售天数少于15天", obj.less15days_skucount.ToString("N0"), obj.less15days.ToString("N0"), obj.less15days_amount.ToString("N2"),"-15"));
list.Add(new Tuple<string, string, string, string, string>("可销售天数15-30天", obj.fifteen_30_days_skucount.ToString("N0"), obj.fifteen_30_days.ToString("N0"), obj.fifteen_30_days_amount.ToString("N2"),"15-30"));
list.Add(new Tuple<string, string, string, string, string>("可销售天数30-45天", obj.thirty_45_days_skucount.ToString("N0"), obj.thirty_45_days.ToString("N0"), obj.thirty_45_days_amount.ToString("N2"),"30-45"));
list.Add(new Tuple<string, string, string, string, string>("可销售天数45-60天", obj.fortyfive_60_days_skucount.ToString("N0"), obj.fortyfive_60_days.ToString("N0"), obj.fortyfive_60_days_amount.ToString("N2"),"45-60"));
list.Add(new Tuple<string, string, string, string, string>("可销售天数60-90天", obj.sixty_90_days_skucount.ToString("N0"), obj.sixty_90_days.ToString("N0"), obj.sixty_90_days_amount.ToString("N2"),"60-90"));
list.Add(new Tuple<string, string, string, string, string>("可销售天数90-120天", obj.ninty_120_days_skucount.ToString("N0"), obj.ninty_120_days.ToString("N0"), obj.ninty_120_days_amount.ToString("N2"),"90-120"));
list.Add(new Tuple<string, string, string, string, string>("可销售天数120-180天", obj.onetwozero_180_days_skucount.ToString("N0"), obj.onetwozero_180_days.ToString("N0"), obj.onetwozero_180_days_amount.ToString("N2"),"120-180"));
list.Add(new Tuple<string, string, string, string, string>("可销售天数180天以上", obj.morethen_180_days_skucount.ToString("N0"), obj.morethen_180_days.ToString("N0"), obj.morethen_180_days_amount.ToString("N2"),"180-"));
}
return Json(new
......
......@@ -55,7 +55,7 @@
$('#tb').html('');
for (var i in result.data) {
var s = '<tr>';
var s = '<tr onclick="showDetail(\'' + result.data[i].item1 + '\',\''+result.data[i].item5+'\')" style="cursor:pointer;">';
s += '<td>' + result.data[i].item1 + '</td>';
s += '<td>' + result.data[i].item2 + '</td>';
s += '<td>' + result.data[i].item3 + '</td>';
......@@ -67,6 +67,10 @@
})
}
function showDetail(name, type) {
layer_show(name + ' 可用库存的SKU明细', '@Url.Content("~/Reports/Warehouse/ListWareHouseSku?warehouse_code="+ ViewBag.warehouse_code)'+'&available_days='+type,'90%','90%');
}
</script>
}
......
......@@ -61,6 +61,20 @@
<input id="stockamountmax" name="stockamountmax" class="form-control" type="number" style="width:125px;" placeholder="库存金额结束" />
</div>
<div class="form-group">
<label>可销售天数</label>
<select id="available_days" name="available_days" class="form-control" style="width:160px;">
<option value="">请选择可销售天数</option>
<option value="-15">少于15天</option>
<option value="15-30">15-30天</option>
<option value="30-45">30-45天</option>
<option value="45-60">45-60天</option>
<option value="60-90">60-90天</option>
<option value="90-120">90-120天</option>
<option value="120-180">120-180天</option>
<option value="180-">180天以上</option>
</select>
</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-warning" onclick="exportlist()">导出</button>
......@@ -98,6 +112,10 @@
var height = document.body.clientHeight;
$("#roletable").attr("data-height", (height - 160));
if ('@(ViewBag.available_days)' != '') {
$('#available_days').val('@(ViewBag.available_days)');
}
list();
//listwarehouse();
......@@ -119,7 +137,7 @@
}
},
{ field: 'warehouse_name', title: '所在仓库', width: '110', sortable: true },
{ field: 'warehouse_name', title: '所在仓库', width: '130', sortable: true },
{
field: 'push_status', title: '推送产品库', width: '120', sortable: true, formatter: function (idx, data) {
var s = '<span style="color:' + (data.push_status=='是'?"#01B468":"red") + ';">' + data.push_status + '</span>';
......@@ -183,11 +201,19 @@
{ field: 'sevenday_total_sales', title: '七天销量', width: '100', sortable: true },
{ field: 'fourteenday_total_sales', title: '十四天销量', width: '120', sortable: true },
{ field: 'thirtyday_total_sales', title: '三十天销量', width: '130', sortable: true },
{ field: 'cash_in_30days', title: '30天现金流收入', width: '130', sortable: true, iscount: true },
{ field: 'cash_out_30days', title: '30天现金流支出', width: '130', sortable: true, iscount: true },
{
field: 'cash_in_30days', title: '30天现金流收入', width: '130', sortable: true, iscount: true, formatter: function (idx, data) {
return '<a href="javascript:;" onclick="ShowCashFlow(\'' + data.warehouse_code + '\',\'' + data.warehouse_name + '\',\'' + data.bailun_sku + '\')">' + data.cash_in_30days + '</a>';
}
},
{
field: 'cash_out_30days', title: '30天现金流支出', width: '130', sortable: true, iscount: true, formatter: function (idx, data) {
return '<a href="javascript:;" onclick="ShowCashFlow(\'' + data.warehouse_code + '\',\'' + data.warehouse_name + '\',\'' + data.bailun_sku + '\')">' + data.cash_out_30days + '</a>';
}
},
{ field: 'cash_net', title: '净值(30d)', width: '130', sortable: true, iscount: true },
{ field: 'pin_rate_stock', title: '动销率%(30d)', width: '120', sortable: true, iscount: true },
{ field: 'available_days', title:'可销售天数',width:'110'}
{ field: 'available_days', title: '可销售天数', width: '110', sortable: true}
];
var s = '';
......@@ -298,6 +324,10 @@
}
}
function ShowCashFlow(code, name,sku) {
layer_show(name + '现金流明细', 'http://aims.bailuntec.com/view/reports/cash-flow-sku.html?warehouse_code=' + code+'&bailun_sku='+sku, '90%', '90%');
}
</script>
}
......
......@@ -159,12 +159,12 @@
},
{
field: 'cash_in_30days', title: '30天现金流收入', width: '130', sortable: true, iscount: true, formatter: function (idx, data) {
return data.cash_in_30days + '<img src="@Url.Content("~/img/icon-trendchart.png")" title="30天现金流收入趋势图" style="height:20px;margin-left:3px;" onclick="ShowTrendChart(\'' + data.warehouse_code + '\',\'30天现金流收入\',\'cash_in_30days\',\'' + data.warehouse_name + '\');" />';
return '<a href="javascript:;" onclick="ShowCashFlow(\'' + data.warehouse_code + '\',\''+data.warehouse_name+'\')">' + data.cash_in_30days + '</a><img src="@Url.Content("~/img/icon-trendchart.png")" title="30天现金流收入趋势图" style="height:20px;margin-left:3px;" onclick="ShowTrendChart(\'' + data.warehouse_code + '\',\'30天现金流收入\',\'cash_in_30days\',\'' + data.warehouse_name + '\');" />';
}
},
{
field: 'cash_out_30days', title: '30天现金流支出', width: '130', sortable: true, iscount: true, formatter: function (idx, data) {
return data.cash_out_30days + '<img src="@Url.Content("~/img/icon-trendchart.png")" title="30天现金流支出趋势图" style="height:20px;margin-left:3px;" onclick="ShowTrendChart(\'' + data.warehouse_code + '\',\'30天现金流支出\',\'cash_out_30days\',\'' + data.warehouse_name + '\');" />';
return '<a href="javascript:;" onclick="ShowCashFlow(\'' + data.warehouse_code + '\',\'' + data.warehouse_name + '\')">' + data.cash_out_30days + '</a><img src="@Url.Content("~/img/icon-trendchart.png")" title="30天现金流支出趋势图" style="height:20px;margin-left:3px;" onclick="ShowTrendChart(\'' + data.warehouse_code + '\',\'30天现金流支出\',\'cash_out_30days\',\'' + data.warehouse_name + '\');" />';
}
},
{
......@@ -254,6 +254,10 @@
layer_show(whname+"=》"+name + '的趋势图', '@Url.Content("~/Reports/Warehouse/WarehouseTrendChart?warehouse_code=")' + code + '&key=' + key + '&titlename=' + name,'90%','90%');
}
function ShowCashFlow(code,name) {
layer_show(name + '现金流明细', 'http://aims.bailuntec.com/view/reports/cash-flow-sku.html?warehouse_code=' + code,'90%','90%');
}
</script>
}
......
......@@ -111,93 +111,6 @@
}
}
}
else
{
<li>
<a href="javascript:;">
<i class="fa fa-money"></i>
<span class="nav-label">亚马逊</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-third-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/AmazonSaleStatistics")" data-index="0" style="padding-left:74px;">
<span>非FBA销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/FBASaleStatistics")" data-index="0" style="padding-left:74px;">
<span>FBA销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListOrder?platform=Amazon")" data-index="0" style="padding-left:74px;">
<span>订单流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/FinanceFee?platform=Amazon")" data-index="0" style="padding-left:74px;">
<span>财务费用</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/FBAAbnormalOrder")" data-index="0" style="padding-left:74px;">
<span>FBA异常订单</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/PlatformFeeAbnormal?platform=Amazon")" data-index="0" style="padding-left:74px;">
<span>平台费异常订单</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListPlatformCost?p=Amazon")" data-index="0" style="padding-left:74px;">
<span>自发货平台费用流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListPlatformCost?p=FBA")" data-index="0" style="padding-left:74px;">
<span>FBA平台费用流水</span>
</a>
</li>
</ul>
</li>
<li>
<a href="javascript:;">
<i class="fa fa-money"></i>
<span class="nav-label">Ebay</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-third-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/EbaySaleStatistics")" data-index="0" style="padding-left:74px;">
<span>Ebay销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/EbayStatisticsByWebsite")" data-index="0" style="padding-left:74px;">
<span>Ebay站点销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListOrder?platform=Ebay")" data-index="0" style="padding-left:74px;">
<span>订单流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListPlatformCost?p=Ebay")" data-index="0" style="padding-left:74px;">
<span>Ebay平台费用流水</span>
</a>
</li>
</ul>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/PlatformProfitCount")" data-index="0">
<i class="fa fa-money"></i>
<span>平台利润统计</span>
</a>
</li>
}
</ul>
</div>
</nav>
......
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