Commit 3d6244dc by 泽锋 李

fix

parent 835e7629
...@@ -489,13 +489,13 @@ from dc_auto_turnover as dat ...@@ -489,13 +489,13 @@ from dc_auto_turnover as dat
{ {
var now = DateTime.Now; var now = DateTime.Now;
var init_date = DateTime.Parse(now.ToString("yyyy-MM-dd 05:00:00")); var init_date = DateTime.Parse(now.ToString("yyyy-MM-dd 05:00:00"));
if(now> init_date) if (now > init_date)
{ {
var init_now = DateTime.Now.ToDayHome(); var init_now = DateTime.Now.ToDayHome();
var end_date = DateTime.Parse(now.ToString("yyyy-MM-dd 23:00:00")); var end_date = DateTime.Parse(now.ToString("yyyy-MM-dd 23:00:00"));
var total = _connection.QueryFirstOrDefault<int>(" select count(1) from dc_auto_turnover where gmt_modified<@init_now ",new { init_now }); var total = _connection.QueryFirstOrDefault<int>(" select count(1) from dc_auto_turnover where gmt_modified<@init_now ", new { init_now });
var rows = (int)Math.Floor(total / ((end_date- now).TotalMinutes / 11 )); var rows = (int)Math.Floor(total / ((end_date - now).TotalMinutes / 11));
var datas = _connection.Query<ResetHistoryDto>(" select bailun_sku,warehouse_code from dc_auto_turnover where gmt_modified<@init_now limit @rows ", new { init_now,rows }).ToList(); var datas = _connection.Query<ResetHistoryDto>(" select bailun_sku,warehouse_code from dc_auto_turnover where gmt_modified<@init_now limit @rows ", new { init_now, rows }).ToList();
if (datas != null) if (datas != null)
{ {
foreach (var item in datas) foreach (var item in datas)
...@@ -513,7 +513,7 @@ from dc_auto_turnover as dat ...@@ -513,7 +513,7 @@ from dc_auto_turnover as dat
} }
} }
} }
} }
public class ResetHistoryDto public class ResetHistoryDto
{ {
...@@ -1029,7 +1029,7 @@ select t7_1.warehouse_code,t7_1.bailun_sku,(to_days(t7_1.estimated_arrival_time) ...@@ -1029,7 +1029,7 @@ select t7_1.warehouse_code,t7_1.bailun_sku,(to_days(t7_1.estimated_arrival_time)
/// </summary> /// </summary>
public static void CopyForecast() public static void CopyForecast()
{ {
_connection.Execute(@"REPLACE INTO dc_base_forecast_history(`bailun_sku`,`warehouse_code`,`bailun_sku_warehouse_code`,`date`,`date_str`,`create_date`,`sales`,`turnover_days`,`quantity_safe_inventory`,`supplier_delivery`,`transfer_config_delivery`,`transfer_bale_config_delivery`,`abroad_inbound_config_delivery`,`inspection_config_delivery`,`inspection_delivery`,`transfer_delivery`,`daily_weighted_sales`,`transfer_bale_delivery`,`abroad_inbound_delivery`) _connection.Execute(@"REPLACE INTO dc_base_forecast_history(`bailun_sku`,`warehouse_code`,`bailun_sku_warehouse_code`,`date`,`date_str`,`create_date`,`sales`,`turnover_days`,`quantity_safe_inventory`,`supplier_delivery`,`transfer_config_delivery`,`transfer_bale_config_delivery`,`abroad_inbound_config_delivery`,`inspection_config_delivery`,`inspection_delivery`,`transfer_delivery`,`daily_weighted_sales`,`transfer_bale_delivery`,`abroad_inbound_delivery`,`quantity_final_advise`)
( (
select select
bailun_sku, bailun_sku,
...@@ -1050,10 +1050,11 @@ inspection_delivery as 'inspection_delivery', ...@@ -1050,10 +1050,11 @@ inspection_delivery as 'inspection_delivery',
transfer_delivery as 'transfer_delivery', transfer_delivery as 'transfer_delivery',
daily_weighted_sales as 'daily_weighted_sales', daily_weighted_sales as 'daily_weighted_sales',
transfer_bale_delivery as 'transfer_bale_delivery', transfer_bale_delivery as 'transfer_bale_delivery',
abroad_inbound_delivery as 'abroad_inbound_delivery' abroad_inbound_delivery as 'abroad_inbound_delivery',
quantity_final_advise as 'quantity_final_advise'
from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime
) )
", new { btime = DateTime.Now.ToDayHome(), etime = DateTime.Now.ToDayEnd() }); ", new { btime = DateTime.Now.ToDayHome(), etime = DateTime.Now.ToDayEnd() },commandTimeout:0);
} }
/// <summary> /// <summary>
...@@ -1065,11 +1066,11 @@ from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime ...@@ -1065,11 +1066,11 @@ from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime
var sql = " select * from dc_base_order_data_source as t1 where 1=1 "; var sql = " select * from dc_base_order_data_source as t1 where 1=1 ";
var countSql = " select count(1) from dc_base_order_data_source as t1 where 1=1 "; var countSql = " select count(1) from dc_base_order_data_source as t1 where 1=1 ";
DynamicParameters parameters = new DynamicParameters(); DynamicParameters parameters = new DynamicParameters();
if(!string.IsNullOrWhiteSpace(searchData.bailun_sku)) if (!string.IsNullOrWhiteSpace(searchData.bailun_sku))
{ {
sql += " and t1.bailun_sku=@bailun_sku "; sql += " and t1.bailun_sku=@bailun_sku ";
countSql += " and t1.bailun_sku=@bailun_sku "; countSql += " and t1.bailun_sku=@bailun_sku ";
parameters.Add("bailun_sku",searchData.bailun_sku); parameters.Add("bailun_sku", searchData.bailun_sku);
} }
if (!string.IsNullOrWhiteSpace(searchData.warehouse_code)) if (!string.IsNullOrWhiteSpace(searchData.warehouse_code))
{ {
...@@ -1091,7 +1092,7 @@ from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime ...@@ -1091,7 +1092,7 @@ from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime
/// <summary> /// <summary>
/// 更新采购建议 /// 更新采购建议
/// </summary> /// </summary>
public static void ResetPurchaseAdviseSingle(string bailun_sku,string warehouse_code,string remarks) public static void ResetPurchaseAdviseSingle(string bailun_sku, string warehouse_code, string remarks)
{ {
_connection.Insert(new dc_base_queue _connection.Insert(new dc_base_queue
{ {
...@@ -1123,18 +1124,71 @@ from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime ...@@ -1123,18 +1124,71 @@ from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime
/// <returns></returns> /// <returns></returns>
public static List<transfer_profit_dto> TransferProfitList(string bailun_sku, string warehouse_code) public static List<transfer_profit_dto> TransferProfitList(string bailun_sku, string warehouse_code)
{ {
List<transfer_profit_dto> datas = new List<transfer_profit_dto>() { List<transfer_profit_dto> datas = new List<transfer_profit_dto>() {
new transfer_profit_dto{ name ="采购单价",days = new List<transfer_profit_dto.day_dto>()} new transfer_profit_dto{ name ="采购单价",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际建议周转数",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际建议周转金额",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际周转数",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际周转运费",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际运费单价",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="海运周转数(推荐海运)",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="海运周转金额",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="海运周转运费",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="空运周转数(推荐空运)",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="空运周转金额",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="空运周转运费",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际-海运运费差值",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际-海运周转采购金额差值",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="差值(海运)-实际周转采购金额占比",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际-空运运费差值",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="实际-空运周转采购金额差值",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="差值(空运)-实际周转采购金额占比",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="海运-空运运费差值",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="海运-空运周转采购金额差值",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="差值(海运-空运)-实际周转采购金额占比",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="安全库存数量",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="空运周转天数",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="海运周转天数",days = new List<transfer_profit_dto.day_dto>()},
}; };
var result = GetModel(bailun_sku, warehouse_code); var result = GetModel(bailun_sku, warehouse_code);
var sales_details = result.sales_details.ToObj<List<decimal>>().Select(s => (int)Math.Ceiling(s)).ToList(); var sales_details = result.sales_details.ToObj<List<decimal>>().Select(s => (int)Math.Ceiling(s)).ToList();
var btime = DateTime.Now.AddDays(-30); var btime = DateTime.Now.AddDays(-30);
var etime = DateTime.Now.AddDays(sales_details.Count-7); var etime = DateTime.Now.AddDays(sales_details.Count - 7);
var this_time = btime; var this_time = btime;
while (this_time.ToDayHome()<= etime.ToDayEnd()) var now = DateTime.Now.ToDayHome();
var index = 0;
while (this_time.ToDayHome() <= etime.ToDayEnd())
{ {
var this_time_end = this_time.ToDayEnd();
// 预测未来
if (this_time_end >= now)
{
}
else // 过去
{
datas.FirstOrDefault(s => s.name == "采购单价").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = _connection.QueryFirstOrDefault<decimal?>(" select unit_price from dc_base_purchase_details where warehouse_into_code=@warehouse_into_code and bailun_sku=@bailun_sku and status!=-1 and create_time<=@btime limit 1 ", new
{
warehouse_into_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
btime = this_time_end
})
});
datas.FirstOrDefault(s => s.name == "实际建议周转数").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = _connection.QueryFirstOrDefault<decimal?>(" select unit_price from dc_base_purchase_details where warehouse_into_code=@warehouse_into_code and bailun_sku=@bailun_sku and status!=-1 and create_time<=@btime limit 1 ", new
{
warehouse_into_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
btime = this_time_end
})
});
}
index++;
this_time = this_time.AddDays(1); this_time = this_time.AddDays(1);
} }
......
...@@ -16,7 +16,7 @@ namespace AutoTurnOver.Models ...@@ -16,7 +16,7 @@ namespace AutoTurnOver.Models
return date.ToString("MM-dd"+$"{Sinicization(date.DayOfWeek)}"); return date.ToString("MM-dd"+$"{Sinicization(date.DayOfWeek)}");
} } } }
public decimal val { get; set; } public decimal? val { get; set; }
} }
public static string Sinicization(DayOfWeek week) public static string Sinicization(DayOfWeek week)
......
...@@ -35,7 +35,7 @@ namespace ResetOutofstock ...@@ -35,7 +35,7 @@ namespace ResetOutofstock
//report.GenerateReportPlatformGoods(); //report.GenerateReportPlatformGoods();
//dc_auto_turnover.ResetHistory(); //dc_auto_turnover.ResetHistory();
//dc_auto_turnover.CopyForecast();
} }
catch (Exception ex) catch (Exception ex)
{ {
......
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