Commit 9b6dcb97 by 泽锋 李

新增商品报表在途数据维护服务

parent aa1445ea
......@@ -4289,5 +4289,85 @@ truncate table dc_report_goods_temp;
conn.Update(new_task_synchro_log);
}
/// <summary>
/// 刷新商品报表的在途字段
/// </summary>
public static void SynchroReportGoodsOnTheWayData()
{
if (DateTime.Now.Hour < 1)
{
return;
}
var task_name = "SynchroReportGoodsOnTheWayData_v1";
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
{
create_date = DateTime.Now,
end_time = DateTime.Now.AddMinutes(-3),
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.ToDayHome();
}
new_task_synchro_log.id = conn.Insert(new_task_synchro_log) ?? 0;
int count = 0;
var page = 1;
var rows = 1000;
while (true)
{
var datas = _connection.Query<SynchroReportGoodsStockDataDto>($@" select t2.product_code,t1.warehouse_code from dc_mid_transit as t1 left join dc_base_sku as t2 on t1.bailun_sku = t2.bailun_sku
where (t1.gmt_purchase_modified>=@start_time and t1.gmt_purchase_modified<=@end_time) or (t1.gmt_transfer_modified>=@start_time and t1.gmt_transfer_modified<=@end_time) limit {(page - 1) * rows},{rows} ", new
{
end_time = new_task_synchro_log.end_time,
start_time = new_task_synchro_log.start_time
}).ToList();
if (datas == null || datas.Count <= 0)
{
break;
}
page++;
foreach (var item in datas)
{
var dc_report_goods_data = _connection.QuerySingleOrDefault<dc_report_goods>(" select * from dc_report_goods where product_code=@product_code and warehouse_code=@warehouse_code ", new
{
product_code = item.product_code,
warehouse_code = item.warehouse_code
});
if (dc_report_goods_data != null)
{
// 查询商品库存
dc_report_goods_data.on_the_way_quantity = _connection.QuerySingleOrDefault<int?>(@" select sum(quantity_purchase+quantity_transfer) from dc_mid_transit as t1 left join dc_base_sku as t2 on t1.bailun_sku = t2.bailun_sku where t2.product_code=@product_code and t1.warehouse_code=@warehouse_code ", new
{
product_code = item.product_code,
warehouse_code = item.warehouse_code
}) ?? 0;
dc_report_goods_data.on_the_way_quantity_update_time = DateTime.Now;
_connection.Update<dc_report_goods>(dc_report_goods_data);
}
count++;
}
}
new_task_synchro_log.count = count;
new_task_synchro_log.status = 1;
conn.Update(new_task_synchro_log);
}
}
}
......
......@@ -18,6 +18,7 @@ namespace AutoTurnOver.Models
public int stock { get; set; }
public DateTime? stock_update_time { get; set; }
public int on_the_way_quantity { get; set; }
public DateTime? on_the_way_quantity_update_time { get; set; }
public decimal unit_price { get; set; }
public decimal weight { get; set; }
public string buyer_name { get; set; }
......
......@@ -32,7 +32,7 @@ namespace ResetOutofstock
//dc_aims_transfer_warehouse_dao.TransferWarehouseTask();
//daily.ResetFbaExtendReview(DateTime.Now);
//report.PurchaseWeekBackUp();
//report.SynchroReportGoodsStockData();
report.SynchroReportGoodsOnTheWayData();
//dc_auto_turnover.ResetHistory();
}
......
......@@ -233,6 +233,7 @@ namespace ResetOutofstock
Thread.Sleep(10 * 60 * 1000);
}
});
Task.Factory.StartNew(() =>
{
while (true)
......@@ -241,6 +242,7 @@ namespace ResetOutofstock
{
Console.WriteLine($"开始刷新 商品报表库存字段增量刷新,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
report.SynchroReportGoodsStockData();
report.SynchroReportGoodsOnTheWayData();
Console.WriteLine($"结束刷新 商品报表库存字段增量刷新,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
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