Commit 82f2a8d6 by lizefeng

周转表优化导出

parent 7fefdf41
...@@ -14,31 +14,28 @@ namespace AutoTurnOver.Common ...@@ -14,31 +14,28 @@ namespace AutoTurnOver.Common
/// </summary> /// </summary>
/// <param name="dt">提供保存数据的DataTable</param> /// <param name="dt">提供保存数据的DataTable</param>
/// <param name="fileName">CSV的文件路径</param> /// <param name="fileName">CSV的文件路径</param>
public static void SaveCSV(DataTable dt, string fileName, bool existsPush = false) public static void SaveCSV(DataTable dt, string fileName)
{ {
// 是否追加 // 是否追加
if (!Directory.Exists(Path.GetDirectoryName(fileName))) if (!Directory.Exists(Path.GetDirectoryName(fileName)))
{ {
Directory.CreateDirectory(Path.GetDirectoryName(fileName)); Directory.CreateDirectory(Path.GetDirectoryName(fileName));
} }
FileStream fs = new FileStream(fileName, existsPush?FileMode.OpenOrCreate: FileMode.Create, System.IO.FileAccess.ReadWrite); FileStream fs = new FileStream(fileName, FileMode.Create, System.IO.FileAccess.Write);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default); StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
string data = ""; string data = "";
if (!existsPush) //写出列名称
for (int i = 0; i < dt.Columns.Count; i++)
{ {
//写出列名称 data += dt.Columns[i].ColumnName.ToString();
for (int i = 0; i < dt.Columns.Count; i++) if (i < dt.Columns.Count - 1)
{ {
data += dt.Columns[i].ColumnName.ToString(); data += ",";
if (i < dt.Columns.Count - 1)
{
data += ",";
}
} }
sw.WriteLine(data);
} }
sw.WriteLine(data);
//写出各行数据 //写出各行数据
for (int i = 0; i < dt.Rows.Count; i++) for (int i = 0; i < dt.Rows.Count; i++)
......
...@@ -161,76 +161,69 @@ namespace AutoTurnOver.Controllers ...@@ -161,76 +161,69 @@ namespace AutoTurnOver.Controllers
var total = 0; var total = 0;
var service = new Services.SkuAutoTurnServices(); var service = new Services.SkuAutoTurnServices();
int page = 0; var list = service.List(m, 0, int.MaxValue, ref total, order, sort);
int rows = 10000;
while (true)
{ DataTable table = new DataTable();
var list = service.List(m, page, rows, ref total, order, sort); string[] cols = new string[] { "Sku","商品编码", "内部编码", "sku标题", "仓库编码", "仓库名称", "MOQ",
if (list ==null ||list.Count <= 0) break;
DataTable table = new DataTable();
string[] cols = new string[] { "Sku","商品编码", "内部编码", "sku标题", "仓库编码", "仓库名称", "MOQ",
"采购在途", "调拨在途", "昨日销量", "明日销量", "未来7天日均", "未来14天日均", "建议采购数", "活动促销数量", "采购在途", "调拨在途", "昨日销量", "明日销量", "未来7天日均", "未来14天日均", "建议采购数", "活动促销数量",
"实际库存", "安全库存", "周转天数", "供应商交期", "质检入库天数", "调拨头程天数", "预测是否断货", "缺货数量","监控状态","供应商","采购员","交期异常", "实际库存", "安全库存", "周转天数", "供应商交期", "质检入库天数", "调拨头程天数", "预测是否断货", "缺货数量","监控状态","供应商","采购员","交期异常",
"过去7天日均","过去14天日均","过去30天日均","重量","单价","实时库存","ebay最近7天日均销量","ebay最近14天日均销量","ebay最近30天日均销量","已发货库存","开发时间","是否侵权" "过去7天日均","过去14天日均","过去30天日均","重量","单价","实时库存","ebay最近7天日均销量","ebay最近14天日均销量","ebay最近30天日均销量","已发货库存","开发时间","是否侵权"
}; };
foreach (var item in cols) foreach (var item in cols)
{ {
table.Columns.Add(item); table.Columns.Add(item);
} }
foreach (var itemData in list) foreach (var itemData in list)
{ {
DataRow row = table.NewRow(); DataRow row = table.NewRow();
row["Sku"] = itemData.bailun_sku; row["Sku"] = itemData.bailun_sku;
row["商品编码"] = itemData.product_code; row["商品编码"] = itemData.product_code;
row["内部编码"] = itemData.product_inner_code; row["内部编码"] = itemData.product_inner_code;
row["sku标题"] = itemData.sku_title; row["sku标题"] = itemData.sku_title;
row["仓库编码"] = itemData.warehouse_code; row["仓库编码"] = itemData.warehouse_code;
row["仓库名称"] = itemData.warehouse_name; row["仓库名称"] = itemData.warehouse_name;
row["MOQ"] = itemData.quantity_minimum_order; row["MOQ"] = itemData.quantity_minimum_order;
row["采购在途"] = itemData.quantity_purchase; row["采购在途"] = itemData.quantity_purchase;
row["调拨在途"] = itemData.quantity_transfer; row["调拨在途"] = itemData.quantity_transfer;
row["昨日销量"] = itemData.oneday_sales; row["昨日销量"] = itemData.oneday_sales;
row["明日销量"] = itemData.forecast_oneday_sales2; row["明日销量"] = itemData.forecast_oneday_sales2;
row["未来7天日均"] = itemData.forecast_sevenday_sales; row["未来7天日均"] = itemData.forecast_sevenday_sales;
row["未来14天日均"] = itemData.forecast_fourteenday_sales; row["未来14天日均"] = itemData.forecast_fourteenday_sales;
row["建议采购数"] = itemData.quantity_final_advise; row["建议采购数"] = itemData.quantity_final_advise;
row["活动促销数量"] = itemData.quantity_promotion; row["活动促销数量"] = itemData.quantity_promotion;
row["实际库存"] = itemData.quantity_inventory; row["实际库存"] = itemData.quantity_inventory;
row["安全库存"] = itemData.quantity_safe_inventory; row["安全库存"] = itemData.quantity_safe_inventory;
row["周转天数"] = itemData.turnover_days; row["周转天数"] = itemData.turnover_days;
row["供应商交期"] = itemData.supplier_delivery; row["供应商交期"] = itemData.supplier_delivery;
row["质检入库天数"] = itemData.inspection_delivery; row["质检入库天数"] = itemData.inspection_delivery;
row["调拨头程天数"] = itemData.transfer_delivery; row["调拨头程天数"] = itemData.transfer_delivery;
row["预测是否断货"] = itemData.status == 1 ? "是" : "否"; row["预测是否断货"] = itemData.status == 1 ? "是" : "否";
row["缺货数量"] = itemData.quantity_out_stock; row["缺货数量"] = itemData.quantity_out_stock;
row["监控状态"] = itemData.monitor_status == 1 ? "停止监控" : "监控中"; row["监控状态"] = itemData.monitor_status == 1 ? "停止监控" : "监控中";
row["供应商"] = itemData.supplier_name; row["供应商"] = itemData.supplier_name;
row["采购员"] = itemData.buyer_name; row["采购员"] = itemData.buyer_name;
row["交期异常"] = itemData.delivery_days_error; row["交期异常"] = itemData.delivery_days_error;
row["过去7天日均"] = itemData.history_sevenday_sales; row["过去7天日均"] = itemData.history_sevenday_sales;
row["过去14天日均"] = itemData.history_fourteenday_sales; row["过去14天日均"] = itemData.history_fourteenday_sales;
row["过去30天日均"] = itemData.history_thirtyday_sales; row["过去30天日均"] = itemData.history_thirtyday_sales;
row["重量"] = itemData.weight; row["重量"] = itemData.weight;
row["单价"] = itemData.unit_price; row["单价"] = itemData.unit_price;
row["实时库存"] = itemData.usable_stock; row["实时库存"] = itemData.usable_stock;
row["ebay最近7天日均销量"] = itemData.history_sevenday_sales_ebay; row["ebay最近7天日均销量"] = itemData.history_sevenday_sales_ebay;
row["ebay最近14天日均销量"] = itemData.history_fourteenday_sales_ebay; row["ebay最近14天日均销量"] = itemData.history_fourteenday_sales_ebay;
row["ebay最近30天日均销量"] = itemData.history_thirtyday_sales_ebay; row["ebay最近30天日均销量"] = itemData.history_thirtyday_sales_ebay;
row["已发货库存"] = itemData.shipped_stock; row["已发货库存"] = itemData.shipped_stock;
row["开发时间"] = itemData.develop_time; row["开发时间"] = itemData.develop_time;
row["是否侵权"] = itemData.has_tort; row["是否侵权"] = itemData.has_tort;
table.Rows.Add(row); table.Rows.Add(row);
}
DataTableHelper.SaveCSV(table, fileName,page>0);
page++;
} }
DataTableHelper.SaveCSV(table, fileName);
var memory = new MemoryStream(); var memory = new MemoryStream();
using (var stream = new FileStream(fileName, FileMode.Open)) using (var stream = new FileStream(fileName, FileMode.Open))
......
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