Commit 315f7968 by 泽锋 李

fix

parent 5ef638b6
......@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dapper;
namespace AutoTurnOver.DB
{
......@@ -82,7 +83,7 @@ namespace AutoTurnOver.DB
var parameters = $"";
if (requstData != null)
{
parameters = $"?RecordStatus={requstData.RecordStatus}&startPoint={requstData.startPoint}&platform={requstData.platform}&Line_Code={requstData.Line_Code}&country_code={requstData.country_code}&character_skus={requstData.character_skus}";
parameters = $"?RecordStatus={requstData.RecordStatus}&startPoint={requstData.startPoint}&platform={requstData.platform}&Line_Code={requstData.Line_Code}&country_code={requstData.country_code}&endCountries={requstData.endCountries}&character_skus={requstData.character_skus}&has_min_freight_unit_price={requstData.has_min_freight_unit_price}";
}
string resultStr = HttpHelper.Request(url+ parameters, RequestType.GET, "", timeout: 1000 * 60 * 60 * 24);
var result = resultStr.ToObj<LmsResultDto<List<LmsShipLogisticsDto>>>();
......@@ -520,27 +521,43 @@ namespace AutoTurnOver.DB
/// <returns></returns>
public static List<api_transport_count_order_transfer_dto> GetLmsTransportCountList(api_transport_count_order_transfer_query_dto data)
{
try
{
//查询采购建议明细
string url = ConfigHelper.GetValue("api_lms_transport_count_transfer_list");
string resultStr = HttpHelper.Request(url, RequestType.POST, data.ToJson(), entype: "application/json; charset=utf-8", timeout: 1000 * 60 * 60 * 24);
var result = resultStr.ToObj<List<api_transport_count_order_transfer_dto>>();
if (result == null)
{
return new List<api_transport_count_order_transfer_dto>() { };
}
else
{
return result;
}
}
catch (Exception ex)
{
return new List<api_transport_count_order_transfer_dto>();
//throw new Exception("lms 调拨单时效 接口异常: " + ex.Message);
//throw new Exception("lms 调拨单时效 接口异常: " + ex.StackTrace);
}
return MyMySqlConnection._connection.Query<api_transport_count_order_transfer_dto>(@"select
t2.sku as 'bailun_sku',
sum(t2.deliverycount) as 'product_count',
count(DISTINCT t1.`code`) as 'order_count',
sum(case when t1.transporttype='海运' then t2.deliverycount else 0 end) as 'product_count_2',
count(DISTINCT case when t1.transporttype='海运' then t1.`code` else null end) as 'order_count_2',
sum(case when t1.transporttype='空运' then t2.deliverycount else 0 end) as 'product_count_3',
count(DISTINCT case when t1.transporttype='空运' then t1.`code` else null end) as 'order_count_3'
from dc_base_transfer_info as t1
left join dc_base_transfer_info_skus as t2 on t1.dataid = t2.dataid
where t2.sku=@sku and t1.targetwareno=@targetwareno
", new {
sku= data.bailun_sku,
targetwareno = data.targetwareno
}).ToList();
//try
//{
// //查询采购建议明细
// string url = ConfigHelper.GetValue("api_lms_transport_count_transfer_list");
// string resultStr = HttpHelper.Request(url, RequestType.POST, data.ToJson(), entype: "application/json; charset=utf-8", timeout: 1000 * 60 * 60 * 24);
// var result = resultStr.ToObj<List<api_transport_count_order_transfer_dto>>();
// if (result == null)
// {
// return new List<api_transport_count_order_transfer_dto>() { };
// }
// else
// {
// return result;
// }
//}
//catch (Exception ex)
//{
// return new List<api_transport_count_order_transfer_dto>();
// //throw new Exception("lms 调拨单时效 接口异常: " + ex.Message);
// //throw new Exception("lms 调拨单时效 接口异常: " + ex.StackTrace);
//}
}
/// <summary>
/// 获取lms 的调拨单时效
......
......@@ -792,6 +792,20 @@ from dc_auto_turnover as dat
parameters.Add("warehouse_code", wCode);
return _connection.QueryFirst<Models.dc_auto_turnover>(" select * from dc_auto_turnover where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", parameters);
}
public static Models.dc_auto_turnover GetModelAir(string sku, string wCode)
{
DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_sku", sku);
parameters.Add("warehouse_code", wCode);
return _connection.QueryFirst<Models.dc_auto_turnover>(" select * from dc_auto_turnover_air where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", parameters);
}
public static Models.dc_auto_turnover GetModelOcean(string sku, string wCode)
{
DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_sku", sku);
parameters.Add("warehouse_code", wCode);
return _connection.QueryFirst<Models.dc_auto_turnover>(" select * from dc_auto_turnover_ocean where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", parameters);
}
#region 市场因素设置
......@@ -1054,7 +1068,7 @@ abroad_inbound_delivery as 'abroad_inbound_delivery',
quantity_final_advise as 'quantity_final_advise'
from dc_auto_turnover where gmt_modified>=@btime and gmt_modified<=@etime
)
", new { btime = DateTime.Now.ToDayHome(), etime = DateTime.Now.ToDayEnd() },commandTimeout:0);
", new { btime = DateTime.Now.ToDayHome(), etime = DateTime.Now.ToDayEnd() }, commandTimeout: 0);
_connection.Execute(@"REPLACE INTO dc_base_forecast_history_ocean(`bailun_sku`,`warehouse_code`,`bailun_sku_warehouse_code`,`date`,`date_str`,`create_date`,`sales`,`turnover_days`,`quantity_safe_inventory`,`supplier_delivery`,`transfer_config_delivery`,`transfer_bale_config_delivery`,`abroad_inbound_config_delivery`,`inspection_config_delivery`,`inspection_delivery`,`transfer_delivery`,`daily_weighted_sales`,`transfer_bale_delivery`,`abroad_inbound_delivery`,`quantity_final_advise`)
(
......@@ -1204,25 +1218,156 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
new transfer_profit_dto{ name ="空运周转天数",days = new List<transfer_profit_dto.day_dto>()},
new transfer_profit_dto{ name ="海运周转天数",days = new List<transfer_profit_dto.day_dto>()},
};
var result = GetModel(bailun_sku, warehouse_code);
var result_air = GetModelAir(bailun_sku, warehouse_code);
var result_ocean = GetModelOcean(bailun_sku, warehouse_code);
var base_wa = _connection.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 { warehouse_code });
var dc_base_sku_data = _connection.QueryFirstOrDefault<dc_base_sku>(" select * from dc_base_sku where bailun_sku=@bailun_sku ", new { bailun_sku });
transfer_profit_modal_dto modalData = new transfer_profit_modal_dto();
// 查询物流方案
var logisticsDatas = ApiUtility.RealTimeShipLogisticsList(new Models.ApiDto.LmsShipLogisticsRequstDto
{
endCountries = base_wa,
character_skus = bailun_sku,
startPoint = "3",
has_min_freight_unit_price = true
}).Where(s => s.min_freight_unit_price > 0);
var logoCeanData = logisticsDatas.Where(s => s.TransportType == 2).OrderBy(s => s.min_freight_unit_price).FirstOrDefault();
modalData.freight_unit_price_ocean = logoCeanData.min_freight_unit_price.Value / (logoCeanData.min_freight_unit_weight ?? 1) * (dc_base_sku_data.weight/1000);
var logoAirData = logisticsDatas.Where(s => s.TransportType == 3).OrderBy(s => s.min_freight_unit_price).FirstOrDefault();
modalData.freight_unit_price_air = logoAirData.min_freight_unit_price.Value / (logoAirData.min_freight_unit_weight ?? 1) * (dc_base_sku_data.weight/1000);
var sales_details = result.sales_details.ToObj<List<decimal>>().Select(s => (int)Math.Ceiling(s)).ToList();
var advised_details = result.advised_details.ToObj<List<decimal>>();
var advised_details_air = result_air.advised_details.ToObj<List<decimal>>();
var advised_details_ocean = result_ocean.advised_details.ToObj<List<decimal>>();
var btime = DateTime.Now.AddDays(-30);
var etime = DateTime.Now.AddDays(sales_details.Count - 7);
var this_time = btime;
var now = DateTime.Now.ToDayHome();
var index = 0;
var index = -23;
while (this_time.ToDayHome() <= etime.ToDayEnd())
{
var this_time_end = this_time.ToDayEnd();
// 预测未来
if (this_time_end >= now)
{
datas.FirstOrDefault(s => s.name == "安全库存数量").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = result.quantity_safe_inventory
});
datas.FirstOrDefault(s => s.name == "空运周转天数").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = result_air.turnover_days
});
datas.FirstOrDefault(s => s.name == "海运周转天数").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = result_ocean.turnover_days
});
modalData.unit_price = dc_base_sku_data.unit_price;
datas.FirstOrDefault(s => s.name == "采购单价").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.unit_price
});
modalData.quantity_final_advise = (advised_details.Count - 1 < index ? 0 : advised_details[index]);
datas.FirstOrDefault(s => s.name == "实际建议周转数").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise
});
modalData.quantity_final_advise_amount = dc_base_sku_data.unit_price;
datas.FirstOrDefault(s => s.name == "实际建议周转金额").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise * modalData.unit_price
});
modalData.quantity_final_advise_ocean = (advised_details_ocean.Count-1<index?0 :advised_details_ocean[index]);
datas.FirstOrDefault(s => s.name == "海运周转数(推荐海运)").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_ocean
});
modalData.quantity_final_advise_ocean_amount = modalData.quantity_final_advise_ocean * modalData.unit_price;
datas.FirstOrDefault(s => s.name == "海运周转金额").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_ocean_amount
});
modalData.freight_price_ocean = modalData.quantity_final_advise_ocean * modalData.freight_unit_price_ocean;
datas.FirstOrDefault(s => s.name == "海运周转运费").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.freight_price_ocean
});
modalData.quantity_final_advise_air = (advised_details_air.Count - 1 < index ? 0 : advised_details_air[index]);
datas.FirstOrDefault(s => s.name == "空运周转数(推荐空运)").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_air
});
modalData.quantity_final_advise_air_amount = modalData.quantity_final_advise_air * modalData.unit_price;
datas.FirstOrDefault(s => s.name == "空运周转金额").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_air_amount
});
modalData.freight_price_air = modalData.quantity_final_advise_air * modalData.freight_unit_price_air;
datas.FirstOrDefault(s => s.name == "空运周转运费").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.freight_price_air
});
}
else // 过去
{
#region MyRegion
var unit_price = _connection.QueryFirstOrDefault<decimal?>(" select unit_price from dc_base_purchase_details where warehouse_into_code=@warehouse_into_code and bailun_sku=@bailun_sku and status!=-1 and create_time<=@btime limit 1 ", new
datas.FirstOrDefault(s => s.name == "安全库存数量").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = _connection.QueryFirstOrDefault<decimal?>(" select quantity_safe_inventory from dc_base_forecast_history where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and date_str<=@date_str limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
date_str = this_time_end.ToString("yyyy-MM-dd")
})
});
datas.FirstOrDefault(s => s.name == "空运周转天数").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = _connection.QueryFirstOrDefault<decimal?>(" select turnover_days from dc_base_forecast_history_air where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and date_str<=@date_str limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
date_str = this_time_end.ToString("yyyy-MM-dd")
})
});
datas.FirstOrDefault(s => s.name == "海运周转天数").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = _connection.QueryFirstOrDefault<decimal?>(" select turnover_days from dc_base_forecast_history_ocean where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and date_str<=@date_str limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
date_str = this_time_end.ToString("yyyy-MM-dd")
})
});
modalData.unit_price = _connection.QueryFirstOrDefault<decimal?>(" select unit_price from dc_base_purchase_details where warehouse_into_code=@warehouse_into_code and bailun_sku=@bailun_sku and status!=-1 and create_time<=@btime limit 1 ", new
{
warehouse_into_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
......@@ -1231,9 +1376,9 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
datas.FirstOrDefault(s => s.name == "采购单价").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = unit_price
val = modalData.unit_price
});
var quantity_final_advise = _connection.QueryFirstOrDefault<decimal?>(" select quantity_final_advise from dc_base_forecast_history where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and status!=-1 and create_time<=@btime limit 1 ", new
modalData.quantity_final_advise = _connection.QueryFirstOrDefault<decimal?>(" select quantity_final_advise from dc_base_forecast_history where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and date_str=@date_str limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
......@@ -1242,14 +1387,15 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
datas.FirstOrDefault(s => s.name == "实际建议周转数").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = quantity_final_advise
val = modalData.quantity_final_advise
});
modalData.quantity_final_advise_amount = modalData.quantity_final_advise * modalData.unit_price;
datas.FirstOrDefault(s => s.name == "实际建议周转金额").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = quantity_final_advise * unit_price
val = modalData.quantity_final_advise_amount
});
var purchase_quantity = _connection.QueryFirstOrDefault<decimal?>(" select sum(quantity_purchase) from dc_base_purchase_details where warehouse_into_code=@warehouse_into_code and bailun_sku=@bailun_sku and status!=-1 and create_time>=@btime and create_time<=@etime ", new
modalData.purchase_quantity = _connection.QueryFirstOrDefault<decimal?>(" select sum(quantity_purchase) from dc_base_purchase_details where warehouse_into_code=@warehouse_into_code and bailun_sku=@bailun_sku and status!=-1 and create_time>=@btime and create_time<=@etime ", new
{
warehouse_into_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
......@@ -1259,9 +1405,9 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
datas.FirstOrDefault(s => s.name == "实际周转数").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = purchase_quantity
val = modalData.purchase_quantity
});
var freight_unit_price = _connection.QueryFirstOrDefault<decimal?>(" select freight_unit_price from dc_base_transfer_freight_log where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and action_date<=@btime limit 1 ", new
modalData.freight_unit_price = _connection.QueryFirstOrDefault<decimal?>(" select freight_unit_price from dc_base_transfer_freight_log where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and action_date<=@action_date limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
......@@ -1270,28 +1416,109 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
datas.FirstOrDefault(s => s.name == "实际运费单价").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = freight_unit_price
val = modalData.freight_unit_price
});
modalData.freight_price = modalData.freight_unit_price * modalData.purchase_quantity;
datas.FirstOrDefault(s => s.name == "实际周转运费").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = freight_unit_price * purchase_quantity
val = modalData.freight_price
});
modalData.quantity_final_advise_ocean = _connection.QueryFirstOrDefault<decimal?>(" select quantity_final_advise from dc_base_forecast_history_ocean where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and date_str=@date_str limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
date_str = this_time_end.ToString("yyyy-MM-dd")
});
datas.FirstOrDefault(s => s.name == "海运周转数(推荐海运)").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_ocean
});
modalData.quantity_final_advise_ocean_amount = modalData.quantity_final_advise_ocean * modalData.purchase_quantity;
datas.FirstOrDefault(s => s.name == "海运周转金额").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_ocean_amount
});
modalData.freight_price_ocean = modalData.freight_unit_price_ocean * modalData.purchase_quantity;
datas.FirstOrDefault(s => s.name == "海运周转运费").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.freight_price_ocean
});
modalData.quantity_final_advise_air = _connection.QueryFirstOrDefault<decimal?>(" select quantity_final_advise from dc_base_forecast_history_air where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and date_str=@date_str limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
date_str = this_time_end.ToString("yyyy-MM-dd")
});
datas.FirstOrDefault(s => s.name == "空运周转数(推荐空运)").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_air
});
modalData.quantity_final_advise_air_amount = modalData.quantity_final_advise_air * modalData.purchase_quantity;
datas.FirstOrDefault(s => s.name == "空运周转金额").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_air_amount
});
modalData.freight_price_air = modalData.freight_unit_price_air * modalData.purchase_quantity;
datas.FirstOrDefault(s => s.name == "空运周转运费").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.freight_price_air
});
modalData.freight_price_ocean_difference_amount = modalData.freight_price - modalData.freight_price_ocean;
datas.FirstOrDefault(s => s.name == "实际-海运运费差值").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.freight_price_ocean_difference_amount
});
#endregion
//var freight_unit_price = _connection.QueryFirstOrDefault<decimal?>(" select freight_unit_price from dc_base_transfer_freight_log where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and action_date<=@btime limit 1 ", new
//{
// warehouse_code = result.warehouse_code,
// bailun_sku = result.bailun_sku,
// action_date = this_time_end
//});
//datas.FirstOrDefault(s => s.name == "海运周转数(推荐海运)").days.Add(new transfer_profit_dto.day_dto
//{
// date = this_time,
// val = freight_unit_price
//});
#endregion
}
modalData.quantity_final_ocean_difference_amount = modalData.quantity_final_advise_amount - modalData.quantity_final_advise_ocean_amount;
datas.FirstOrDefault(s => s.name == "实际-海运周转采购金额差值").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_ocean_difference_amount
});
datas.FirstOrDefault(s => s.name == "差值(海运)-实际周转采购金额占比").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_amount <= 0 ? 0M : (modalData.quantity_final_ocean_difference_amount / modalData.quantity_final_advise_amount)
});
modalData.freight_price_ocean_air_difference = modalData.freight_price_ocean - modalData.freight_price_air;
datas.FirstOrDefault(s => s.name == "海运-空运运费差值").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.freight_price_ocean_air_difference
});
modalData.quantity_final__ocean_air_difference_amount = modalData.quantity_final_advise_ocean_amount - modalData.quantity_final_advise_air_amount;
datas.FirstOrDefault(s => s.name == "海运-空运周转采购金额差值").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final__ocean_air_difference_amount
});
datas.FirstOrDefault(s => s.name == "差值(海运-空运)-实际周转采购金额占比").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
val = modalData.quantity_final_advise_amount <= 0 ? 0M : (modalData.quantity_final__ocean_air_difference_amount / modalData.quantity_final_advise_amount)
});
index++;
this_time = this_time.AddDays(1);
}
......@@ -1300,5 +1527,105 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
}
}
public class transfer_profit_modal_dto
{
/// <summary>
/// 实际建议周转数
/// </summary>
internal decimal? quantity_final_advise;
/// <summary>
/// 实际建议周转金额
/// </summary>
internal decimal? quantity_final_advise_amount;
/// <summary>
/// 实际周转数
/// </summary>
internal decimal? purchase_quantity;
/// <summary>
/// 实际运费单价
/// </summary>
internal decimal? freight_unit_price;
/// <summary>
/// 实际周转运费
/// </summary>
internal decimal? freight_price;
/// <summary>
/// 海运周转数(推荐海运)
/// </summary>
internal decimal? quantity_final_advise_ocean;
/// <summary>
/// 海运周转运费
/// </summary>
internal decimal? freight_price_ocean;
/// <summary>
/// 海运运费单价
/// </summary>
internal decimal freight_unit_price_ocean;
/// <summary>
/// 空运运费单价
/// </summary>
internal decimal freight_unit_price_air;
/// <summary>
/// 空运周转数(推荐空运)
/// </summary>
internal decimal? quantity_final_advise_air;
/// <summary>
/// 实际-海运周转金额差值
/// </summary>
internal decimal? freight_price_ocean_difference_amount;
/// <summary>
/// 空运周转金额
/// </summary>
internal decimal? quantity_final_advise_air_amount;
/// <summary>
/// 空运周转运费
/// </summary>
internal decimal? freight_price_air;
/// <summary>
/// 实际-空运运费差值
/// </summary>
internal decimal? freight_price_air_difference;
/// <summary>
/// 海运周转金额
/// </summary>
internal decimal? quantity_final_advise_ocean_amount;
/// <summary>
/// 实际-海运周转采购金额差值
/// </summary>
internal decimal? quantity_final_ocean_difference_amount;
/// <summary>
/// 实际-空运周转采购金额差值
/// </summary>
internal decimal? quantity_final_air_difference_amount;
/// <summary>
/// 海运-空运运费差值
/// </summary>
internal decimal? freight_price_ocean_air_difference;
/// <summary>
/// 海运-空运周转采购金额差值
/// </summary>
internal decimal? quantity_final__ocean_air_difference_amount;
/// <summary>
/// 采购单价
/// </summary>
public decimal? unit_price { get; set; }
}
}
\ No newline at end of file
......@@ -4080,6 +4080,9 @@ where t2.hq_type='fba仓'").ToList();
/// </summary>
public static void ResetTransExpectArrivaltime()
{
// 查询真实的调拨在途
var datas = _connection.Query<dc_base_trans_expectarrivaltime_temp>(@"select
t2.expectarrivaltime as 'expectarrivaltime',
......
......@@ -23,6 +23,12 @@ namespace AutoTurnOver.Models.ApiDto
/// 运输方式 0-不限 1-陆运 2-空运 3-海运
/// </summary>
public int? TransportType { get; set; }
/// <summary>
/// 最低运费单价
/// </summary>
public decimal? min_freight_unit_price { get; set; }
public decimal? min_freight_unit_weight { get; set; }
}
public class LmsResultDto<T>
......@@ -39,5 +45,6 @@ namespace AutoTurnOver.Models.ApiDto
public string country_code { get; set; } = "";
public string endCountries { get; set; } = "";
public string character_skus { get; set; } = "";
public bool has_min_freight_unit_price { get; set; } = false;
}
}
......@@ -10,7 +10,6 @@ namespace AutoTurnOver.Models.ApiDto
public class api_transport_count_order_transfer_dto
{
public string bailun_sku { get; set; }
public string country { get; set; }
public int product_count { get; set; }
public int order_count { get; set; }
/// <summary>
......@@ -36,6 +35,6 @@ namespace AutoTurnOver.Models.ApiDto
public class api_transport_count_order_transfer_query_dto
{
public string bailun_sku { get; set; }
public string country { get; set; }
public string targetwareno { get; set; }
}
}
......@@ -11,8 +11,9 @@ namespace AutoTurnOver.Models
public string bailun_sku { get; set; }
public string sku_title_cn { get; set; }
public decimal weight { get; set; }
public string category_name { get; set; }
public string unit_price { get; set; }
public decimal unit_price { get; set; }
public string seller_name { get; set; }
public string suppliers_name { get; set; }
public string buyer_name { get; set; }
......
......@@ -13,7 +13,7 @@ namespace AutoTurnOver.Models
{
public DateTime date { get; set; }
public string date_str { get {
return date.ToString("MM-dd"+$"{Sinicization(date.DayOfWeek)}");
return date.ToString("MM-dd"+$"({Sinicization(date.DayOfWeek)})");
} }
public decimal? val { get; set; }
......
......@@ -32,7 +32,7 @@ namespace AutoTurnOver.Purchase.AverageTarget
//report.ResetTransExpectArrivaltime();
//dc_auto_return_goods_config_dao.NewCalculation();
//PurchaseAverageTargetServices.Calculation("368720104", days: 360);
//PurchaseAverageTargetServices.CalculationTransfer("LM-EO-007", 360);
//PurchaseAverageTargetServices.CalculationTransfer("803597202", 360);
//PurchaseAverageTargetServices.CalculationTransfer(days: (360 * 3),has_transfer:true);
}
......
......@@ -550,7 +550,7 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp
var lmsTransportCountDatas = ApiUtility.GetLmsTransportCountList(new Models.ApiDto.api_transport_count_order_transfer_query_dto
{
bailun_sku = skuItem.bailun_sku,
country = base_wa
targetwareno = skuItem.warehouse_code
});
if (lmsTransportCountDatas != null && lmsTransportCountDatas.Count>=1)
......
......@@ -679,5 +679,10 @@ namespace AutoTurnOver.Services
public string bailun_sku { get; set; }
public string warehouse_code { get; set; }
}
public List<transfer_profit_dto> TransferProfitList(string bailun_sku, string warehouse_code) {
return DB.dc_auto_turnover.TransferProfitList(bailun_sku, warehouse_code);
}
}
}
......@@ -57,6 +57,32 @@ namespace AutoTurnOver.Controllers
}
[HttpGet]
[BrowseLog("Bailun_aims", "触发【百伦自动周转系统】->【自动周转列表】->【空运海运利润计算】->【搜索】页面", 0)]
public JsonResult TransferProfitList(string bailun_sku, string warehouse_code)
{
try
{
var service = new Services.SkuAutoTurnServices();
var list = service.TransferProfitList(bailun_sku, warehouse_code);
return new JsonResult(new
{
rows = list
});
}
catch (Exception ex)
{
return new JsonResult(new
{
message = ex.Message,
stack_trace = ex.StackTrace
});
}
}
/// <summary>
/// 查看平均数的数据来源
/// </summary>
......
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