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
{
sql = @"
select t2.sku,
t1.deliverytime,
t1.targetwareno as 'warehouse_code',
t3.warehouse_name as 'warehouse_name',
t4.sku_title_cn as 'sku_name',
......
......@@ -20,6 +20,8 @@ namespace AutoTurnOver.Models
public string product_inner_code { get; set; }
public string bailun_category_name { 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
......
......@@ -66,6 +66,10 @@ namespace AutoTurnOver.Models
public string trackingno { get; set; }
public string transfer_no { get; set; }
public string box_id { get; set; }
/// <summary>
/// 交运时间
/// </summary>
public DateTime? deliverytime { get; set; }
public DateTime? node_date { get; set; }
public string node_date_str
{
......
......@@ -22,7 +22,7 @@ namespace AutoTurnOver.Purchase.AverageTarget
try
{
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")}");
}
catch (Exception ex)
......@@ -37,7 +37,7 @@ namespace AutoTurnOver.Purchase.AverageTarget
try
{
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")}");
}
catch (Exception ex)
......
......@@ -31,8 +31,8 @@ namespace AutoTurnOver.Purchase.AverageTarget
//PurchaseAverageTargetServices.CalculationTransfer();
//report.ResetTransExpectArrivaltime();
//dc_auto_return_goods_config_dao.NewCalculation();
//PurchaseAverageTargetServices.CalculationTransfer("942517901", days: 360);
//PurchaseAverageTargetServices.Calculation(360);
//PurchaseAverageTargetServices.Calculation("951755902", days: 360);
//PurchaseAverageTargetServices.CalculationTransfer("951755902", 360);
}
catch (Exception ex)
{
......
......@@ -19,7 +19,7 @@ namespace AutoTurnOver.Services
/// </summary>
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;
......@@ -37,7 +37,7 @@ namespace AutoTurnOver.Services
{
// 获取最近2天发送变化的SKU 用于计算
var chageSkuList = AveragePurchase.GetChangeSku(day);
var chageSkuList = AveragePurchase.GetTransferChangeSku(days, bailun_sku);
foreach (var skuItem in chageSkuList)
{
// 清空记录,重新记录数据源
......@@ -79,6 +79,7 @@ namespace AutoTurnOver.Services
int delivery_days = 0;
// 查询相关的到货记录
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))
{
var tempPurchase = purchaseList.SingleOrDefault(s => s.purchase_id == itemArrivalList.Key);
......@@ -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);
}
delivery_days += temp_s_delivery_days;
has_data = true;
conn.Insert(new dc_base_order_data_source
{
bailun_sku = skuItem.bailun_sku,
......@@ -110,23 +111,19 @@ namespace AutoTurnOver.Services
});
}
// 平均采购交期
var temp_delivery_days = delivery_days / purchaseList.Count;
//够5个单才算平均值给系统用
// 如果是海外仓暂时不算,否则算出来30几天的平均值,影响计划单交期调整的推进
if (purchase_order_count >= 5 && skuItem.hq_type == "国内仓")
if (purchase_order_count >= 5)
{
data.delivery_days = temp_delivery_days;
}
else
{
// 不够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.payment_type = purchaseList.Any(s => s.pay_type == 1) ? 1 : 2;
......@@ -145,20 +142,18 @@ namespace AutoTurnOver.Services
else
{
// 不够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 = "";
if (has_jit)
{
data.delivery_days = 3;
data.payment_type = 2; // 先货后款
}
AveragePurchase.Save(data, conn);
}
}
task_log.CompleteTime = DateTime.Now;
......@@ -171,6 +166,48 @@ namespace AutoTurnOver.Services
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)
{
......@@ -195,7 +232,7 @@ namespace AutoTurnOver.Services
{
try
{
if (skuItem.warehouse_code == "MMDUSFBA")
if (skuItem.warehouse_code == " BLGZ03")
{
}
......@@ -203,7 +240,12 @@ namespace AutoTurnOver.Services
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()
{
bailun_sku = skuItem.bailun_sku,
......@@ -215,12 +257,7 @@ namespace AutoTurnOver.Services
// 查询相关的入库记录
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)
{
foreach (var itemLms in inboundList)
......@@ -249,9 +286,15 @@ namespace AutoTurnOver.Services
}
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
transport_type = itemLms.transport_type
});
}
}
else
{
//写入调拨配置
WriteTransConfig(conn, skuItem, dataWarehouse);
}
......@@ -385,6 +432,100 @@ namespace AutoTurnOver.Services
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)
{
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