Commit 44a60596 by 泽锋 李

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

parent 21208bba
......@@ -1498,7 +1498,7 @@ left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
else
{
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',
t2.warehouse_name as 'warehouse_name',
t3.sku_title_cn as 'product_title',
......@@ -1532,6 +1532,8 @@ t8.distribution_quantity as 'prod_distribution_quantity',
t8.prod_quantity as 'prod_quantity'
from ( select
t1.id,
t1.create_time,
t1.purchase_id,
t1.`count` as quantity_purchase,
t1.buy_status,
......@@ -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();
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'
return datas;
}
/// <summary>
/// 物流切换拆分
/// 多余35天的量,走海运
......
......@@ -4152,7 +4152,6 @@ where t2.hq_type='fba仓'").ToList();
/// </summary>
public static void ResetTransExpectArrivaltime()
{
// 查询真实的调拨在途
var datas = _connection.Query<dc_base_trans_expectarrivaltime_temp>(@"select
ifnull(t8.expectarrivaltime,t2.expectarrivaltime) as 'expectarrivaltime',
......
......@@ -9,6 +9,8 @@ namespace AutoTurnOver.Models.Report
/// </summary>
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 warehouse_code { get; set; }
public string warehouse_name { get; set; }
......
......@@ -36,6 +36,7 @@ namespace ResetOutofstock
//dc_base_full_link_wait_order_dao.ResetDatas();
//dc_base_mother_sku_dao.GenerateData();
//dc_auto_turnover.set_full_stock_use_days_turnover_sales(dc_auto_turnover.GetModel("250924601", "USFBABLXJ"));
}
catch (Exception ex)
{
......
......@@ -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