Commit af7a4890 by 泽锋 李

fix

parent 56b1d6be
......@@ -47,32 +47,22 @@ namespace AutoTurnOver.DB
void IDisposable.Dispose()
{
_connection.Dispose();
__connection = null;
}
private static MySqlConnection __connection;
public static MySqlConnection _connection
{
get
{
if (__connection == null)
{
__connection = new MySqlConnection(ConfigHelper.ConnectionString("Default"));
}
return __connection;
return new MySqlConnection(ConfigHelper.ConnectionString("Default"));
}
}
private static MySqlConnection __connection_read_only;
public static MySqlConnection _connection_read_only
{
get
{
if (__connection_read_only == null)
{
__connection_read_only = new MySqlConnection(ConfigHelper.ConnectionString("ReadOnly"));
}
return __connection_read_only;
return new MySqlConnection(ConfigHelper.ConnectionString("ReadOnly"));
}
}
......@@ -83,7 +73,6 @@ namespace AutoTurnOver.DB
public void Close()
{
_connection.Close();
__connection = null;
}
public int Execute(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null)
{
......
......@@ -3170,6 +3170,128 @@ where t1.bailun_sku = t2.bailun_sku and t1.week_tag=@week_tag;
return r_datas;
}
public static List<report_stock_week_view_dto> ReportPurchaseWeekView(report_stock_week_view_search_dto search)
{
var btime = DateTime.Now.AddDays(-(7 * 4)).GetWeekFirstDayMon().ToDayHome();
var etime = btime.AddDays(7*24).GetWeekLastDaySun().ToDayEnd();
if (search.btime != null)
{
btime = search.btime.Value;
}
if (search.etime != null)
{
etime = search.etime.Value;
}
var datas = _connection.Query<dc_report_purchase_week>(" select * from dc_report_purchase_week where first_day_date>=@btime and first_day_date <=@etime ", new { btime, etime });
List<report_stock_week_view_dto> r_datas = new List<report_stock_week_view_dto>();
var datas_web_site_group = datas.GroupBy(s => s.web_site).ToList();
foreach (var websiteGroupItem in datas_web_site_group)
{
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周新品下单sku个数", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周新品下单总数量", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周新品下sku金额", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周新品已调走sku个数", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周新品已调走总数量", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周新品已调走sku金额", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周补货下单sku个数", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周补货下单总数量", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周补货下单sku金额", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周补货调走sku个数", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周补货调走总数量", weeks = new List<report_stock_week_view_dto.week>() { } });
r_datas.Add(new report_stock_week_view_dto { web_site = websiteGroupItem.Key, tag = "上周补货调走sku金额", weeks = new List<report_stock_week_view_dto.week>() { } });
var this_date = btime.GetWeekFirstDayMon().ToDayHome();
while (this_date <= etime)
{
var b_thie_date = this_date.ToDayHome();
var e_thie_date = b_thie_date.GetWeekLastDaySun().ToDayEnd();
var this_datas = websiteGroupItem.Where(s => s.first_day_date >= b_thie_date && s.first_day_date <= e_thie_date).ToList();
r_datas.SingleOrDefault(s => s.web_site== websiteGroupItem.Key && s.tag == "上周新品下单sku个数").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s=>s.type==1 && s.is_new==1).Count()
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周新品下单总数量").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 1 && s.is_new == 1).Sum(s=>s.quantity_purchase)
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周新品下sku金额").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 1 && s.is_new == 1).Sum(s=>s.amount_paid)
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周新品已调走sku个数").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 2 && s.is_new == 1).Count()
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周新品已调走总数量").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 2 && s.is_new == 1).Sum(s=>s.quantity_purchase)
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周新品已调走sku金额").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 2 && s.is_new == 1).Sum(s=>s.amount_paid)
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周补货下单sku个数").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 1 && s.is_new == 0).Count()
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周补货下单总数量").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 1 && s.is_new == 0).Sum(s => s.quantity_purchase)
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周补货下单sku金额").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 1 && s.is_new == 0).Sum(s => s.amount_paid)
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周补货调走sku个数").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 2 && s.is_new == 0).Count()
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周补货调走总数量").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 2 && s.is_new == 0).Sum(s => s.quantity_purchase)
});
r_datas.SingleOrDefault(s => s.web_site == websiteGroupItem.Key && s.tag == "上周补货调走sku金额").weeks.Add(new report_stock_week_view_dto.week
{
tag = $" {b_thie_date.ToString("MM-dd")} ~ {e_thie_date.ToString("MM-dd")}",
val = this_datas.Where(s => s.type == 2 && s.is_new == 0).Sum(s => s.amount_paid)
});
this_date = this_date.AddDays(7);
}
}
return r_datas;
}
public static List<string> ReportStockWeekViewGetWeekList(report_stock_week_view_search_dto search)
{
var weeks = new List<string>();
......@@ -3208,7 +3330,7 @@ where t1.bailun_sku = t2.bailun_sku and t1.week_tag=@week_tag;
delete from dc_report_purchase_week where week_tag=@week_tag;
insert into dc_report_purchase_week(`week_tag`,`type`,`warehouse_code`,`bailun_sku`,`stock`,`unit_price`,`is_new`,`quantity_purchase`,`amount_paid`,`web_stie`,`first_day_date`)
insert into dc_report_purchase_week(`week_tag`,`type`,`warehouse_code`,`bailun_sku`,`stock`,`unit_price`,`is_new`,`quantity_purchase`,`amount_paid`,`web_site`,`first_day_date`)
(
select
@week_tag as 'week_tag',
......@@ -3225,7 +3347,7 @@ case
) as 'is_new',
sum(t_ps.deliverycount) as 'quantity_purchase',
sum(t_ps.deliverycount * t3.unit_price) as 'amount_paid',
t2.area_name as 'web_stie',
t2.area_name as 'web_site',
@btime as 'first_day_date'
from dc_base_transfer_info as t_p
left join dc_base_transfer_info_skus as t_ps on t_p.`dataid` = t_ps.dataid
......@@ -3238,7 +3360,7 @@ GROUP BY t_ps.sku ,t_p.targetwareno
);
insert into dc_report_purchase_week(`week_tag`,`type`,`warehouse_code`,`bailun_sku`,`stock`,`unit_price`,`is_new`,`quantity_purchase`,`amount_paid`,`web_stie`,`first_day_date`)
insert into dc_report_purchase_week(`week_tag`,`type`,`warehouse_code`,`bailun_sku`,`stock`,`unit_price`,`is_new`,`quantity_purchase`,`amount_paid`,`web_site`,`first_day_date`)
(
select
@week_tag as 'week_tag',
......@@ -3255,7 +3377,7 @@ case
) as 'is_new',
sum(t_p.quantity_purchase) as 'quantity_purchase',
sum(t_p.amount_paid) as 'amount_paid',
t2.area_name as 'web_stie',
t2.area_name as 'web_site',
@btime as 'first_day_date'
from dc_base_purchase_details as t_p
left join dc_base_stock as t1 on t1.bailun_sku =t_p.bailun_sku and t1.warehouse_code = t_p.warehouse_into_code
......
......@@ -45,4 +45,23 @@ namespace AutoTurnOver.Models.Report
public decimal stock_amount { get; set; }
public int is_order { get; set; }
}
public class dc_report_purchase_week
{
public int id { get; set; }
public string week_tag { get; set; }
/// <summary>
/// 1 = 采购 2= 调拨
/// </summary>
public int type { get; set; }
public string warehouse_code { get; set; }
public string bailun_sku { get; set; }
public int stock { get; set; }
public decimal unit_price { get; set; }
public int is_new { get; set; }
public int quantity_purchase { get; set; }
public decimal amount_paid { get; set; }
public string web_site { get; set; }
public DateTime first_day_date { get; set; }
}
}
......@@ -893,6 +893,28 @@ namespace AutoTurnOver.Services
return datas;
}
public List<dynamic> ReportPurchaseWeekView(report_stock_week_view_search_dto search_data)
{
var order_list = report.ReportPurchaseWeekView(search_data);
List<dynamic> datas = new List<dynamic>();
foreach (var item in order_list)
{
dynamic o = new ExpandoObject();
o.web_site = item.web_site;
o.tag = item.tag;
foreach (var dat_item in item.weeks)
{
var dic = (IDictionary<string, object>)o;
dic["val_" + (dat_item.tag)] = Math.Round(dat_item.val, 2);
}
datas.Add(o);
}
return datas;
}
public List<string> ReportStockWeekViewGetWeekList(report_stock_week_view_search_dto search)
{
......
......@@ -725,6 +725,76 @@ namespace AutoTurnOver.Controllers
memory.Position = 0;
return File(memory, "text/csv", "第三方海外仓统计表.csv");
}
[BrowseLog("Bailun_aims", "访问【百伦自动周转系统】->【报表】->【第三方海外仓采购汇总】->【搜索】页面", 0)]
public JsonResult ReportPurchaseWeekView(DateTime? btime, DateTime? etime)
{
report_stock_week_view_search_dto search_data = new report_stock_week_view_search_dto
{
etime = etime,
btime = btime
};
var list = new ReportServices().ReportPurchaseWeekView(search_data);
return new JsonResult(new
{
rows = list,
total = 0,
});
}
[BrowseLog("Bailun_aims", "访问【百伦自动周转系统】->【报表】->【第三方海外仓采购汇总】->【导出】", 0)]
public FileResult ExportTableReportPurchaseWeekView(DateTime? btime, DateTime? etime)
{
report_stock_week_view_search_dto search_data = new report_stock_week_view_search_dto
{
etime = etime,
btime = btime
};
var list = new ReportServices().ReportPurchaseWeekView(search_data);
var time_list = new ReportServices().ReportStockWeekViewGetWeekList(search_data);
DataTable table = new DataTable();
string[] cols = new string[] { "站点", "标签" };
foreach (var item in cols)
{
table.Columns.Add(item);
}
foreach (var item in time_list)
{
table.Columns.Add($"{item}");
}
foreach (var itemDataD in list)
{
DataRow row = table.NewRow();
var itemData = (IDictionary<string, object>)itemDataD;
row["站点"] = itemData["web_site"];
row["标签"] = itemData["tag"];
foreach (var item in time_list)
{
row[$"{item}"] = itemData["val_" + $"{item}"];
}
table.Rows.Add(row);
}
var fileName = AppContext.BaseDirectory + @"Result\RealtimeStock\第三方海外仓采购统计表.csv";
DataTableHelper.SaveCSV(table, fileName);
var memory = new MemoryStream();
using (var stream = new FileStream(fileName, FileMode.Open))
{
stream.CopyTo(memory);
}
memory.Position = 0;
return File(memory, "text/csv", "第三方海外仓采购统计表.csv");
}
public JsonResult ReportStockWeekViewGetWeekList(DateTime? btime, DateTime? etime)
{
......
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