Commit c1d014dc by 泽锋 李

头程平均值取默认渠道

parent 5af9047b
......@@ -160,7 +160,7 @@ and t2.update_time is not null and t1.update_time>t2.update_time
/// <param name="type">调拨类型</param>
/// <param name="seed_count"></param>
/// <returns></returns>
public static IEnumerable<dc_base_transfer_log> GetTransportList(string bailun_sku,string warehouse_code, string type, int seed_count)
public static IEnumerable<dc_base_transfer_log> GetTransportList(string bailun_sku,string warehouse_code, string type,string logistics_code, int seed_count)
{
DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_sku", bailun_sku);
......@@ -187,6 +187,7 @@ left join (select t2_1.transfer_order_id,max(t2_1.create_time) as 'create_time'
left join (select t2_1.transfer_order_id,max(t2_1.create_time) as 'create_time' from dc_base_transfer_verify as t2_1 where deleted =0 and bailun_sku=@bailun_sku and warehouse_code=@warehouse_code GROUP BY t2_1.transfer_order_id) as t5 on t1.transfer_order_id = t5.transfer_order_id
left join (select t2_1.transfer_order_id,max(t2_1.create_time) as 'create_time' from dc_base_transfer_complete as t2_1 where deleted =0 and bailun_sku=@bailun_sku and warehouse_code=@warehouse_code GROUP BY t2_1.transfer_order_id) as t6 on t1.transfer_order_id = t6.transfer_order_id
left join dc_base_warehouse as t_w on t1.warehouse_code = t_w.warehouse_code
left join ( select `code`,`logisticscode` from dc_base_transfer_info where logisticscode!='' and logisticscode is not null GROUP BY `code` ) as t_info on t1.transfer_order_id = t_info.`code`
where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.deleted=0
and t1.create_time is not null and t2.create_time is not null and t4.create_time is not null and t5.create_time is not null and t6.create_time is not null
and t4.create_time>='2018-01-01' and t3.create_time>='2018-01-01'
......@@ -200,6 +201,11 @@ and t_w.hq_type!='国内仓'
sql += " and t3.transport_type=@transport_type ";
parameters.Add("transport_type", type);
}
if (!string.IsNullOrWhiteSpace(logistics_code))
{
sql += " and t_info.logisticscode=@logisticscode ";
parameters.Add("logisticscode", logistics_code);
}
sql += "LIMIT @seed_count ";
var conn = _connection;
var datas = conn.Query<dc_base_transfer_log>(sql, parameters);
......
......@@ -1954,12 +1954,14 @@ where 1 = 1 ";
/// </summary>
public static void BatchSetHeadTransport(batch_set_head_transport_input_dto input_data, UserData user)
{
foreach (var bailun_sku in input_data.bailun_sku)
foreach (var id in input_data.ids)
{
var dc_auto_turnover_data = _connection.QuerySingleOrDefault<Models.dc_auto_turnover>(" select * from dc_auto_turnover where id=@id ",new { id});
// 查询是否已经有数据
var dc_base_head_transport_config_old_data = _connection.QuerySingleOrDefault<dc_base_head_transport_config>(" select * from dc_base_head_transport_config where bailun_sku=@bailun_sku and is_delete=0 limit 1 ", new
var dc_base_head_transport_config_old_data = _connection.QuerySingleOrDefault<dc_base_head_transport_config>(" select * from dc_base_head_transport_config where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code and is_delete=0 limit 1 ", new
{
bailun_sku
bailun_sku = dc_auto_turnover_data.bailun_sku,
warehouse_code = dc_auto_turnover_data.warehouse_code
});
if (dc_base_head_transport_config_old_data != null)
{
......@@ -1974,25 +1976,29 @@ where 1 = 1 ";
create_date = DateTime.Now,
delete_user = "",
delete_date = null,
bailun_sku = bailun_sku,
bailun_sku = dc_auto_turnover_data. bailun_sku,
warehouse_code = dc_auto_turnover_data.warehouse_code,
create_user = user.UserAccount,
head_transport = input_data.head_transport??"",
is_delete = 0,
logistics_code = input_data.logistics_code
});
var logistics_name = "";
if(string.IsNullOrWhiteSpace(input_data.logistics_code))
{
logistics_name = ApiUtility.ShipLogisticsList().FirstOrDefault(s => s.Line_Code == input_data.logistics_code).Line_Name;
}
_connection.Execute(" update dc_auto_turnover set head_transport_type=@head_transport_type,head_transport_logistics_code=@head_transport_logistics_code where bailun_sku=@bailun_sku ",new {
head_transport_type = input_data.head_transport??"",
head_transport_logistics_code = logistics_name,
bailun_sku = bailun_sku
});
}
var logistics_name = "";
if (!string.IsNullOrWhiteSpace(input_data.logistics_code))
{
logistics_name = ApiUtility.ShipLogisticsListHead().FirstOrDefault(s => s.Line_Code == input_data.logistics_code).Line_Name;
}
_connection.Execute(" update dc_auto_turnover set head_transport_type=@head_transport_type,head_transport_logistics_code=@head_transport_logistics_code where id in @ids ", new
{
head_transport_type = input_data.head_transport ?? "",
head_transport_logistics_code = logistics_name,
ids = input_data.ids
});
}
}
}
......@@ -8,6 +8,7 @@ namespace AutoTurnOver.Models
{
public int id { get; set; }
public string bailun_sku { get; set; }
public string warehouse_code { get; set; }
public string head_transport { get; set; }
public string logistics_code { get; set; }
public DateTime create_date { get; set; }
......@@ -26,6 +27,6 @@ namespace AutoTurnOver.Models
public string head_transport { get; set; }
public string logistics_code { get; set; }
public List<string> bailun_sku { get; set; }
public List<string> ids { get; set; }
}
}
......@@ -150,7 +150,7 @@ namespace AutoTurnOver.Services
// 计算平均海运调拨天数
// 查询最近5次海运(已完成)记录
var transport1List = AveragePurchase.GetTransportList(skuItem.bailun_sku, skuItem.warehouse_code, "海运", _seed_count);
var transport1List = AveragePurchase.GetTransportList(skuItem.bailun_sku, skuItem.warehouse_code, "海运","", _seed_count);
if (transport1List != null && transport1List.Count() >= 1)
{
dataWarehouse.transfer_type_1_days = (decimal)transport1List.Sum(s => (s.inbound_time - s.bale_time).TotalDays) / transport1List.Count();
......@@ -159,14 +159,19 @@ namespace AutoTurnOver.Services
// 计算平均空运调拨天数
// 查询最近5次空运(已完成)记录
var transport2List = AveragePurchase.GetTransportList(skuItem.bailun_sku, skuItem.warehouse_code, "空运", _seed_count);
var transport2List = AveragePurchase.GetTransportList(skuItem.bailun_sku, skuItem.warehouse_code, "空运","", _seed_count);
if (transport2List != null && transport2List.Count() >= 1)
{
dataWarehouse.transfer_type_2_days = (decimal)transport2List.Sum(s => (s.inbound_time - s.bale_time).TotalDays) / transport2List.Count();
}
//头程天数
var transport3List = AveragePurchase.GetTransportList(skuItem.bailun_sku, skuItem.warehouse_code, "", _seed_count);
// 查询是否有默认渠道
var dc_base_head_transport_config_data = conn.QuerySingleOrDefault<dc_base_head_transport_config>(" select * from dc_base_head_transport_config where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code and is_delete=0 ",new {
bailun_sku = skuItem.bailun_sku,
warehouse_code = skuItem.warehouse_code
})??new dc_base_head_transport_config { };
var transport3List = AveragePurchase.GetTransportList(skuItem.bailun_sku, skuItem.warehouse_code, dc_base_head_transport_config_data.head_transport, dc_base_head_transport_config_data.logistics_code, _seed_count);
// 大于两条记录,才计算平均值,否则没有意义
if (transport3List != null && transport3List.Count() >= 2)
{
......
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