Commit 2706f669 by 泽锋 李

开启计算头程平均值的任务

parent 20eaae20
......@@ -34,16 +34,24 @@ GROUP BY t1.bailun_sku,t1.warehouse_code,t1.supplier_id ", new { c_time = DateT
//return _connection.Query<temp_sku_dto>("select t1.bailun_sku,t1.warehouse_code,t1.supplier_id from dc_base_purchase as t1 where t1.update_time>=@time group by t1.bailun_sku,t1.warehouse_code,t1.supplier_id ", parameters);
}
public static IEnumerable<temp_sku_dto> GetTransferChangeSku(int day)
public static IEnumerable<temp_sku_dto> GetTransferChangeSku(int day,string bailun_sku = "")
{
DynamicParameters parameters = new DynamicParameters();
parameters.Add("time", DateTime.Now.AddDays(0 - day).ToString("yyyy-MM-dd 00:00:00"));
return _connection.Query<temp_sku_dto>(@"select t2.hq_type,tsku.sku as 'bailun_sku',t1.targetwareno as 'warehouse_code'
parameters.Add("c_time", DateTime.Now.AddDays(0 - day).ToString("yyyy-MM-dd 00:00:00"));
var sql = @"select t2.hq_type,tsku.sku as 'bailun_sku',t1.targetwareno as 'warehouse_code'
from dc_base_transfer_info as t1
left join dc_base_transfer_info_skus as tsku on t1.dataid = tsku.dataid
left join dc_base_warehouse as t2 on t1.targetwareno = t2.warehouse_code
where t1.isdeleted=0 and t1.`timestamp`>=@c_time
GROUP BY tsku.sku,t1.targetwareno ", new { c_time = DateTime.Now.AddDays(-7) });
where t1.isdeleted=0 and t1.`timestamp`>=@c_time
";
if (!string.IsNullOrWhiteSpace(bailun_sku))
{
sql += " and tsku.sku=@bailun_sku ";
parameters.Add("bailun_sku", bailun_sku);
}
return _connection.Query<temp_sku_dto>(sql, parameters);
//return _connection.Query<temp_sku_dto>("select t1.bailun_sku,t1.warehouse_code,t1.supplier_id from dc_base_purchase as t1 where t1.update_time>=@time group by t1.bailun_sku,t1.warehouse_code,t1.supplier_id ", parameters);
}
......
......@@ -93,7 +93,7 @@ namespace AutoTurnOver.Purchase.AverageTarget
if (now.Hour == 23 && now.Minute == 57)
{
Console.WriteLine($"开始调拨平均值统计任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
//PurchaseAverageTargetServices.CalculationTransfer();
PurchaseAverageTargetServices.CalculationTransfer();
Console.WriteLine($"结束调拨平均值统计任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
}
......
......@@ -23,20 +23,13 @@ namespace AutoTurnOver.Purchase.AverageTarget
Console.WriteLine("采购平均值计算任务启动...");
try
{
//PurchaseAverageTargetServices.CalculationTransfer();
//dc_base_week_coefficient_dao.ResetData();
//purchase_advise.ReplaceLogistics(DateTime.Now);
PurchaseAverageTargetServices.CalculationTransfer("942517901");
}
catch (Exception ex)
{
throw;
}
// 创建采购计划
//Console.WriteLine($"开始同步sku刊登状态,线程Id:{Thread.CurrentThread.ManagedThreadId},{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
//report_cash_flow_forecast_dao.Calculation();
//Console.WriteLine($"结束同步sku刊登状态,线程Id:{Thread.CurrentThread.ManagedThreadId},{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
//daily.SynchroPPSSkuStatus();
var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{
services.AddHostedService<AverageTargetBackgrounService>();
......
......@@ -142,7 +142,7 @@ namespace AutoTurnOver.Services
conn.Update(task_log);
}
public static void CalculationTransfer()
public static void CalculationTransfer(string bailun_sku ="")
{
MyMySqlConnection conn = connectionHelper._connection;
......@@ -160,10 +160,10 @@ namespace AutoTurnOver.Services
{
// 获取最近2天发送变化的SKU 用于计算
var chageSkuList = AveragePurchase.GetTransferChangeSku(30);
var chageSkuList = AveragePurchase.GetTransferChangeSku(30, bailun_sku);
foreach (var skuItem in chageSkuList)
{
var base_wa = conn.QueryFirstOrDefault<string>(" select t2.`code` from dc_base_warehouse as t1 left join dc_base_country as t2 on t1.area_name = t2.`name` where warehouse_code=@warehouse_code ",new { skuItem.warehouse_code});
var purchaseWList = AveragePurchase.GetPurchaseListByWode(skuItem, _seed_count).ToList();
......@@ -242,22 +242,37 @@ namespace AutoTurnOver.Services
{
transfer_type = 3;
}
var transport3List = ApiUtility.GetLmsOrderTransfer(new Models.ApiDto.api_lms_order_transfer_sku_requst_dto
{
bailun_sku = skuItem.bailun_sku,
warehouse_code = skuItem.warehouse_code,
orders = 10,
logistics_code = dc_base_head_transport_config_data.logistics_code,
transfer_type = transfer_type
//var transport3List = ApiUtility.GetLmsOrderTransfer(new Models.ApiDto.api_lms_order_transfer_sku_requst_dto
//{
// bailun_sku = skuItem.bailun_sku,
// warehouse_code = skuItem.warehouse_code,
// orders = 10,
// logistics_code = dc_base_head_transport_config_data.logistics_code,
// transfer_type = transfer_type
//});
var lmsAvg = ApiUtility.GetLmsOrderTransferAvg(new Models.ApiDto.api_lms_order_transfer_sku_requst_dto {
//bailun_sku = skuItem.bailun_sku,
transfer_type = transfer_type,
logistics_code = dc_base_head_transport_config_data.logistics_code,
country = base_wa
});
// 大于两条记录,才计算平均值,否则没有意义
if (transport3List != null && transport3List.Count() >= 2)
if (lmsAvg != null && lmsAvg.Count>=1)
{
dataWarehouse.transfer_bale_delivery = 0;
dataWarehouse.transfer_delivery = (decimal)transport3List.Sum(s => (s.sign_time - s.shipping_time).TotalDays) / transport3List.Count();
dataWarehouse.abroad_inbound_delivery = (decimal)transport3List.Sum(s => (s.put_time - s.sign_time).TotalDays) / transport3List.Count();
dataWarehouse.transfer_bale_delivery = 1;
dataWarehouse.transfer_delivery = lmsAvg.Select(s=>s.avg_sign_days).Average();
dataWarehouse.abroad_inbound_delivery = lmsAvg.Select(s => s.avg_put_days).Average();
}
// 大于两条记录,才计算平均值,否则没有意义
//if (transport3List != null && transport3List.Count() >= 2)
//{
// dataWarehouse.transfer_bale_delivery = 0;
// dataWarehouse.transfer_delivery = (decimal)transport3List.Sum(s => (s.sign_time - s.shipping_time).TotalDays) / transport3List.Count();
// dataWarehouse.abroad_inbound_delivery = (decimal)transport3List.Sum(s => (s.put_time - s.sign_time).TotalDays) / transport3List.Count();
//}
AveragePurchase.Save(dataWarehouse, conn);
......
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