Commit afb9e3ff by 泽锋 李

调拨暂存数据改成全量抓

parent 86b82c55
......@@ -12,31 +12,48 @@ namespace AutoTurnOver.DB
/// <summary>
/// 从调拨系统同步数据
/// </summary>
public static void SynchroTransTempScheduleData()
public static void SynchroTransTempScheduleData(bool is_all = false)
{
var task_name = "SynchroTransTempScheduleData_v5";
var conn = _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
// 查询最后一次成功抓取的记录
task_synchro_log new_task_synchro_log = null;
if (!is_all)
{
create_date = DateTime.Now,
end_time = DateTime.Now,
status = 0,
task_name = task_name
};
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 });
if (last_task_synchro_log != null)
{
new_task_synchro_log.start_time = last_task_synchro_log.end_time.AddMinutes(-1);
new_task_synchro_log = new task_synchro_log
{
create_date = DateTime.Now,
end_time = DateTime.Now,
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 = new DateTime(2001, 05, 14);
}
new_task_synchro_log.id = conn.Insert(new_task_synchro_log) ?? 0;
}
else
{
new_task_synchro_log.start_time = new DateTime(2001, 05, 14);
new_task_synchro_log = new task_synchro_log
{
create_date = DateTime.Now,
end_time = DateTime.Now,
status = 0,
task_name = task_name,
start_time = new DateTime(2015, 05, 14)
};
}
new_task_synchro_log.id = conn.Insert(new_task_synchro_log) ?? 0;
int count = 0;
......@@ -53,13 +70,13 @@ namespace AutoTurnOver.DB
foreach (var item in datas)
{
if(item.code!=null && item.code.Contains("-"))
if (item.code != null && item.code.Contains("-"))
{
continue;
}
foreach (var itemSku in item.allotScheduleProducts)
{
if (itemSku.sku == "945333402" && item.targetWareNo== "GBFBABLA")
if (itemSku.sku == "945333402" && item.targetWareNo == "GBFBABLA")
{
}
......@@ -113,7 +130,7 @@ namespace AutoTurnOver.DB
var temp_datas = _connection.Query<temp_sum_dto>(@"select sku_ware_no,sku as 'bailun_sku',target_ware_no as 'warehouse_code',sum(product_num) as 'count' from dc_base_trans_temp_schedule
where is_delete=0 and is_temp_data=1 and is_exception=0 and create_state=@create_state
and sku_ware_no in @sku_ware_nos
GROUP BY sku_ware_no", new { sku_ware_nos = data_skus.Select(s=>s.sku_ware_no).Distinct().ToList(), create_state =(int)dc_base_trans_temp_schedule_create_state_enum.未创建 });
GROUP BY sku_ware_no", new { sku_ware_nos = data_skus.Select(s => s.sku_ware_no).Distinct().ToList(), create_state = (int)dc_base_trans_temp_schedule_create_state_enum.未创建 });
foreach (var item in temp_datas)
{
......@@ -130,9 +147,9 @@ GROUP BY sku_ware_no", new { sku_ware_nos = data_skus.Select(s=>s.sku_ware_no).D
}
var data_0 = data_skus.Where(s => !temp_datas.Any(v => v.sku_ware_no == s.sku_ware_no)).ToList();
if (data_0 != null && data_0.Count>=1)
if (data_0 != null && data_0.Count >= 1)
{
foreach (var item in data_0.Select(s=>new { s.sku,s.target_ware_no}).Distinct())
foreach (var item in data_0.Select(s => new { s.sku, s.target_ware_no }).Distinct())
{
if (item.sku == "945333402" && item.target_ware_no == "GBFBABLA")
{
......@@ -184,9 +201,13 @@ GROUP BY sku_ware_no", new { sku_ware_nos = data_skus.Select(s => s.sku_ware_no)
}
}
new_task_synchro_log.count = count;
new_task_synchro_log.status = 1;
conn.Update(new_task_synchro_log);
if (!is_all)
{
new_task_synchro_log.count = count;
new_task_synchro_log.status = 1;
conn.Update(new_task_synchro_log);
}
}
public class temp_sum_dto
......
......@@ -36,7 +36,8 @@ namespace ResetOutofstock
//dc_auto_turnover.ResetHistory();
//dc_auto_turnover.CopyForecast();
}
}
catch (Exception ex)
{
......
......@@ -51,6 +51,26 @@ namespace ResetOutofstock
{
try
{
Console.WriteLine($"开始 同步调拨 采购临时数据(全量) ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
dc_base_trans_temp_schedule_dao.SynchroTransTempScheduleData(true);
Console.WriteLine($"结束 同步调拨 采购临时数据(全量) ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
}
Thread.Sleep(10 * 60 * 1000);
}
});
Task.Factory.StartNew(() =>
{
while (true)
{
try
{
Console.WriteLine($"开始 同步生产订单数据 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
dc_base_prod_order_dao.SynchroData();
Console.WriteLine($"结束 同步生产订单数据 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
......
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