Commit 78333d93 by 泽锋 李

fix

parent 5cfebbff
...@@ -92,12 +92,12 @@ where t1.supplier_id = t2.suppliers_id "; ...@@ -92,12 +92,12 @@ where t1.supplier_id = t2.suppliers_id ";
/// <param name="sku"></param> /// <param name="sku"></param>
/// <param name="warehousecode"></param> /// <param name="warehousecode"></param>
/// <returns></returns> /// <returns></returns>
public static dc_average_warehouse GetWarehouse(string sku, string warehousecode) public static dc_average_warehouse_dto GetWarehouse(string sku, string warehousecode)
{ {
DynamicParameters parameters = new DynamicParameters(); DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_sku", sku); parameters.Add("bailun_sku", sku);
parameters.Add("warehouse_code", warehousecode); parameters.Add("warehouse_code", warehousecode);
return _connection.QueryFirstOrDefault<dc_average_warehouse>("select * from dc_average_warehouse where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku ", parameters); return _connection.QueryFirstOrDefault<dc_average_warehouse_dto>("select * from dc_average_warehouse where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku ", parameters);
} }
......
...@@ -208,6 +208,7 @@ UNION ALL ...@@ -208,6 +208,7 @@ UNION ALL
/// <returns></returns> /// <returns></returns>
public static List<dc_estimated_arrival_dto> EstimatedArrivalList(string sku, string warehouse_code, int index) public static List<dc_estimated_arrival_dto> EstimatedArrivalList(string sku, string warehouse_code, int index)
{ {
index -= 23;
var inbound_data = _connection.QueryFirstOrDefault<dc_auto_inbound>(" select * from dc_auto_inbound where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", new { bailun_sku = sku, warehouse_code = warehouse_code }); var inbound_data = _connection.QueryFirstOrDefault<dc_auto_inbound>(" select * from dc_auto_inbound where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", new { bailun_sku = sku, warehouse_code = warehouse_code });
if (inbound_data == null) return new List<dc_estimated_arrival_dto>(); if (inbound_data == null) return new List<dc_estimated_arrival_dto>();
else else
......
...@@ -482,7 +482,14 @@ from dc_auto_turnover as dat ...@@ -482,7 +482,14 @@ from dc_auto_turnover as dat
} }
/// <summary>
/// 刷新历史数据
/// </summary>
public static void ResetHistory()
{
var init_now = DateTime.Now.ToDayHome();
var total = _connection.Query<int>(" select count(1) from dc_auto_turnover ");
}
public static IEnumerable<string> GetLabelList() public static IEnumerable<string> GetLabelList()
{ {
......
...@@ -69,4 +69,97 @@ namespace AutoTurnOver.Models ...@@ -69,4 +69,97 @@ namespace AutoTurnOver.Models
/// </summary> /// </summary>
public int order_count_3 { get; set; } public int order_count_3 { get; set; }
} }
public class dc_average_warehouse_dto : dc_average_warehouse
{
public decimal product_count_2_ratio
{
get
{
if (product_count > 0 && product_count_2 > 0)
{
return Math.Round(((decimal)product_count_2) / product_count, 4);
}
else
{
return 0M;
}
}
}
public string product_count_2_ratio_str
{
get
{
return product_count_2_ratio.ToString("p");
}
}
public decimal order_count_2_ratio
{
get
{
if (order_count > 0 && order_count_2 > 0)
{
return Math.Round(((decimal)order_count_2) / order_count, 4);
}
else
{
return 0M;
}
}
}
public string order_count_2_ratio_str
{
get
{
return order_count_2_ratio.ToString("p");
}
}
public decimal product_count_3_ratio
{
get
{
if (product_count > 0 && product_count_3 > 0)
{
return Math.Round(((decimal)product_count_3) / product_count, 4);
}
else
{
return 0M;
}
}
}
public string product_count_3_ratio_str
{
get
{
return product_count_3_ratio.ToString("p");
}
}
public decimal order_count_3_ratio
{
get
{
if (order_count > 0 && order_count_3 > 0)
{
return Math.Round(((decimal)order_count_3) / order_count, 4);
}
else
{
return 0M;
}
}
}
public string order_count_3_ratio_str
{
get
{
return order_count_3_ratio.ToString("p");
}
}
}
} }
...@@ -563,7 +563,7 @@ namespace AutoTurnOver.Services ...@@ -563,7 +563,7 @@ namespace AutoTurnOver.Services
return AveragePurchase.GetList(supplier_ids, bailun_skus); return AveragePurchase.GetList(supplier_ids, bailun_skus);
} }
public static dc_average_warehouse GetWarehouse(string sku, string warehouse_code) public static dc_average_warehouse_dto GetWarehouse(string sku, string warehouse_code)
{ {
return AveragePurchase.GetWarehouse(sku, warehouse_code); return AveragePurchase.GetWarehouse(sku, warehouse_code);
} }
......
...@@ -66,8 +66,9 @@ namespace AutoTurnOver.Controllers ...@@ -66,8 +66,9 @@ namespace AutoTurnOver.Controllers
warehouse_code = warehousecode warehouse_code = warehousecode
}); });
var now = DateTime.Now;
var date = new List<string>(); var date = new List<string>();
var today = turnover_date.AddDays(-7); var today = turnover_date.AddDays(-30);
var weeks = new List<dynamic>(); var weeks = new List<dynamic>();
var sales_day_configs = new List<dynamic>(); var sales_day_configs = new List<dynamic>();
for (var i = 0; i < count; i++) for (var i = 0; i < count; i++)
...@@ -75,9 +76,9 @@ namespace AutoTurnOver.Controllers ...@@ -75,9 +76,9 @@ namespace AutoTurnOver.Controllers
var dateI = today.AddDays(i); var dateI = today.AddDays(i);
date.Add(dateI.ToString("MM/dd")); date.Add(dateI.ToString("MM/dd"));
} }
for (var i = -7; i < count; i++) for (var i = -30; i < count; i++)
{ {
var dateI = today.AddDays(i + 7); var dateI = today.AddDays(i + 30);
var date_str = dateI.ToString("yyyy-MM-dd"); var date_str = dateI.ToString("yyyy-MM-dd");
var weekItem = dc_base_week_coefficient_datas.FirstOrDefault(s => s.week == (int)dateI.DayOfWeek); var weekItem = dc_base_week_coefficient_datas.FirstOrDefault(s => s.week == (int)dateI.DayOfWeek);
...@@ -89,8 +90,9 @@ namespace AutoTurnOver.Controllers ...@@ -89,8 +90,9 @@ namespace AutoTurnOver.Controllers
{ {
weeks.Add(new { value = 1, date = dateI.ToString("MM/dd"), formula = "-", val = "-" }); weeks.Add(new { value = 1, date = dateI.ToString("MM/dd"), formula = "-", val = "-" });
} }
var sales_day_configItem = sales_day_config_datas.FirstOrDefault(s => s.date_str == date_str); var sales_day_configItem = sales_day_config_datas.FirstOrDefault(s => s.date_str == date_str);
if (sales_day_configItem != null) if (sales_day_configItem != null && dateI.ToDayEnd() > now.ToDayHome())
{ {
sales_day_configs.Add(new { date = date_str, id = sales_day_configItem.id, val = sales_day_configItem.sales }); sales_day_configs.Add(new { date = date_str, id = sales_day_configItem.id, val = sales_day_configItem.sales });
} }
...@@ -98,6 +100,7 @@ namespace AutoTurnOver.Controllers ...@@ -98,6 +100,7 @@ namespace AutoTurnOver.Controllers
{ {
sales_day_configs.Add(new { date = date_str, id = 0, val = 0 }); sales_day_configs.Add(new { date = date_str, id = 0, val = 0 });
} }
} }
...@@ -111,7 +114,7 @@ namespace AutoTurnOver.Controllers ...@@ -111,7 +114,7 @@ namespace AutoTurnOver.Controllers
// 计算到周转期前一天的累计销量 // 计算到周转期前一天的累计销量
decimal turnoverDatecumulativeSales = 0; decimal turnoverDatecumulativeSales = 0;
var salesList = result[0].ToObj<List<decimal>>(); var salesList = result[0].ToObj<List<decimal>>();
for (int i = 7; i < turnoverData.turnover_days + 7 - 1; i++) for (int i = 30; i < turnoverData.turnover_days + 30 - 1; i++)
{ {
//salesList[i] = Math.Round(salesList[i] * weeks[i].value, 0); //salesList[i] = Math.Round(salesList[i] * weeks[i].value, 0);
turnoverDatecumulativeSales += salesList[i]; turnoverDatecumulativeSales += salesList[i];
...@@ -122,13 +125,13 @@ namespace AutoTurnOver.Controllers ...@@ -122,13 +125,13 @@ namespace AutoTurnOver.Controllers
// 累计预计到货 // 累计预计到货
decimal turnoverDatepurchase = 0; decimal turnoverDatepurchase = 0;
var purchaseList = result[3].ToObj<List<decimal>>(); var purchaseList = result[3].ToObj<List<decimal>>();
for (int i = 7; i < turnoverData.turnover_days + 7; i++) for (int i = 30; i < turnoverData.turnover_days + 30; i++)
{ {
turnoverDatepurchase += purchaseList[i]; turnoverDatepurchase += purchaseList[i];
} }
var forecast_history_btime = turnoverData.gmt_modified.AddDays(-7).ToDayHome(); var forecast_history_btime = turnoverData.gmt_modified.AddDays(-30).ToDayHome();
var forecast_history_etime = turnoverData.gmt_modified.AddDays(-1).ToDayEnd(); var forecast_history_etime = turnoverData.gmt_modified.AddDays(-1).ToDayEnd();
// 查询历史预测销量 // 查询历史预测销量
var forecast_historys = connectionHelper._connection.Query<dc_base_forecast_history>(" select * from dc_base_forecast_history where bailun_sku_warehouse_code=@bailun_sku_warehouse_code and `date`>=@btime and `date`<=@etime ", new var forecast_historys = connectionHelper._connection.Query<dc_base_forecast_history>(" select * from dc_base_forecast_history where bailun_sku_warehouse_code=@bailun_sku_warehouse_code and `date`>=@btime and `date`<=@etime ", new
...@@ -153,24 +156,24 @@ namespace AutoTurnOver.Controllers ...@@ -153,24 +156,24 @@ namespace AutoTurnOver.Controllers
} }
this_forecast_history_date = this_forecast_history_date.AddDays(1); this_forecast_history_date = this_forecast_history_date.AddDays(1);
} }
for (int i = 0; i < weeks.Count - 7; i++) for (int i = 0; i < weeks.Count - 30; i++)
{ {
forecast_history_sales.Add(""); forecast_history_sales.Add("");
} }
// 当日预测销量 // 当日预测销量
var turnoverDateSales = (int)result[0].ToObj<List<decimal>>()[turnoverData.turnover_days + 7 - 1]; var turnoverDateSales = (int)result[0].ToObj<List<decimal>>()[turnoverData.turnover_days + 30 - 1];
var buyFormula = new var buyFormula = new
{ {
turnoverDateStr = turnoverDate.ToString("yyyy-MM-dd"), // 取值日期 turnoverDateStr = turnoverDate.ToString("yyyy-MM-dd"), // 取值日期
turnoverDateSales = turnoverDateSales, // 当日预测销量 turnoverDateSales = turnoverDateSales, // 当日预测销量
turnoverDateStock = (int)result[4].ToObj<List<decimal>>()[turnoverData.turnover_days + 7 - 1], // 当日预测库存, turnoverDateStock = (int)result[4].ToObj<List<decimal>>()[turnoverData.turnover_days + 30 - 1], // 当日预测库存,
turnoverDatecumulativeSales = (int)turnoverDatecumulativeSales, // 累计销量 turnoverDatecumulativeSales = (int)turnoverDatecumulativeSales, // 累计销量
nowStr = DateTime.Now.ToString("yyyy-MM-dd"), // 今天的日期 nowStr = DateTime.Now.ToString("yyyy-MM-dd"), // 今天的日期
nowShortage = (int)result[6].ToObj<List<decimal>>()[7], // 今天的实际缺货 nowShortage = (int)result[6].ToObj<List<decimal>>()[7], // 今天的实际缺货
cumulativeShortageDate = turnoverDate.AddDays(-1).ToString("yyyy-MM-dd"),// 一直到周转期前一天的日期 cumulativeShortageDate = turnoverDate.AddDays(-1).ToString("yyyy-MM-dd"),// 一直到周转期前一天的日期
cumulativeShortage = (int)result[6].ToObj<List<decimal>>()[turnoverData.turnover_days + 7 - 1], // 一直到周转期前一天的累计缺货 cumulativeShortage = (int)result[6].ToObj<List<decimal>>()[turnoverData.turnover_days + 30 - 1], // 一直到周转期前一天的累计缺货
average_overdue = Math.Max(0, turnoverData.average_overdue), average_overdue = Math.Max(0, turnoverData.average_overdue),
nowDateStock = (int)result[5].ToObj<List<decimal>>()[7], // 今天的预测库存 nowDateStock = (int)result[5].ToObj<List<decimal>>()[7], // 今天的预测库存
turnoverDatepurchase = turnoverDatepurchase // 累计预计到货 turnoverDatepurchase = turnoverDatepurchase // 累计预计到货
......
...@@ -105,7 +105,7 @@ namespace ResetOutofstock ...@@ -105,7 +105,7 @@ namespace ResetOutofstock
Console.WriteLine($"结束刷新 现金流 sku 报表 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"结束刷新 现金流 sku 报表 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
} }
if (now.Hour == 21 && now.Minute == 01) if (now.Hour == 23 && now.Minute == 50)
{ {
Console.WriteLine($"开始拷贝 周转预测值 报表 数据,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"开始拷贝 周转预测值 报表 数据,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
dc_auto_turnover.CopyForecast(); dc_auto_turnover.CopyForecast();
......
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