Commit 4fd980d4 by 泽锋 李

fix

parent aaffccff
...@@ -36,6 +36,7 @@ namespace AutoGeneratePurchaseAdvise ...@@ -36,6 +36,7 @@ namespace AutoGeneratePurchaseAdvise
//PurchaseAdviseServices.AutoPushBuySys(4); //PurchaseAdviseServices.AutoPushBuySys(4);
//PurchaseAdviseServices.AutoPushBuySys(4); //PurchaseAdviseServices.AutoPushBuySys(4);
//purchase_advise.ReplaceLogistics(DateTime.Now, "935619301", "MMDUKFBA"); //purchase_advise.ReplaceLogistics(DateTime.Now, "935619301", "MMDUKFBA");
//PurchaseAdviseServices.Generate(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")));
} }
catch (Exception ex) catch (Exception ex)
{ {
......
...@@ -50,63 +50,76 @@ namespace AutoTurnOver.DB ...@@ -50,63 +50,76 @@ namespace AutoTurnOver.DB
// 寻找有没有满足条件的物流方案 // 寻找有没有满足条件的物流方案
foreach (var item in ouDatas) foreach (var item in ouDatas)
{ {
// 查询物流方案 try
var logisticsDatas = ApiUtility.GetFilterLogisticsAssignLineList(new Models.ApiDto.api_logistic_query_input_dto()
{ {
endCountries = item.country_code, // 查询物流方案
skus = item.bailun_sku, var logisticsDatas = ApiUtility.GetFilterLogisticsAssignLineList(new Models.ApiDto.api_logistic_query_input_dto()
startPoint = "3" {
}); endCountries = item.country_code,
skus = item.bailun_sku,
startPoint = "3"
});
if (logisticsDatas != null && logisticsDatas.Count >= 1) if (logisticsDatas != null && logisticsDatas.Count >= 1)
{
// 查询最快的物流渠道
var avgs = ApiUtility.GetLmsOrderTransferAvg(new Models.ApiDto.api_lms_order_transfer_sku_requst_dto {warehouse_code = item.warehouse_code, country = item.country_code, logistics_code = string.Join(",", logisticsDatas.Select(s=>s.Line_Code)) }).Where(s=>s.avg_put_days!=null).ToList();
if (avgs != null)
{ {
var selectItem = avgs.Where(s=>s.avg_put_days!=null).Where(s => s.avg_put_days + s.avg_sign_days <= item.surplus_allocation_days).OrderByDescending(s => s.avg_sign_days + s.avg_put_days).FirstOrDefault(); // 查询最快的物流渠道
// 有时效符合条件的物流可用 var avgs = ApiUtility.GetLmsOrderTransferAvg(new Models.ApiDto.api_lms_order_transfer_sku_requst_dto { warehouse_code = item.warehouse_code, country = item.country_code, logistics_code = string.Join(",", logisticsDatas.Select(s => s.Line_Code)) }).Where(s => s.avg_put_days != null).ToList();
if (selectItem != null) if (avgs != null)
{ {
var default_head_transport_config = _connection.QueryFirstOrDefault<dc_base_head_transport_config>(" select * from dc_base_head_transport_config where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", new var selectItem = avgs.Where(s => s.avg_put_days != null).Where(s => s.avg_put_days + s.avg_sign_days <= item.surplus_allocation_days).OrderByDescending(s => s.avg_sign_days + s.avg_put_days).FirstOrDefault();
// 有时效符合条件的物流可用
if (selectItem != null)
{ {
bailun_sku = item.bailun_sku, var default_head_transport_config = _connection.QueryFirstOrDefault<dc_base_head_transport_config>(" select * from dc_base_head_transport_config where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", new
warehouse_code = item.warehouse_code {
}); bailun_sku = item.bailun_sku,
var remarks = $" 预计于:{item.start_time.ToString("yyyy-MM-dd")} 将缺货, 预计采购到货:{(DateTime.Now.AddDays(item.payment_before_delivery + item.inspection_delivery + item.supplier_delivery).ToString("yyyy-MM-dd"))}{ item.quantity }个 。\n 默认物流方案: "; warehouse_code = item.warehouse_code
if (default_head_transport_config != null) });
{ var remarks = $" 预计于:{item.start_time.ToString("yyyy-MM-dd")} 将缺货, 预计采购到货:{(DateTime.Now.AddDays(item.payment_before_delivery + item.inspection_delivery + item.supplier_delivery).ToString("yyyy-MM-dd"))}{ item.quantity }个 。\n 默认物流方案: ";
remarks += $"{default_head_transport_config.head_transport}-{default_head_transport_config.logistics_name} ( {default_head_transport_config.logistics_code} )"; if (default_head_transport_config != null)
{
remarks += $"{default_head_transport_config.head_transport}-{default_head_transport_config.logistics_name} ( {default_head_transport_config.logistics_code} )";
}
else
{
remarks += " 未配置 ";
}
remarks += $" \n 默认时效 调拨天数: {item.transfer_delivery} , 入库天数:{item.abroad_inbound_delivery} 预计入库:{DateTime.Now.AddDays(item.payment_before_delivery + item.inspection_delivery + item.supplier_delivery + (int)Math.Round(item.transfer_delivery) + (int)Math.Round(item.abroad_inbound_delivery, 0)).ToString("yyyy-MM-dd")}";
remarks += $" \n 当前推荐物流平均时效 调拨天数: {Math.Round(selectItem.avg_sign_days)} , 入库天数:{Math.Round(selectItem.avg_put_days.Value, 0)} \n 预计入库 :{DateTime.Now.AddDays(item.payment_before_delivery + item.inspection_delivery + item.supplier_delivery + (int)Math.Round(selectItem.avg_sign_days) + (int)Math.Round(selectItem.avg_put_days.Value, 0)).ToString("yyyy-MM-dd")} ";
_connection.Insert(new dc_auto_replace_logistics_task
{
bailun_sku = item.bailun_sku,
abroad_inbound_delivery = selectItem.avg_put_days.Value,
create_date = DateTime.Now,
error_message = "",
error_stack_trace = "",
status = 0,
logistics_code = selectItem.logistics_code,
old_transfer_delivery = item.transfer_delivery,
old_transfer_bale_delivery = item.transfer_bale_delivery,
old_abroad_inbound_delivery = item.abroad_inbound_delivery,
transfer_bale_delivery = 1,
transfer_delivery = selectItem.avg_sign_days,
warehouse_code = item.warehouse_code,
update_date = DateTime.Now,
logistics_name = selectItem.logistics_name,
transport_type = selectItem.transport_type,
remarks = remarks,
});
} }
else
{
remarks += " 未配置 ";
}
remarks += $" \n 默认时效 调拨天数: {item.transfer_delivery} , 入库天数:{item.abroad_inbound_delivery} 预计入库:{DateTime.Now.AddDays(item.payment_before_delivery + item.inspection_delivery + item.supplier_delivery + (int)Math.Round(item.transfer_delivery) + (int)Math.Round(item.abroad_inbound_delivery, 0)).ToString("yyyy-MM-dd")}";
remarks += $" \n 当前推荐物流平均时效 调拨天数: {Math.Round(selectItem.avg_sign_days)} , 入库天数:{Math.Round(selectItem.avg_put_days.Value,0)} \n 预计入库 :{DateTime.Now.AddDays(item.payment_before_delivery + item.inspection_delivery + item.supplier_delivery + (int)Math.Round(selectItem.avg_sign_days) + (int)Math.Round(selectItem.avg_put_days.Value, 0)).ToString("yyyy-MM-dd")} ";
_connection.Insert(new dc_auto_replace_logistics_task
{
bailun_sku = item.bailun_sku,
abroad_inbound_delivery = selectItem.avg_put_days.Value,
create_date = DateTime.Now,
error_message = "",
error_stack_trace = "",
status = 0,
logistics_code = selectItem.logistics_code,
old_transfer_delivery = item.transfer_delivery,
old_transfer_bale_delivery = item.transfer_bale_delivery,
old_abroad_inbound_delivery = item.abroad_inbound_delivery,
transfer_bale_delivery = 1,
transfer_delivery = selectItem.avg_sign_days,
warehouse_code = item.warehouse_code,
update_date = DateTime.Now,
logistics_name = selectItem.logistics_name,
transport_type = selectItem.transport_type,
remarks = remarks,
});
} }
} }
} }
catch (Exception ex)
{
_connection.Insert(new dc_task_error_log {
date =DateTime.Now,
message = item.ToJson() + " --- "+ex.Message,
stack_trace = ex.StackTrace,
task_name = "空运切换异常"
});
}
} }
......
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