Commit 44a60596 by 泽锋 李

新增刷新采购单理论交期的计算

parent 21208bba
...@@ -1498,7 +1498,7 @@ left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code ...@@ -1498,7 +1498,7 @@ left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
else else
{ {
sql = @" sql = @"
select t1.bailun_sku, select t1.id as 'sysId', t1.create_time as 'create_time', t1.bailun_sku,
t1.warehouse_code as 'warehouse_code', t1.warehouse_code as 'warehouse_code',
t2.warehouse_name as 'warehouse_name', t2.warehouse_name as 'warehouse_name',
t3.sku_title_cn as 'product_title', t3.sku_title_cn as 'product_title',
...@@ -1532,6 +1532,8 @@ t8.distribution_quantity as 'prod_distribution_quantity', ...@@ -1532,6 +1532,8 @@ t8.distribution_quantity as 'prod_distribution_quantity',
t8.prod_quantity as 'prod_quantity' t8.prod_quantity as 'prod_quantity'
from ( select from ( select
t1.id,
t1.create_time,
t1.purchase_id, t1.purchase_id,
t1.`count` as quantity_purchase, t1.`count` as quantity_purchase,
t1.buy_status, t1.buy_status,
...@@ -2161,6 +2163,91 @@ left join dc_lms_order_transfer_current_node as t8 on t1.dataid = t8.data_id and ...@@ -2161,6 +2163,91 @@ left join dc_lms_order_transfer_current_node as t8 on t1.dataid = t8.data_id and
var obj = _connection.Query<dc_base_trans_temp_schedule_dto>(sql, parameters, buffered: false, commandTimeout: 0).AsList(); var obj = _connection.Query<dc_base_trans_temp_schedule_dto>(sql, parameters, buffered: false, commandTimeout: 0).AsList();
return obj; return obj;
} }
//刷新采购单理论交期
public static void ResetPurchaseQuantityNotInbound()
{
var task_name = $"ResetPurchaseQuantityNotInboun_v1";
var conn = MyMySqlConnection._connection; ;
// 查询最后一次成功抓取的记录
var last_task_synchro_log = conn.QuerySingleOrDefault<task_synchro_log>(" select * from task_synchro_log where task_name=@task_name and status=1 order by end_time desc limit 1 ", new { task_name = task_name });
var new_task_synchro_log = new task_synchro_log
{
create_date = DateTime.Now,
end_time = DateTime.Now.AddMinutes(-2),
status = 0,
task_name = task_name
};
if (last_task_synchro_log != null)
{
new_task_synchro_log.start_time = last_task_synchro_log.end_time.AddMinutes(-1);
}
else
{
new_task_synchro_log.start_time = DateTime.Now.AddYears(-1);
}
new_task_synchro_log.id = conn.Insert(new_task_synchro_log) ?? 0;
int count = 0;
int page = 1;
int rows = 1000;
var now = DateTime.Now;
while (true)
{
var datas = conn.Query<dc_base_purchase_ResetPurchaseQuantityNotInbound_dto>($@" select t1.* from dc_base_purchase as t1
where t1.gmt_modified>=@btime and t1.gmt_modified <=@etime
order by t1.gmt_modified asc
limit {(page - 1) * rows},{rows} ", new { btime = new_task_synchro_log.start_time, etime = new_task_synchro_log.end_time }, commandTimeout: 0).ToList();
if (datas.Count <= 0) { break; }
page++;
foreach (var item in datas)
{
DateTime? estimated_arrival_time_aims = item.estimated_arrival_time;
// 计算aims的理论交期
//取采购平均交期
var ave_days = _connection.QueryFirstOrDefault<int?>(" select average_supplier_delivery+inspection_delivery from dc_auto_turnover where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", new
{
bailun_sku = item.bailun_sku,
warehouse_code = item.warehouse_code
});
if (ave_days != null)
{
var temp_estimated_arrival_time_aims = item.create_time.AddDays(ave_days.Value - 1);
if (temp_estimated_arrival_time_aims < estimated_arrival_time_aims)
{
estimated_arrival_time_aims = temp_estimated_arrival_time_aims;
}
}
_connection.Execute(" update dc_base_purchase set estimated_arrival_time_aims=@estimated_arrival_time_aims where id=@id ", new
{
estimated_arrival_time_aims = estimated_arrival_time_aims,
id = item.id
});
}
}
new_task_synchro_log.count = count;
new_task_synchro_log.status = 1;
conn.Update(new_task_synchro_log);
}
public class dc_base_purchase_ResetPurchaseQuantityNotInbound_dto
{
public string bailun_sku { get; set; }
public string warehouse_code { get; set; }
public int id { get; set; }
public DateTime? estimated_arrival_time { get; set; }
public DateTime create_time { get; set; }
}
} }
......
...@@ -1204,6 +1204,7 @@ where t1.bailun_order_status != 'Canceled' ...@@ -1204,6 +1204,7 @@ where t1.bailun_order_status != 'Canceled'
return datas; return datas;
} }
/// <summary> /// <summary>
/// 物流切换拆分 /// 物流切换拆分
/// 多余35天的量,走海运 /// 多余35天的量,走海运
......
...@@ -4152,7 +4152,6 @@ where t2.hq_type='fba仓'").ToList(); ...@@ -4152,7 +4152,6 @@ where t2.hq_type='fba仓'").ToList();
/// </summary> /// </summary>
public static void ResetTransExpectArrivaltime() public static void ResetTransExpectArrivaltime()
{ {
// 查询真实的调拨在途 // 查询真实的调拨在途
var datas = _connection.Query<dc_base_trans_expectarrivaltime_temp>(@"select var datas = _connection.Query<dc_base_trans_expectarrivaltime_temp>(@"select
ifnull(t8.expectarrivaltime,t2.expectarrivaltime) as 'expectarrivaltime', ifnull(t8.expectarrivaltime,t2.expectarrivaltime) as 'expectarrivaltime',
......
...@@ -9,6 +9,8 @@ namespace AutoTurnOver.Models.Report ...@@ -9,6 +9,8 @@ namespace AutoTurnOver.Models.Report
/// </summary> /// </summary>
public class full_link_purchase_dto public class full_link_purchase_dto
{ {
public int sysId { get; set; }
public DateTime create_time { get; set; }
public string bailun_sku { get; set; } public string bailun_sku { get; set; }
public string warehouse_code { get; set; } public string warehouse_code { get; set; }
public string warehouse_name { get; set; } public string warehouse_name { get; set; }
......
...@@ -36,6 +36,7 @@ namespace ResetOutofstock ...@@ -36,6 +36,7 @@ namespace ResetOutofstock
//dc_base_full_link_wait_order_dao.ResetDatas(); //dc_base_full_link_wait_order_dao.ResetDatas();
//dc_base_mother_sku_dao.GenerateData(); //dc_base_mother_sku_dao.GenerateData();
//dc_auto_turnover.set_full_stock_use_days_turnover_sales(dc_auto_turnover.GetModel("250924601", "USFBABLXJ")); //dc_auto_turnover.set_full_stock_use_days_turnover_sales(dc_auto_turnover.GetModel("250924601", "USFBABLXJ"));
} }
catch (Exception ex) catch (Exception ex)
{ {
......
...@@ -382,6 +382,27 @@ namespace ResetOutofstock ...@@ -382,6 +382,27 @@ namespace ResetOutofstock
} }
}); });
Task.Factory.StartNew(() =>
{
while (true)
{
try
{
Console.WriteLine($"开始刷新 采购单理论交期,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
daily.ResetPurchaseQuantityNotInbound();
Console.WriteLine($"结束刷新 采购单理论交期,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
Thread.Sleep(60 * 1000);
}
catch (Exception ex)
{
Console.WriteLine("采购单理论交期:" + ex.Message);
Console.WriteLine("采购单理论交期:" + ex.StackTrace);
}
}
});
......
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