Commit 44f8627d by lizefeng

报表新增汇总,固定列

parent 456a945d
......@@ -1336,6 +1336,20 @@ truncate table dc_base_purchase_7_temp;", new { time = DateTime.Now.AddDays(-8).
List<bailun_sku_website_sales_dto> datas = new List<bailun_sku_website_sales_dto>();
var website_list = oms_sku_list.GroupBy(s=>new { s.platform_type,s.website}).OrderBy(s=>s.Key.platform_type);
if (search_data.has_sum == true)
{
datas.Add(new bailun_sku_website_sales_dto
{
label = "总计",
labels = new List<string> { "服装精准开发", "服装供应商推荐", "非服装精准开发" },
website = "总计",
website_show = "总计",
platform_type = "总计",
days = new List<bailun_sku_website_sales_dto.bailun_sku_website_sales_date_dto>()
});
}
else
{
foreach (var item in website_list)
{
datas.Add(new bailun_sku_website_sales_dto
......@@ -1343,7 +1357,7 @@ truncate table dc_base_purchase_7_temp;", new { time = DateTime.Now.AddDays(-8).
label = "服装精准开发",
labels = new List<string> { "服装精准开发" },
website = item.Key.website,
website_show = item.Key.platform_type +"-"+ item.Key.website,
website_show = item.Key.platform_type + "-" + item.Key.website,
platform_type = item.Key.platform_type,
days = new List<bailun_sku_website_sales_dto.bailun_sku_website_sales_date_dto>()
});
......@@ -1421,6 +1435,8 @@ truncate table dc_base_purchase_7_temp;", new { time = DateTime.Now.AddDays(-8).
platform_type = "",
days = new List<bailun_sku_website_sales_dto.bailun_sku_website_sales_date_dto>()
});
}
var b_time = DateTime.Now.AddDays(-1);
var e_time = b_time.AddDays(-7);
var this_time = b_time;
......@@ -1428,11 +1444,16 @@ truncate table dc_base_purchase_7_temp;", new { time = DateTime.Now.AddDays(-8).
{
foreach (var item in datas)
{
var temp_datas = oms_sku_list.Where(s=> item.labels.Contains(s.label) && s.create_time.Year== this_time.Year && s.create_time.Month == this_time.Month && s.create_time.Day== this_time.Day);
var temp_datas = oms_sku_list.Where(s=> s.create_time.Year== this_time.Year && s.create_time.Month == this_time.Month && s.create_time.Day== this_time.Day);
if (!"总计".Equals(item.website))
{
temp_datas = temp_datas.Where(s => item.labels.Contains(s.label));
if (!"小计".Equals(item.website))
{
temp_datas = temp_datas.Where(s => s.platform_type == item.platform_type && s.website == item.website);
}
}
item.days.Add(new bailun_sku_website_sales_dto.bailun_sku_website_sales_date_dto {
year = this_time.Year,
month = this_time.Month,
......@@ -1502,9 +1523,14 @@ where t2.buyer_name = '赵美聪'
parameters.Add("supplier_name", m.supplier_name);
}
if (m.has_sum == true)
{
total = 0;
}
else
{
sql += " GROUP BY t2.suppliers_id ";
count_sql += " GROUP BY t2.suppliers_id ";
total = _connection.ExecuteScalar<int>(count_sql, parameters);
//设置默认排序字段
......@@ -1523,6 +1549,9 @@ where t2.buyer_name = '赵美聪'
}
}
sql += " limit " + offset + "," + limit;
}
var obj = _connection.Query<supplier_sales_dto>(sql, parameters, buffered: false, commandTimeout: 0);
return obj.AsList();
......@@ -1544,25 +1573,46 @@ where t2.buyer_name = '赵美聪'
sql += " and t1.product_inner_code = @product_inner_code ";
parameters.Add("product_inner_code", search_data.product_inner_code);
}
if (!string.IsNullOrWhiteSpace(search_data.platform_type))
{
sql += " and t1.platform_type = @platform_type ";
parameters.Add("platform_type", search_data.platform_type);
}
}
var oms_sku_list = _connection.Query<dc_base_oms_sku_goods_dto>(sql, parameters);
List<bailun_sku_goods_dto> datas = new List<bailun_sku_goods_dto>();
var website_list = oms_sku_list.GroupBy(s => new { s.platform_type, s.website }).OrderBy(s => s.Key.platform_type).ToList();
if (search_data.has_sum == true)
{
total = 0;
datas.Add(new bailun_sku_goods_dto
{
product_inner_code ="总计",
bailun_category_name = "",
sku_title_cn = "",
websites = new List<bailun_sku_goods_dto.bailun_sku_goods_date_dto>()
});
}
else
{
var product_inner_code_group_list = oms_sku_list.GroupBy(s => new { s.product_inner_code });
var product_inner_code_group_list_show = product_inner_code_group_list.Take(limit).Skip(offset);
total = product_inner_code_group_list.Count();
var website_list = oms_sku_list.GroupBy(s => new { s.platform_type, s.website }).OrderBy(s => s.Key.platform_type).ToList();
var product_inner_code_group_list_show = product_inner_code_group_list.Take(limit).Skip(offset);
foreach (var item in product_inner_code_group_list_show)
{
datas.Add(new bailun_sku_goods_dto
{
product_inner_code = item.Key.product_inner_code,
bailun_category_name = item.Max(g=>g.bailun_category_name),
sku_title_cn = item.Max(g=>g.sku_title_cn),
bailun_category_name = item.Max(g => g.bailun_category_name),
sku_title_cn = item.Max(g => g.sku_title_cn),
websites = new List<bailun_sku_goods_dto.bailun_sku_goods_date_dto>()
});
}
}
var now = DateTime.Now;
var yesterday_time = DateTime.Now.AddDays(-1);
......@@ -1571,8 +1621,11 @@ where t2.buyer_name = '赵美聪'
{
foreach (var item in datas)
{
var temp_datas = oms_sku_list.Where(s => s.product_inner_code==item.product_inner_code);
temp_datas = temp_datas.Where(s => s.platform_type == website_item.Key.platform_type && s.website == website_item.Key.website);
var temp_datas = oms_sku_list.Where(s => s.platform_type == website_item.Key.platform_type && s.website == website_item.Key.website); ;
if (!"总计".Equals(item.product_inner_code))
{
temp_datas = temp_datas.Where(s => s.product_inner_code == item.product_inner_code);
}
var yesterday_datas = temp_datas.Where(s => s.create_time.Year == yesterday_time.Year && s.create_time.Month == yesterday_time.Month && s.create_time.Day == yesterday_time.Day);
var datas_7 = temp_datas.Where(s => s.create_time >= time_7);
var sum_count_7 = temp_datas.Sum(s=>s.bailun_sku_quantity_ordered); // 7日总销量
......
......@@ -6,6 +6,10 @@ namespace AutoTurnOver.Models.Report
{
public class bailun_sku_website_sales_search_dto
{
/// <summary>
/// 是否汇总
/// </summary>
public bool? has_sum { get; set; }
public string platform_type { get; set; }
}
public class bailun_sku_website_sales_dto
......@@ -36,7 +40,9 @@ namespace AutoTurnOver.Models.Report
public class bailun_sku_goods_search_dto
{
public bool? has_sum { get; set; }
public string product_inner_code { get; set; }
public string platform_type { get; set; }
}
public class bailun_sku_goods_dto
{
......
......@@ -32,6 +32,7 @@ namespace AutoTurnOver.Models.Report
public class supplier_sales_search_dto
{
public bool? has_sum { get; set; }
public string supplier_name { get; set; }
}
}
......@@ -693,13 +693,18 @@ namespace AutoTurnOver.Services
}
public static List<platform_type_website_dto> PlatformtypeWebsiteList()
public static List<platform_type_website_dto> PlatformtypeWebsiteList(string platform_type)
{
//查询采购建议明细
return RedisHelper.Get(RedisConsts.platform_type_website, () =>
var datas = RedisHelper.Get(RedisConsts.platform_type_website, () =>
{
return report.GetPlatformWebsite();
});
if (!string.IsNullOrWhiteSpace(platform_type))
{
datas = datas.Where(s => platform_type.Equals(s.platform_type, StringComparison.OrdinalIgnoreCase)).ToList();
}
return datas;
}
}
......
......@@ -138,9 +138,9 @@ namespace AutoTurnOver.Controllers
var datas = ApiServices.PlatformList();
return new JsonResult(datas);
}
public JsonResult PlatformtypeWebsiteList()
public JsonResult PlatformtypeWebsiteList(string platform_type)
{
var datas = ApiServices.PlatformtypeWebsiteList();
var datas = ApiServices.PlatformtypeWebsiteList(platform_type);
return new JsonResult(datas);
}
......
......@@ -640,6 +640,20 @@ namespace AutoTurnOver.Controllers
});
}
public JsonResult GetSkuWebsiteSalesSumFooter(string platform_type)
{
bailun_sku_website_sales_search_dto search_data = new bailun_sku_website_sales_search_dto
{
platform_type = platform_type,
has_sum =true
};
var list = new ReportServices().GetSkuWebsiteSales(search_data);
return new JsonResult(list == null || list.Count <= 0 ? new dc_base_stock_dto() : list[0]);
}
public JsonResult SupplierSalesList(string supplier_name, int offset, int limit, string order, string sort)
{
var m = new supplier_sales_search_dto
......@@ -657,11 +671,27 @@ namespace AutoTurnOver.Controllers
});
}
public JsonResult GetGoods(string product_inner_code, int offset, int limit, string order, string sort)
public JsonResult SupplierSalesListSumFooter(string supplier_name)
{
var m = new supplier_sales_search_dto
{
supplier_name = supplier_name,
has_sum = true
};
var services = new ReportServices();
var total = 0;
var list = services.SupplierSalesList(m, 0, 0, ref total, order: "", sort: "");
return new JsonResult(list == null || list.Count <= 0 ? new supplier_sales_dto() : list[0]);
}
public JsonResult GetGoods(string product_inner_code,string platform_type, int offset, int limit, string order, string sort)
{
var m = new bailun_sku_goods_search_dto
{
product_inner_code = product_inner_code,
platform_type = platform_type
};
var services = new ReportServices();
var total = 0;
......@@ -673,5 +703,21 @@ namespace AutoTurnOver.Controllers
total = total,
});
}
public JsonResult GetGoodsSumFooter(string product_inner_code, string platform_type)
{
var m = new bailun_sku_goods_search_dto
{
product_inner_code = product_inner_code,
platform_type = platform_type,
has_sum = true
};
var services = new ReportServices();
var total = 0;
var list = services.GetGoods(m, 0, 0, ref total, order: "", sort: "");
return new JsonResult(list == null || list.Count <= 0 ? new supplier_sales_dto() : list[0]);
}
}
}
\ No newline at end of file
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