Commit 78333d93 by 泽锋 李

fix

parent 5cfebbff
......@@ -92,12 +92,12 @@ where t1.supplier_id = t2.suppliers_id ";
/// <param name="sku"></param>
/// <param name="warehousecode"></param>
/// <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();
parameters.Add("bailun_sku", sku);
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
/// <returns></returns>
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 });
if (inbound_data == null) return new List<dc_estimated_arrival_dto>();
else
......
......@@ -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()
{
......
......@@ -69,4 +69,97 @@ namespace AutoTurnOver.Models
/// </summary>
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
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);
}
......
......@@ -66,8 +66,9 @@ namespace AutoTurnOver.Controllers
warehouse_code = warehousecode
});
var now = DateTime.Now;
var date = new List<string>();
var today = turnover_date.AddDays(-7);
var today = turnover_date.AddDays(-30);
var weeks = new List<dynamic>();
var sales_day_configs = new List<dynamic>();
for (var i = 0; i < count; i++)
......@@ -75,9 +76,9 @@ namespace AutoTurnOver.Controllers
var dateI = today.AddDays(i);
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 weekItem = dc_base_week_coefficient_datas.FirstOrDefault(s => s.week == (int)dateI.DayOfWeek);
......@@ -89,8 +90,9 @@ namespace AutoTurnOver.Controllers
{
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);
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 });
}
......@@ -98,6 +100,7 @@ namespace AutoTurnOver.Controllers
{
sales_day_configs.Add(new { date = date_str, id = 0, val = 0 });
}
}
......@@ -111,7 +114,7 @@ namespace AutoTurnOver.Controllers
// 计算到周转期前一天的累计销量
decimal turnoverDatecumulativeSales = 0;
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);
turnoverDatecumulativeSales += salesList[i];
......@@ -122,13 +125,13 @@ namespace AutoTurnOver.Controllers
// 累计预计到货
decimal turnoverDatepurchase = 0;
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];
}
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_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
}
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("");
}
// 当日预测销量
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
{
turnoverDateStr = turnoverDate.ToString("yyyy-MM-dd"), // 取值日期
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, // 累计销量
nowStr = DateTime.Now.ToString("yyyy-MM-dd"), // 今天的日期
nowShortage = (int)result[6].ToObj<List<decimal>>()[7], // 今天的实际缺货
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),
nowDateStock = (int)result[5].ToObj<List<decimal>>()[7], // 今天的预测库存
turnoverDatepurchase = turnoverDatepurchase // 累计预计到货
......
......@@ -105,7 +105,7 @@ namespace ResetOutofstock
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")}");
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