Commit 4fd980d4 by 泽锋 李

fix

parent aaffccff
......@@ -36,6 +36,7 @@ namespace AutoGeneratePurchaseAdvise
//PurchaseAdviseServices.AutoPushBuySys(4);
//PurchaseAdviseServices.AutoPushBuySys(4);
//purchase_advise.ReplaceLogistics(DateTime.Now, "935619301", "MMDUKFBA");
//PurchaseAdviseServices.Generate(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")));
}
catch (Exception ex)
{
......
......@@ -50,63 +50,76 @@ namespace AutoTurnOver.DB
// 寻找有没有满足条件的物流方案
foreach (var item in ouDatas)
{
// 查询物流方案
var logisticsDatas = ApiUtility.GetFilterLogisticsAssignLineList(new Models.ApiDto.api_logistic_query_input_dto()
try
{
endCountries = item.country_code,
skus = item.bailun_sku,
startPoint = "3"
});
// 查询物流方案
var logisticsDatas = ApiUtility.GetFilterLogisticsAssignLineList(new Models.ApiDto.api_logistic_query_input_dto()
{
endCountries = item.country_code,
skus = item.bailun_sku,
startPoint = "3"
});
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)
if (logisticsDatas != null && logisticsDatas.Count >= 1)
{
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)
// 查询最快的物流渠道
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 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,
warehouse_code = item.warehouse_code
});
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 默认物流方案: ";
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} )";
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
{
bailun_sku = item.bailun_sku,
warehouse_code = item.warehouse_code
});
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 默认物流方案: ";
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