Commit 50795701 by 泽锋 李

刷新节点数据

parent 4ac8b821
...@@ -1699,6 +1699,7 @@ left join dc_auto_forecast_fluctuation as t7 on t2.sku = t7.bailun_sku and t1.ta ...@@ -1699,6 +1699,7 @@ left join dc_auto_forecast_fluctuation as t7 on t2.sku = t7.bailun_sku and t1.ta
{ {
sql = @" sql = @"
select t2.sku, select t2.sku,
t1.deliverytime,
t1.targetwareno as 'warehouse_code', t1.targetwareno as 'warehouse_code',
t3.warehouse_name as 'warehouse_name', t3.warehouse_name as 'warehouse_name',
t4.sku_title_cn as 'sku_name', t4.sku_title_cn as 'sku_name',
......
...@@ -20,6 +20,8 @@ namespace AutoTurnOver.Models ...@@ -20,6 +20,8 @@ namespace AutoTurnOver.Models
public string product_inner_code { get; set; } public string product_inner_code { get; set; }
public string bailun_category_name { get; set; } public string bailun_category_name { get; set; }
public string product_type_desc { get; set; } public string product_type_desc { get; set; }
public int supplier_delivery { get; set; }
public int transfer_delivery { get; set; }
} }
public class dc_base_sku_search_dto: page_search_dto public class dc_base_sku_search_dto: page_search_dto
......
...@@ -66,6 +66,10 @@ namespace AutoTurnOver.Models ...@@ -66,6 +66,10 @@ namespace AutoTurnOver.Models
public string trackingno { get; set; } public string trackingno { get; set; }
public string transfer_no { get; set; } public string transfer_no { get; set; }
public string box_id { get; set; } public string box_id { get; set; }
/// <summary>
/// 交运时间
/// </summary>
public DateTime? deliverytime { get; set; }
public DateTime? node_date { get; set; } public DateTime? node_date { get; set; }
public string node_date_str public string node_date_str
{ {
......
...@@ -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)
...@@ -37,7 +37,7 @@ namespace AutoTurnOver.Purchase.AverageTarget ...@@ -37,7 +37,7 @@ namespace AutoTurnOver.Purchase.AverageTarget
try try
{ {
Console.WriteLine($"开始 init2 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"开始 init2 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
PurchaseAverageTargetServices.Calculation(360); PurchaseAverageTargetServices.Calculation(days:360);
Console.WriteLine($"结束 init2,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"结束 init2,线程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.CalculationTransfer("942517901", days: 360); //PurchaseAverageTargetServices.Calculation("951755902", days: 360);
//PurchaseAverageTargetServices.Calculation(360); //PurchaseAverageTargetServices.CalculationTransfer("951755902", 360);
} }
catch (Exception ex) catch (Exception ex)
{ {
......
...@@ -19,7 +19,7 @@ namespace AutoTurnOver.Services ...@@ -19,7 +19,7 @@ namespace AutoTurnOver.Services
/// </summary> /// </summary>
public static int _seed_count = 5; public static int _seed_count = 5;
public static void Calculation(int day = 7) public static void Calculation(string bailun_sku = null,int days = 7)
{ {
MyMySqlConnection conn = connectionHelper._connection; MyMySqlConnection conn = connectionHelper._connection;
...@@ -37,7 +37,7 @@ namespace AutoTurnOver.Services ...@@ -37,7 +37,7 @@ namespace AutoTurnOver.Services
{ {
// 获取最近2天发送变化的SKU 用于计算 // 获取最近2天发送变化的SKU 用于计算
var chageSkuList = AveragePurchase.GetChangeSku(day); var chageSkuList = AveragePurchase.GetTransferChangeSku(days, bailun_sku);
foreach (var skuItem in chageSkuList) foreach (var skuItem in chageSkuList)
{ {
// 清空记录,重新记录数据源 // 清空记录,重新记录数据源
...@@ -79,6 +79,7 @@ namespace AutoTurnOver.Services ...@@ -79,6 +79,7 @@ namespace AutoTurnOver.Services
int delivery_days = 0; int delivery_days = 0;
// 查询相关的到货记录 // 查询相关的到货记录
var arrivalList = AveragePurchase.GetArrivalList(purchaseList.Select(s => s.purchase_id), skuItem.bailun_sku); var arrivalList = AveragePurchase.GetArrivalList(purchaseList.Select(s => s.purchase_id), skuItem.bailun_sku);
var has_data = false;
foreach (var itemArrivalList in arrivalList.GroupBy(s => s.purchase_id)) foreach (var itemArrivalList in arrivalList.GroupBy(s => s.purchase_id))
{ {
var tempPurchase = purchaseList.SingleOrDefault(s => s.purchase_id == itemArrivalList.Key); var tempPurchase = purchaseList.SingleOrDefault(s => s.purchase_id == itemArrivalList.Key);
...@@ -93,7 +94,7 @@ namespace AutoTurnOver.Services ...@@ -93,7 +94,7 @@ namespace AutoTurnOver.Services
temp_s_delivery_days = (int)Math.Ceiling((itemArrivalList.Min(s => s.update_time) - tempPurchase.confirm_time).Value.TotalHours / 24); temp_s_delivery_days = (int)Math.Ceiling((itemArrivalList.Min(s => s.update_time) - tempPurchase.confirm_time).Value.TotalHours / 24);
} }
delivery_days += temp_s_delivery_days; delivery_days += temp_s_delivery_days;
has_data = true;
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,
...@@ -110,23 +111,19 @@ namespace AutoTurnOver.Services ...@@ -110,23 +111,19 @@ namespace AutoTurnOver.Services
}); });
} }
// 平均采购交期 // 平均采购交期
var temp_delivery_days = delivery_days / purchaseList.Count; var temp_delivery_days = delivery_days / purchaseList.Count;
//够5个单才算平均值给系统用 //够5个单才算平均值给系统用
// 如果是海外仓暂时不算,否则算出来30几天的平均值,影响计划单交期调整的推进 if (purchase_order_count >= 5)
if (purchase_order_count >= 5 && skuItem.hq_type == "国内仓")
{ {
data.delivery_days = temp_delivery_days; data.delivery_days = temp_delivery_days;
} }
else else
{ {
// 不够5个单不算这个值 // 不够5个单不算这个值
data.delivery_days = -1; var sku_sign_days = WriteConfig(conn, skuItem, has_jit);
data.delivery_days = (int)sku_sign_days;
} }
data.virtual_delivery_days = temp_delivery_days; data.virtual_delivery_days = temp_delivery_days;
data.payment_type = purchaseList.Any(s => s.pay_type == 1) ? 1 : 2; data.payment_type = purchaseList.Any(s => s.pay_type == 1) ? 1 : 2;
...@@ -145,20 +142,18 @@ namespace AutoTurnOver.Services ...@@ -145,20 +142,18 @@ namespace AutoTurnOver.Services
else else
{ {
// 不够3个单,不该有平均数 // 不够3个单,不该有平均数
data.delivery_days = -1; // 不够5个单不算这个值
var sku_sign_days = WriteConfig(conn, skuItem, has_jit);
data.delivery_days = (int)sku_sign_days;
data.supplier_name = ""; data.supplier_name = "";
if (has_jit) if (has_jit)
{ {
data.delivery_days = 3;
data.payment_type = 2; // 先货后款 data.payment_type = 2; // 先货后款
} }
AveragePurchase.Save(data, conn); AveragePurchase.Save(data, conn);
} }
} }
task_log.CompleteTime = DateTime.Now; task_log.CompleteTime = DateTime.Now;
...@@ -171,6 +166,48 @@ namespace AutoTurnOver.Services ...@@ -171,6 +166,48 @@ namespace AutoTurnOver.Services
conn.Update(task_log); conn.Update(task_log);
} }
public static decimal WriteConfig(MyMySqlConnection conn, temp_sku_dto skuItem, bool has_jit)
{
var sku_sign_days = 0M;
if (has_jit)
{
sku_sign_days = 3;
}
else
{
// 查sku表
var skuData = conn.QuerySingleOrDefault<dc_base_sku>(" select * from dc_base_sku where bailun_sku=@bailun_sku ", new { bailun_sku = skuItem.bailun_sku });
if (skuData != null)
{
if (skuItem.hq_type == "国内仓")
{
sku_sign_days = skuData.supplier_delivery;
}
else
{
sku_sign_days = skuData.transfer_delivery;
}
}
}
conn.Insert(new dc_base_order_data_source
{
bailun_sku = skuItem.bailun_sku,
warehouse_code = skuItem.warehouse_code,
logistics_code = "",
bailun_sku_warehouse_code = $"{skuItem.bailun_sku}{skuItem.warehouse_code}",
bale_days = 1,
logistics_name = "",
order_no = "无有效历史单,读sku的配置",
order_type = "采购单-签收天数计算",
put_days = 0,
sign_days = sku_sign_days,
transport_type = ""
});
return sku_sign_days;
}
public static void CalculationTransfer(string bailun_sku = "", int days = 30) public static void CalculationTransfer(string bailun_sku = "", int days = 30)
{ {
...@@ -195,7 +232,7 @@ namespace AutoTurnOver.Services ...@@ -195,7 +232,7 @@ namespace AutoTurnOver.Services
{ {
try try
{ {
if (skuItem.warehouse_code == "MMDUSFBA") if (skuItem.warehouse_code == " BLGZ03")
{ {
} }
...@@ -203,7 +240,12 @@ namespace AutoTurnOver.Services ...@@ -203,7 +240,12 @@ namespace AutoTurnOver.Services
var purchaseWList = AveragePurchase.GetPurchaseListByWode(skuItem, _seed_count).ToList(); var purchaseWList = AveragePurchase.GetPurchaseListByWode(skuItem, _seed_count).ToList();
// 清空记录,重新记录数据源
conn.Execute(" delete from dc_base_order_data_source where bailun_sku_warehouse_code=@bailun_sku_warehouse_code and order_type=@order_type ", new
{
bailun_sku_warehouse_code = $"{skuItem.bailun_sku}{skuItem.warehouse_code}",
order_type = "采购单-质检入库天数计算"
});
dc_average_warehouse dataWarehouse = new dc_average_warehouse() dc_average_warehouse dataWarehouse = new dc_average_warehouse()
{ {
bailun_sku = skuItem.bailun_sku, bailun_sku = skuItem.bailun_sku,
...@@ -215,12 +257,7 @@ namespace AutoTurnOver.Services ...@@ -215,12 +257,7 @@ 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();
// 清空记录,重新记录数据源
conn.Execute(" delete from dc_base_order_data_source where bailun_sku_warehouse_code=@bailun_sku_warehouse_code and order_type=@order_type ", new
{
bailun_sku_warehouse_code = $"{skuItem.bailun_sku}{skuItem.warehouse_code}",
order_type = "采购单-质检入库天数计算"
});
if (inboundList != null && inboundList.Count >= 1) if (inboundList != null && inboundList.Count >= 1)
{ {
foreach (var itemLms in inboundList) foreach (var itemLms in inboundList)
...@@ -249,9 +286,15 @@ namespace AutoTurnOver.Services ...@@ -249,9 +286,15 @@ namespace AutoTurnOver.Services
} }
else else
{ {
dataWarehouse.inbound_days = 0; var inbound_days = WritePutConfig(conn,skuItem);
dataWarehouse.inbound_days = (int)inbound_days;
} }
} }
else
{
var inbound_days = WritePutConfig(conn, skuItem);
dataWarehouse.inbound_days = (int)inbound_days;
}
//头程天数 //头程天数
// 查询是否有默认渠道 // 查询是否有默认渠道
...@@ -354,7 +397,11 @@ namespace AutoTurnOver.Services ...@@ -354,7 +397,11 @@ namespace AutoTurnOver.Services
transport_type = itemLms.transport_type transport_type = itemLms.transport_type
}); });
} }
}
else
{
//写入调拨配置
WriteTransConfig(conn, skuItem, dataWarehouse);
} }
...@@ -385,6 +432,100 @@ namespace AutoTurnOver.Services ...@@ -385,6 +432,100 @@ namespace AutoTurnOver.Services
conn.Update(task_log); conn.Update(task_log);
} }
/// <summary>
/// 读头程天数的配置
/// </summary>
/// <param name="conn"></param>
/// <param name="skuItem"></param>
/// <param name="dataWarehouse"></param>
public static void WriteTransConfig(MyMySqlConnection conn, temp_sku_dto skuItem, dc_average_warehouse dataWarehouse)
{
dataWarehouse.abroad_inbound_delivery = 0M; // 海外仓入库
dataWarehouse.transfer_delivery = 0M; // 调拨
dataWarehouse.transfer_bale_delivery = 0M; // 打包.
if (skuItem.hq_type == "国内仓")
{
conn.Insert(new dc_base_order_data_source
{
bailun_sku = skuItem.bailun_sku,
warehouse_code = skuItem.warehouse_code,
logistics_code = "",
bailun_sku_warehouse_code = $"{skuItem.bailun_sku}{skuItem.warehouse_code}",
bale_days = dataWarehouse.transfer_bale_delivery,
logistics_name = "",
order_no = "国内仓,该字段无意义",
order_type = "调拨单-平均天数计算",
put_days = dataWarehouse.abroad_inbound_delivery,
sign_days = dataWarehouse.transfer_delivery,
transport_type = ""
});
}
else
{
// 查询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});
if (dc_auto_config_delivery_data != null)
{
dataWarehouse.abroad_inbound_delivery = dc_auto_config_delivery_data.abroad_inbound; // 海外仓入库
dataWarehouse.transfer_delivery = dc_auto_config_delivery_data.tranfer_head; // 调拨
dataWarehouse.transfer_bale_delivery = dc_auto_config_delivery_data.tranfer_bale; // 打包.
}
else
{
var dc_auto_config_delivery_data1 = conn.QuerySingleOrDefault<dc_auto_config_delivery>(" select * from dc_auto_config_delivery where `type`=4 and variable_code=@variable_code ", new { variable_code = skuItem.hq_type });
if (dc_auto_config_delivery_data1 != null)
{
dataWarehouse.abroad_inbound_delivery = dc_auto_config_delivery_data1.abroad_inbound; // 海外仓入库
dataWarehouse.transfer_delivery = dc_auto_config_delivery_data1.tranfer_head; // 调拨
dataWarehouse.transfer_bale_delivery = dc_auto_config_delivery_data1.tranfer_bale; // 打包.
}
}
conn.Insert(new dc_base_order_data_source
{
bailun_sku = skuItem.bailun_sku,
warehouse_code = skuItem.warehouse_code,
logistics_code = "",
bailun_sku_warehouse_code = $"{skuItem.bailun_sku}{skuItem.warehouse_code}",
bale_days = dataWarehouse.transfer_bale_delivery,
logistics_name = "",
order_no = "无有效历史单,读aims配置",
order_type = "调拨单-平均天数计算",
put_days = dataWarehouse.abroad_inbound_delivery,
sign_days = dataWarehouse.transfer_delivery,
transport_type = ""
});
}
}
public static decimal WritePutConfig(MyMySqlConnection conn, temp_sku_dto skuItem)
{
var sku_sign_days = 2M;
conn.Insert(new dc_base_order_data_source
{
bailun_sku = skuItem.bailun_sku,
warehouse_code = skuItem.warehouse_code,
logistics_code = "",
bailun_sku_warehouse_code = $"{skuItem.bailun_sku}{skuItem.warehouse_code}",
bale_days = 1,
logistics_name = "",
order_no = "无有效历史单,当前写死2天",
order_type = "采购单-质检入库天数计算",
put_days = 0,
sign_days = sku_sign_days,
transport_type = ""
});
return sku_sign_days;
}
public static IEnumerable<dc_average_purchase> GetListByWCode(string sku, string warehouse_code) public static IEnumerable<dc_average_purchase> GetListByWCode(string sku, string warehouse_code)
{ {
return AveragePurchase.GetListByWCode(sku, warehouse_code); return AveragePurchase.GetListByWCode(sku, warehouse_code);
......
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