Commit 5cfebbff by 泽锋 李

刷新历史运输方式平均值数据

parent e2715b97
...@@ -515,6 +515,34 @@ namespace AutoTurnOver.DB ...@@ -515,6 +515,34 @@ namespace AutoTurnOver.DB
} }
} }
/// <summary> /// <summary>
/// 获取lms 的运输类型评价时效
/// </summary>
/// <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);
}
}
/// <summary>
/// 获取lms 的调拨单时效 /// 获取lms 的调拨单时效
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
......
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models.ApiDto
{
/// <summary>
/// 平均调拨类型
/// </summary>
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>
/// 产品数量 ( 海运 )
/// </summary>
public int product_count_2 { get; set; }
/// <summary>
/// 订单数量 ( 海运 )
/// </summary>
public int order_count_2 { get; set; }
/// <summary>
/// 产品数量 ( 空运 )
/// </summary>
public int product_count_3 { get; set; }
/// <summary>
/// 订单数量 ( 空运 )
/// </summary>
public int order_count_3 { get; set; }
}
public class api_transport_count_order_transfer_query_dto
{
public string bailun_sku { get; set; }
public string country { get; set; }
}
}
...@@ -49,5 +49,24 @@ namespace AutoTurnOver.Models ...@@ -49,5 +49,24 @@ namespace AutoTurnOver.Models
/// 调拨头程天数 /// 调拨头程天数
/// </summary> /// </summary>
public decimal transfer_delivery { get; set; } public decimal transfer_delivery { get; set; }
public int product_count { get; set; }
public int order_count { get; set; }
/// <summary>
/// 产品数量 ( 海运 )
/// </summary>
public int product_count_2 { get; set; }
/// <summary>
/// 订单数量 ( 海运 )
/// </summary>
public int order_count_2 { get; set; }
/// <summary>
/// 产品数量 ( 空运 )
/// </summary>
public int product_count_3 { get; set; }
/// <summary>
/// 订单数量 ( 空运 )
/// </summary>
public int order_count_3 { get; set; }
} }
} }
...@@ -22,7 +22,7 @@ namespace AutoTurnOver.Purchase.AverageTarget ...@@ -22,7 +22,7 @@ namespace AutoTurnOver.Purchase.AverageTarget
try try
{ {
Console.WriteLine($"开始 init ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"开始 init ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
//PurchaseAverageTargetServices.CalculationTransfer(days:360); PurchaseAverageTargetServices.CalculationTransfer(days:360);
Console.WriteLine($"结束 init,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"结束 init,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
} }
catch (Exception ex) catch (Exception ex)
......
...@@ -31,8 +31,8 @@ namespace AutoTurnOver.Purchase.AverageTarget ...@@ -31,8 +31,8 @@ namespace AutoTurnOver.Purchase.AverageTarget
//PurchaseAverageTargetServices.CalculationTransfer(); //PurchaseAverageTargetServices.CalculationTransfer();
//report.ResetTransExpectArrivaltime(); //report.ResetTransExpectArrivaltime();
//dc_auto_return_goods_config_dao.NewCalculation(); //dc_auto_return_goods_config_dao.NewCalculation();
PurchaseAverageTargetServices.Calculation("947332218", days: 360); //PurchaseAverageTargetServices.Calculation("947332218", days: 360);
// PurchaseAverageTargetServices.CalculationTransfer("217632401", 360); //PurchaseAverageTargetServices.CalculationTransfer("942517901", 360);
} }
catch (Exception ex) catch (Exception ex)
{ {
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
"api_lms_order_transfer_sku": "http://lms.bailuntec.com/api/order/transfer/list", "api_lms_order_transfer_sku": "http://lms.bailuntec.com/api/order/transfer/list",
"api_lms_order_transfer_sku_avg": "http://lms.bailuntec.com/api/order/transfer/avglist", "api_lms_order_transfer_sku_avg": "http://lms.bailuntec.com/api/order/transfer/avglist",
"api_lms_avg_order_transfer_list": "http://lms.bailuntec.com/api/order/transfer/avgorderlist", "api_lms_avg_order_transfer_list": "http://lms.bailuntec.com/api/order/transfer/avgorderlist",
"api_lms_transport_count_transfer_list": "http://lms.bailuntec.com/api/order/transfer/ApiGetTransportCountList",
"BrowseLogSetting": { "BrowseLogSetting": {
"Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo", "Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo",
"CanLog": "yes" "CanLog": "yes"
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
"api_lms_order_transfer_sku": "http://lms.bailuntec.com/api/order/transfer/list", "api_lms_order_transfer_sku": "http://lms.bailuntec.com/api/order/transfer/list",
"api_lms_order_transfer_sku_avg": "http://lms.bailuntec.com/api/order/transfer/avglist", "api_lms_order_transfer_sku_avg": "http://lms.bailuntec.com/api/order/transfer/avglist",
"api_lms_avg_order_transfer_list": "http://lms.bailuntec.com/api/order/transfer/avgorderlist", "api_lms_avg_order_transfer_list": "http://lms.bailuntec.com/api/order/transfer/avgorderlist",
"api_lms_transport_count_transfer_list": "http://lms.bailuntec.com/api/order/transfer/ApiGetTransportCountList",
"BrowseLogSetting": { "BrowseLogSetting": {
"Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo", "Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo",
"CanLog": "yes" "CanLog": "yes"
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
"api_lms_order_transfer_sku": "http://lms.bailuntec.com/api/order/transfer/list", "api_lms_order_transfer_sku": "http://lms.bailuntec.com/api/order/transfer/list",
"api_lms_order_transfer_sku_avg": "http://lms.bailuntec.com/api/order/transfer/avglist", "api_lms_order_transfer_sku_avg": "http://lms.bailuntec.com/api/order/transfer/avglist",
"api_lms_avg_order_transfer_list": "http://lms.bailuntec.com/api/order/transfer/avgorderlist", "api_lms_avg_order_transfer_list": "http://lms.bailuntec.com/api/order/transfer/avgorderlist",
"api_lms_transport_count_transfer_list": "http://lms.bailuntec.com/api/order/transfer/ApiGetTransportCountList",
"BrowseLogSetting": { "BrowseLogSetting": {
"Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo", "Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo",
"CanLog": "yes" "CanLog": "yes"
......
...@@ -20,7 +20,7 @@ namespace AutoTurnOver.Services ...@@ -20,7 +20,7 @@ namespace AutoTurnOver.Services
/// </summary> /// </summary>
public static int _seed_count = 10; public static int _seed_count = 10;
public static void Calculation(string bailun_sku = null,int days = 7) public static void Calculation(string bailun_sku = null, int days = 7)
{ {
MyMySqlConnection conn = connectionHelper._connection; MyMySqlConnection conn = connectionHelper._connection;
...@@ -66,7 +66,7 @@ namespace AutoTurnOver.Services ...@@ -66,7 +66,7 @@ namespace AutoTurnOver.Services
//查出来的采购单数量 //查出来的采购单数量
var purchase_order_count = purchaseList.Select(s => s.purchase_id).Distinct().Count(); var purchase_order_count = purchaseList.Select(s => s.purchase_id).Distinct().Count();
//有相关采购单 (要至少有3个单,才算平均数) //有相关采购单 (要至少有3个单,才算平均数)
if (purchaseList != null && purchase_order_count >= 3) if (purchaseList != null && purchase_order_count >= 3)
{ {
...@@ -79,7 +79,7 @@ namespace AutoTurnOver.Services ...@@ -79,7 +79,7 @@ namespace AutoTurnOver.Services
// 计算平均到货天数 // 计算平均到货天数
// 计算总交期 // 计算总交期
int delivery_days = 0; int delivery_days = 0;
foreach (var itemArrivalList in purchaseList.GroupBy(s => s.purchase_id)) foreach (var itemArrivalList in purchaseList.GroupBy(s => s.purchase_id))
{ {
...@@ -88,7 +88,7 @@ namespace AutoTurnOver.Services ...@@ -88,7 +88,7 @@ namespace AutoTurnOver.Services
if (tempPurchase.pay_type == 1) if (tempPurchase.pay_type == 1)
{ {
temp_s_delivery_days = (int)Math.Ceiling((itemArrivalList.Min(s => s.last_signtime) - tempPurchase.pay_time).Value.TotalHours / 24); temp_s_delivery_days = (int)Math.Ceiling((itemArrivalList.Min(s => s.last_signtime) - tempPurchase.pay_time).Value.TotalHours / 24);
} }
else else
{ {
...@@ -112,9 +112,9 @@ namespace AutoTurnOver.Services ...@@ -112,9 +112,9 @@ namespace AutoTurnOver.Services
confirm_time = tempPurchase.confirm_time, confirm_time = tempPurchase.confirm_time,
create_date = tempPurchase.create_time, create_date = tempPurchase.create_time,
pay_time = tempPurchase.pay_time, pay_time = tempPurchase.pay_time,
pay_type = (tempPurchase.pay_type == 1?"先款后货":"先货后款"), pay_type = (tempPurchase.pay_type == 1 ? "先款后货" : "先货后款"),
sign_time = itemArrivalList.Min(s => s.last_signtime), sign_time = itemArrivalList.Min(s => s.last_signtime),
put_time =( inboundList.OrderByDescending(s=>s.update_time).FirstOrDefault(s=>s.purchase_id== itemArrivalList.Key)??new Models.dc_base_purchase.dc_base_purchase_inbound_dto()).update_time put_time = (inboundList.OrderByDescending(s => s.update_time).FirstOrDefault(s => s.purchase_id == itemArrivalList.Key) ?? new Models.dc_base_purchase.dc_base_purchase_inbound_dto()).update_time
}); });
} }
...@@ -216,7 +216,7 @@ namespace AutoTurnOver.Services ...@@ -216,7 +216,7 @@ namespace AutoTurnOver.Services
} }
public static void CalculationTransfer(string bailun_sku = "", int days = 30) public static void CalculationTransfer(string bailun_sku = "", int days = 30)
{ {
MyMySqlConnection conn = connectionHelper._connection; MyMySqlConnection conn = connectionHelper._connection;
...@@ -264,10 +264,10 @@ namespace AutoTurnOver.Services ...@@ -264,10 +264,10 @@ namespace AutoTurnOver.Services
// 查询相关的入库记录 // 查询相关的入库记录
var inboundList = AveragePurchase.GetInboundList(purchaseWList.Select(s => s.purchase_id), skuItem.bailun_sku).ToList(); var inboundList = AveragePurchase.GetInboundList(purchaseWList.Select(s => s.purchase_id), skuItem.bailun_sku).ToList();
if (inboundList != null && inboundList.Count >= 1) if (inboundList != null && inboundList.Count >= 1)
{ {
foreach (var itemLms in inboundList.GroupBy(s=>s.purchase_id)) foreach (var itemLms in inboundList.GroupBy(s => s.purchase_id))
{ {
var puData = purchaseWList.FirstOrDefault(s => s.purchase_id == itemLms.Key); var puData = purchaseWList.FirstOrDefault(s => s.purchase_id == itemLms.Key);
conn.Insert(new dc_base_order_data_source conn.Insert(new dc_base_order_data_source
...@@ -280,7 +280,7 @@ namespace AutoTurnOver.Services ...@@ -280,7 +280,7 @@ namespace AutoTurnOver.Services
logistics_name = "", logistics_name = "",
order_no = itemLms.Key, order_no = itemLms.Key,
order_type = "采购单-质检入库天数计算", order_type = "采购单-质检入库天数计算",
put_days = (decimal)Math.Ceiling((itemLms.Max(s=>s.update_time) - itemLms.Max(s=>s.arrival_time)).TotalHours / 24), put_days = (decimal)Math.Ceiling((itemLms.Max(s => s.update_time) - itemLms.Max(s => s.arrival_time)).TotalHours / 24),
sign_days = 0, sign_days = 0,
transport_type = "", transport_type = "",
sign_time = itemLms.Max(s => s.arrival_time), sign_time = itemLms.Max(s => s.arrival_time),
...@@ -297,11 +297,11 @@ namespace AutoTurnOver.Services ...@@ -297,11 +297,11 @@ namespace AutoTurnOver.Services
if (inboundList != null && inboundList.Count() >= 1) if (inboundList != null && inboundList.Count() >= 1)
{ {
var inboundListGroup = inboundList.GroupBy(s => s.purchase_id).ToList(); var inboundListGroup = inboundList.GroupBy(s => s.purchase_id).ToList();
dataWarehouse.inbound_days = (int)inboundListGroup.Sum(s => Math.Ceiling((s.Max(v=>v.update_time) - s.Max(v=>v.arrival_time)).TotalHours / 24)) / inboundListGroup.Count(); dataWarehouse.inbound_days = (int)inboundListGroup.Sum(s => Math.Ceiling((s.Max(v => v.update_time) - s.Max(v => v.arrival_time)).TotalHours / 24)) / inboundListGroup.Count();
} }
else else
{ {
var inbound_days = WritePutConfig(conn,skuItem); var inbound_days = WritePutConfig(conn, skuItem);
dataWarehouse.inbound_days = (int)inbound_days; dataWarehouse.inbound_days = (int)inbound_days;
} }
} }
...@@ -360,7 +360,7 @@ namespace AutoTurnOver.Services ...@@ -360,7 +360,7 @@ namespace AutoTurnOver.Services
//warehouse_code = skuItem.warehouse_code, //warehouse_code = skuItem.warehouse_code,
logistics_code = dc_base_head_transport_config_data.logistics_code, logistics_code = dc_base_head_transport_config_data.logistics_code,
country = base_wa country = base_wa
}).GroupBy(s=>new { s.order_no,s.logistics_code}); }).GroupBy(s => new { s.order_no, s.logistics_code });
if (lmsAvg != null && lmsAvg.Count() >= 1) if (lmsAvg != null && lmsAvg.Count() >= 1)
{ {
...@@ -405,6 +405,22 @@ namespace AutoTurnOver.Services ...@@ -405,6 +405,22 @@ namespace AutoTurnOver.Services
WriteTransConfig(conn, skuItem, dataWarehouse); WriteTransConfig(conn, skuItem, dataWarehouse);
} }
var lmsTransportCountDatas = ApiUtility.GetLmsTransportCountList(new Models.ApiDto.api_transport_count_order_transfer_query_dto
{
bailun_sku = skuItem.bailun_sku,
country = base_wa
});
if (lmsTransportCountDatas != null && lmsTransportCountDatas.Count>=1)
{
var lmsTransportCountData = lmsTransportCountDatas.FirstOrDefault();
dataWarehouse.product_count = lmsTransportCountData.product_count;
dataWarehouse.product_count_2 = lmsTransportCountData.product_count_2;
dataWarehouse.product_count_3 = lmsTransportCountData.product_count_3;
dataWarehouse.order_count = lmsTransportCountData.order_count;
dataWarehouse.order_count_2 = lmsTransportCountData.order_count_2;
dataWarehouse.order_count_3 = lmsTransportCountData.order_count_3;
}
AveragePurchase.Save(dataWarehouse, conn); AveragePurchase.Save(dataWarehouse, conn);
...@@ -426,7 +442,7 @@ namespace AutoTurnOver.Services ...@@ -426,7 +442,7 @@ namespace AutoTurnOver.Services
date = DateTime.Now, date = DateTime.Now,
task_name = "CalculationTransfer", task_name = "CalculationTransfer",
message = $"{skuItem.bailun_sku}{skuItem.warehouse_code}", message = $"{skuItem.bailun_sku}{skuItem.warehouse_code}",
stack_trace = ex.Message + ": "+ ex.StackTrace stack_trace = ex.Message + ": " + ex.StackTrace
}); });
} }
...@@ -449,14 +465,14 @@ namespace AutoTurnOver.Services ...@@ -449,14 +465,14 @@ namespace AutoTurnOver.Services
/// <param name="conn"></param> /// <param name="conn"></param>
/// <param name="skuItem"></param> /// <param name="skuItem"></param>
/// <param name="dataWarehouse"></param> /// <param name="dataWarehouse"></param>
public static void WriteTransConfig(MyMySqlConnection conn, temp_sku_dto skuItem, dc_average_warehouse dataWarehouse) public static void WriteTransConfig(MyMySqlConnection conn, temp_sku_dto skuItem, dc_average_warehouse dataWarehouse)
{ {
dataWarehouse.abroad_inbound_delivery = 0M; // 海外仓入库 dataWarehouse.abroad_inbound_delivery = 0M; // 海外仓入库
dataWarehouse.transfer_delivery = 0M; // 调拨 dataWarehouse.transfer_delivery = 0M; // 调拨
dataWarehouse.transfer_bale_delivery = 0M; // 打包. dataWarehouse.transfer_bale_delivery = 0M; // 打包.
if (skuItem.hq_type == "国内仓") if (skuItem.hq_type == "国内仓")
{ {
conn.Insert(new dc_base_order_data_source conn.Insert(new dc_base_order_data_source
{ {
bailun_sku = skuItem.bailun_sku, bailun_sku = skuItem.bailun_sku,
...@@ -476,7 +492,7 @@ namespace AutoTurnOver.Services ...@@ -476,7 +492,7 @@ namespace AutoTurnOver.Services
{ {
// 查询aims的配置 // 查询aims的配置
var dc_auto_config_delivery_data = conn.QuerySingleOrDefault<dc_auto_config_delivery>(" select * from dc_auto_config_delivery where `type`=3 and variable_code=@variable_code ",new { variable_code = skuItem.warehouse_code}); var dc_auto_config_delivery_data = conn.QuerySingleOrDefault<dc_auto_config_delivery>(" select * from dc_auto_config_delivery where `type`=3 and variable_code=@variable_code ", new { variable_code = skuItem.warehouse_code });
if (dc_auto_config_delivery_data != null) if (dc_auto_config_delivery_data != null)
{ {
dataWarehouse.abroad_inbound_delivery = dc_auto_config_delivery_data.abroad_inbound; // 海外仓入库 dataWarehouse.abroad_inbound_delivery = dc_auto_config_delivery_data.abroad_inbound; // 海外仓入库
...@@ -511,14 +527,14 @@ namespace AutoTurnOver.Services ...@@ -511,14 +527,14 @@ namespace AutoTurnOver.Services
} }
} }
public static decimal WritePutConfig(MyMySqlConnection conn, temp_sku_dto skuItem) public static decimal WritePutConfig(MyMySqlConnection conn, temp_sku_dto skuItem)
{ {
var sku_sign_days = 2M; var sku_sign_days = 2M;
conn.Insert(new dc_base_order_data_source conn.Insert(new dc_base_order_data_source
{ {
......
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