Commit 99275a56 by 泽锋 李

销量导出模板支持离线下载

parent 9b6dcb97
...@@ -427,6 +427,58 @@ namespace AutoTurnOver.Services ...@@ -427,6 +427,58 @@ namespace AutoTurnOver.Services
} }
/// <summary> /// <summary>
/// 导销量模板
/// </summary>
/// <param name="m"></param>
/// <param name="order"></param>
/// <param name="sort"></param>
/// <returns></returns>
public string ExportSalesTemplate(Condition_AutoTurnOver m, string order, string sort)
{
var service = new Services.SkuAutoTurnServices();
int total = 0;
var list = service.List(m, 0, int.MaxValue, ref total, "", "");
var fileName = AppContext.BaseDirectory + $@"周转表-{DateTime.Now.ToString("yyyyMMddHHmmss")}{Guid.NewGuid()}.csv";
var table = new DataTable();
table.Columns.Add("SKU");
table.Columns.Add("标题");
table.Columns.Add("仓库");
table.Columns.Add("仓库编码");
table.Columns.Add("仓库类型");
table.Columns.Add("昨日销量");
table.Columns.Add("7日日均");
table.Columns.Add("14日日均");
table.Columns.Add("30日日均");
var thisDate = DateTime.Now;
for (int i = 0; i < 13; i++)
{
var btime = thisDate.GetWeekFirstDayMon();
var etime = btime.GetWeekLastDaySun();
table.Columns.Add($"预测{btime.ToString("yyyy-MM-dd")}~{etime.ToString("yyyy-MM-dd")}销量");
thisDate = thisDate.AddDays(8);
}
foreach (var item in list)
{
var row = table.NewRow();
row["SKU"] = item.bailun_sku;
row["标题"] = item.sku_title;
row["仓库"] = item.db_warehouse_name;
row["仓库编码"] = item.warehouse_code;
row["仓库类型"] = item.warehouse_type;
row["昨日销量"] = item.oneday_sales;
row["7日日均"] = item.history_sevenday_sales;
row["14日日均"] = item.history_fourteenday_sales;
row["30日日均"] = item.history_thirtyday_sales;
table.Rows.Add(row);
}
EPPlusHelper.ExportExcel(table, fileName);
return fileName;
}
/// <summary>
/// 生产数据 /// 生产数据
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
......
...@@ -40,6 +40,9 @@ namespace AutoTurnOver.Services ...@@ -40,6 +40,9 @@ namespace AutoTurnOver.Services
break; break;
case "周转表": case "周转表":
item.result_file_url = await DownloadAuto(item.parameter, item); item.result_file_url = await DownloadAuto(item.parameter, item);
break;
case "销量导入模板":
item.result_file_url = await DownloadExportSalesTemplate(item.parameter, item);
break; break;
case "改在线记录": case "改在线记录":
item.result_file_url = await DownloadShortagePush(item.parameter, item); item.result_file_url = await DownloadShortagePush(item.parameter, item);
...@@ -224,6 +227,19 @@ namespace AutoTurnOver.Services ...@@ -224,6 +227,19 @@ namespace AutoTurnOver.Services
Console.WriteLine("DownloadStock - 上传完毕"); Console.WriteLine("DownloadStock - 上传完毕");
return fileData; return fileData;
} }
/// <summary>
/// 下载周转表
/// </summary>
public async Task<string> DownloadExportSalesTemplate(string par_json, dc_task_download download_data)
{
Condition_AutoTurnOver search_data = par_json.ToObject<Condition_AutoTurnOver>();
Console.WriteLine("DownloadStock - 开始生成文件");
var memory = new SkuAutoTurnServices().ExportSalesTemplate(search_data,"","");
Console.WriteLine("DownloadStock - 开始生成上传文件");
var fileData = await AutoTurnOver.Utility.QiNiuCloudHelper.UploadSectioningAsync(memory);
Console.WriteLine("DownloadStock - 上传完毕");
return fileData;
}
} }
} }
...@@ -140,58 +140,17 @@ namespace AutoTurnOver.Controllers ...@@ -140,58 +140,17 @@ namespace AutoTurnOver.Controllers
{ {
try try
{ {
var service = new Services.SkuAutoTurnServices(); var user = AutoUtility.GetUser();
int total = 0; dc_task_download_dao.PushData<dc_base_stock_search_dto>(new dc_task_download
var list = service.List(m, 0, int.MaxValue, ref total, "", "");
var fileName = AppContext.BaseDirectory + $@"Result\RealtimeStock\销量导入模板.xlsx";
var table = new DataTable();
table.Columns.Add("SKU");
table.Columns.Add("标题");
table.Columns.Add("仓库");
table.Columns.Add("仓库编码");
table.Columns.Add("仓库类型");
table.Columns.Add("昨日销量");
table.Columns.Add("7日日均");
table.Columns.Add("14日日均");
table.Columns.Add("30日日均");
var thisDate = DateTime.Now;
for (int i = 0; i < 13; i++)
{
var btime = thisDate.GetWeekFirstDayMon();
var etime = btime.GetWeekLastDaySun();
table.Columns.Add($"预测{btime.ToString("yyyy-MM-dd")}~{etime.ToString("yyyy-MM-dd")}销量");
thisDate = thisDate.AddDays(8);
}
foreach (var item in list)
{
var row = table.NewRow();
row["SKU"] = item.bailun_sku;
row["标题"] = item.sku_title;
row["仓库"] = item.db_warehouse_name;
row["仓库编码"] = item.warehouse_code;
row["仓库类型"] = item.warehouse_type;
row["昨日销量"] = item.oneday_sales;
row["7日日均"] = item.history_sevenday_sales;
row["14日日均"] = item.history_fourteenday_sales;
row["30日日均"] = item.history_thirtyday_sales;
table.Rows.Add(row);
}
EPPlusHelper.ExportExcel(table, fileName);
var memory = new MemoryStream();
using (var stream = new FileStream(fileName, FileMode.Open))
{ {
stream.CopyTo(memory); parameter = m.ToJson(),
} task_name = "销量导入模板"
memory.Position = 0; }, user);
return File(memory, "text/csv", $"销量导入模板.xlsx"); return new JsonResult(new { success = true });
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine(ex.Message + "----" + ex.StackTrace); return new JsonResult(new { success = false, message = ex.Message });
return new ContentResult() { Content = ex.Message + "----" + ex.StackTrace };
} }
} }
......
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