Commit 8048e533 by 泽锋 李

fix

parent 3c26af9b
......@@ -83,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}&endCountries={requstData.endCountries}&character_skus={requstData.character_skus}&has_min_freight_unit_price={requstData.has_min_freight_unit_price}";
parameters = $"?has_history_order={requstData.has_history_order}&transport_type={requstData.transport_type}&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>>>();
......
......@@ -1235,7 +1235,8 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
endCountries = base_wa,
character_skus = bailun_sku,
startPoint = "3",
has_min_freight_unit_price = true
has_min_freight_unit_price = true,
has_history_order = true
}).Where(s => s.min_freight_unit_price > 1);
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);
......@@ -1260,16 +1261,19 @@ 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
{
has_int=true,
date = this_time,
val = result.quantity_safe_inventory
});
datas.FirstOrDefault(s => s.name == "空运周转天数").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = result_air.turnover_days
});
datas.FirstOrDefault(s => s.name == "海运周转天数").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = result_ocean.turnover_days
});
......@@ -1285,10 +1289,12 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
modalData.quantity_final_advise = (int)Math.Round(result.quantity_safe_inventory + (result.daily_weighted_sales * result.turnover_days));
datas.FirstOrDefault(s => s.name == "实际建议周转数").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = modalData.turnover
val = modalData.quantity_final_advise
});
modalData.quantity_final_advise_amount = Math.Round( (modalData.quantity_final_advise ?? 0) * (modalData.unit_price??0),2);
datas.FirstOrDefault(s => s.name == "实际建议周转金额").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
......@@ -1300,9 +1306,10 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
}
// 在库+在途
modalData.turnover = dc_mid_transit_data+dc_mid_transit_data;
modalData.turnover = dc_mid_transit_data+ dc_stock_data;
datas.FirstOrDefault(s => s.name == "实际周转数").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = modalData.turnover
});
......@@ -1323,6 +1330,9 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
val = modalData.freight_price
});
// 实际建议周转运费
modalData.quantity_final_advise_freight = Math.Round((modalData.quantity_final_advise ?? 0) * (modalData.freight_unit_price ?? 0), 2); ;
//实际周转金额
modalData.turnover_amount = modalData.turnover* modalData.unit_price;
......@@ -1349,6 +1359,7 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
modalData.quantity_final_advise_air = (int)Math.Round(result_air.quantity_safe_inventory + (result_air.daily_weighted_sales * result_air.turnover_days));
datas.FirstOrDefault(s => s.name == "空运周转数(推荐空运)").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = modalData.quantity_final_advise_air
});
......@@ -1365,7 +1376,7 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
val = modalData.freight_price_air
});
modalData.freight_price_ocean_difference_amount = modalData.freight_price - modalData.freight_price_ocean;
modalData.freight_price_ocean_difference_amount = modalData.quantity_final_advise_freight - modalData.freight_price_ocean;
datas.FirstOrDefault(s => s.name == "实际-海运运费差值").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
......@@ -1386,7 +1397,7 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
});
modalData.freight_price_air_difference_amount = modalData.freight_price - modalData.freight_price_air;
modalData.freight_price_air_difference_amount = modalData.quantity_final_advise_freight - modalData.freight_price_air;
datas.FirstOrDefault(s => s.name == "实际-空运运费差值").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
......@@ -1410,21 +1421,24 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
{
#region MyRegion
var quantity_safe_inventory = _connection.QueryFirstOrDefault<int?>(" 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
{
has_int = true,
date = this_time,
val = _connection.QueryFirstOrDefault<int?>(" 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")
})
val = quantity_safe_inventory
});
datas.FirstOrDefault(s => s.name == "空运周转天数").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = _connection.QueryFirstOrDefault<int?>(" 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
val = _connection.QueryFirstOrDefault<int?>(" 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,
......@@ -1434,8 +1448,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
{
has_int = true,
date = this_time,
val = _connection.QueryFirstOrDefault<int?>(" 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
val = _connection.QueryFirstOrDefault<int?>(" 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,
......@@ -1454,14 +1469,16 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
date = this_time,
val = Math.Round( modalData.unit_price??0,1)
});
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
{
var dc_base_forecast_historydata = _connection.QueryFirstOrDefault<dc_base_forecast_history>(" select * 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")
});
})??new dc_base_forecast_history();
modalData.quantity_final_advise = ((dc_base_forecast_historydata.turnover_days * dc_base_forecast_historydata.daily_weighted_sales) + dc_base_forecast_historydata.quantity_safe_inventory);
datas.FirstOrDefault(s => s.name == "实际建议周转数").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = modalData.quantity_final_advise
});
......@@ -1480,6 +1497,7 @@ 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
{
has_int = true,
date = this_time,
val = modalData.purchase_quantity
});
......@@ -1494,61 +1512,77 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
date = this_time,
val = modalData.freight_unit_price
});
modalData.freight_price = modalData.freight_unit_price * modalData.purchase_quantity;
modalData.quantity_final_advise_freight = modalData.quantity_final_advise * modalData.freight_unit_price;
modalData.freight_price = modalData.purchase_quantity * modalData.freight_unit_price;
datas.FirstOrDefault(s => s.name == "实际周转运费").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
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
var dc_base_forecast_history_ocean_data = _connection.QueryFirstOrDefault<dc_base_forecast_history>(" select * from dc_base_forecast_history_ocean where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and date_str<=@date_str order by `date` desc limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
date_str = this_time_end.ToString("yyyy-MM-dd")
});
}) ?? new dc_base_forecast_history() { };
modalData.quantity_final_advise_ocean = null;
if (dc_base_forecast_history_ocean_data.id > 0)
{
modalData.quantity_final_advise_ocean =(dc_base_forecast_history_ocean_data.turnover_days * dc_base_forecast_history_ocean_data.daily_weighted_sales) + dc_base_forecast_history_ocean_data.quantity_safe_inventory;
}
datas.FirstOrDefault(s => s.name == "海运周转数(推荐海运)").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = modalData.quantity_final_advise_ocean
});
modalData.quantity_final_advise_ocean_amount = modalData.quantity_final_advise_ocean * modalData.purchase_quantity;
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.freight_unit_price_ocean * modalData.purchase_quantity;
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 = _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
var dc_base_forecast_history_air_data =_connection.QueryFirstOrDefault<dc_base_forecast_history>(" select * from dc_base_forecast_history_air where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku and date_str<=@date_str order by `date` desc limit 1 ", new
{
warehouse_code = result.warehouse_code,
bailun_sku = result.bailun_sku,
date_str = this_time_end.ToString("yyyy-MM-dd")
});
})??new dc_base_forecast_history() { };
modalData.quantity_final_advise_air = null;
if (dc_base_forecast_history_air_data.id > 0)
{
modalData.quantity_final_advise_air = (dc_base_forecast_history_air_data.turnover_days * dc_base_forecast_history_air_data.daily_weighted_sales) + dc_base_forecast_history_air_data.quantity_safe_inventory;
}
datas.FirstOrDefault(s => s.name == "空运周转数(推荐空运)").days.Add(new transfer_profit_dto.day_dto
{
has_int = true,
date = this_time,
val = modalData.quantity_final_advise_air
});
modalData.quantity_final_advise_air_amount = modalData.quantity_final_advise_air * modalData.purchase_quantity;
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.freight_unit_price_air * modalData.purchase_quantity;
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
});
modalData.freight_price_ocean_difference_amount = modalData.freight_price - modalData.freight_price_ocean;
modalData.freight_price_ocean_difference_amount = modalData.quantity_final_advise_freight - modalData.freight_price_ocean;
datas.FirstOrDefault(s => s.name == "实际-海运运费差值").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
......@@ -1567,7 +1601,7 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
val = (modalData.quantity_final_advise_amount ?? 0) <= 0 ? 0M : (Math.Round(modalData.quantity_final_ocean_difference_amount ?? 0 / modalData.quantity_final_advise_amount.Value, 3))
});
modalData.freight_price_air_difference_amount = modalData.freight_price - modalData.freight_price_air;
modalData.freight_price_air_difference_amount = modalData.quantity_final_advise_freight - modalData.freight_price_air;
datas.FirstOrDefault(s => s.name == "实际-空运运费差值").days.Add(new transfer_profit_dto.day_dto
{
date = this_time,
......@@ -1732,6 +1766,11 @@ from dc_auto_turnover_air where gmt_modified>=@btime and gmt_modified<=@etime
internal decimal? freight_price_air_difference_amount;
/// <summary>
/// 实际建议周转运费
/// </summary>
internal decimal? quantity_final_advise_freight;
/// <summary>
/// 采购单价
/// </summary>
public decimal? unit_price { get; set; }
......
......@@ -62,7 +62,7 @@ namespace AutoTurnOver.DB
{
endCountries = item.country_code,
character_skus = item.bailun_sku,
startPoint = "3"
startPoint = "3",
});
if (logisticsDatas != null && logisticsDatas.Count >= 1)
......
......@@ -43,8 +43,10 @@ namespace AutoTurnOver.Models.ApiDto
{
public string RecordStatus { get; set; } = ""; public string startPoint { get; set; } = ""; public string platform { get; set; } = ""; public string Line_Code { get; set; } = "";
public string country_code { get; set; } = "";
public int transport_type { get; set; } = 0;
public string endCountries { get; set; } = "";
public string character_skus { get; set; } = "";
public bool has_min_freight_unit_price { get; set; } = false;
public bool has_history_order { get; set; } = false;
}
}
......@@ -9,9 +9,11 @@ namespace AutoTurnOver.Models
public string name { get; set; }
public string remarks { get; set; }
public List<day_dto> days { get; set; }
public class day_dto
{
public bool has_int { get; set; }
public DateTime date { get; set; }
public string date_str { get {
return date.ToString("MM-dd"+$"({Sinicization(date.DayOfWeek)})");
......@@ -19,7 +21,16 @@ namespace AutoTurnOver.Models
public decimal? val { get; set; }
public string val_str { get {
return (val ?? 0).ToString("N");
if (val == null) return "-";
if (has_int)
{
return (val ?? 0).ToString();
}
else
{
return (val ?? 0).ToString("N");
}
} }
}
......
......@@ -448,7 +448,7 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp
{
endCountries = base_wa,
character_skus = skuItem.bailun_sku,
startPoint = "3"
startPoint = "3",
});
if (logisticsDatas != null && logisticsDatas.Count >= 1)
{
......
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