Commit 2a833c89 by 泽锋 李

init 平均值计算

parent 98b9dadb
...@@ -34,6 +34,21 @@ namespace AutoTurnOver.Purchase.AverageTarget ...@@ -34,6 +34,21 @@ namespace AutoTurnOver.Purchase.AverageTarget
Task.Factory.StartNew(() => Task.Factory.StartNew(() =>
{ {
try
{
Console.WriteLine($"开始 init2 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
PurchaseAverageTargetServices.Calculation(360);
Console.WriteLine($"结束 init2,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
catch (Exception ex)
{
Console.WriteLine("周销售系数计算异常" + ex.Message);
Console.WriteLine("周销售系数计算异常" + ex.StackTrace);
}
});
Task.Factory.StartNew(() =>
{
while (true) while (true)
{ {
try try
......
...@@ -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() public static void Calculation(int day = 30)
{ {
MyMySqlConnection conn = connectionHelper._connection; MyMySqlConnection conn = connectionHelper._connection;
...@@ -37,9 +37,16 @@ namespace AutoTurnOver.Services ...@@ -37,9 +37,16 @@ namespace AutoTurnOver.Services
{ {
// 获取最近2天发送变化的SKU 用于计算 // 获取最近2天发送变化的SKU 用于计算
var chageSkuList = AveragePurchase.GetChangeSku(30); var chageSkuList = AveragePurchase.GetChangeSku(day);
foreach (var skuItem in chageSkuList) foreach (var skuItem in chageSkuList)
{ {
// 清空记录,重新记录数据源
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 = "采购单-签收天数计算"
});
// 判断是否jit // 判断是否jit
var has_jit = ((skuItem.buyer_name == "张莹霞" || skuItem.buyer_name == "张莹霞1") && skuItem.warehouse_code == "GZBLWH"); var has_jit = ((skuItem.buyer_name == "张莹霞" || skuItem.buyer_name == "张莹霞1") && skuItem.warehouse_code == "GZBLWH");
...@@ -75,24 +82,46 @@ namespace AutoTurnOver.Services ...@@ -75,24 +82,46 @@ namespace AutoTurnOver.Services
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);
var temp_s_delivery_days = 0;
if (tempPurchase.pay_type == 1) if (tempPurchase.pay_type == 1)
{ {
delivery_days += (int)Math.Ceiling((itemArrivalList.Min(s => s.update_time) - tempPurchase.pay_time).Value.TotalHours / 24); temp_s_delivery_days = (int)Math.Ceiling((itemArrivalList.Min(s => s.update_time) - tempPurchase.pay_time).Value.TotalHours / 24);
} }
else else
{ {
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;
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 = itemArrivalList.Key,
order_type = "采购单-签收天数计算",
put_days = 0,
sign_days = temp_s_delivery_days,
transport_type = ""
});
} }
// 平均采购交期 // 平均采购交期
var temp_delivery_days = delivery_days / purchaseList.Count; var temp_delivery_days = delivery_days / purchaseList.Count;
//够5个单才算平均值给系统用 //够5个单才算平均值给系统用
// 如果是海外仓暂时不算,否则算出来30几天的平均值,影响计划单交期调整的推进 // 如果是海外仓暂时不算,否则算出来30几天的平均值,影响计划单交期调整的推进
if (purchase_order_count >= 5 && skuItem.hq_type == "国内仓") if (purchase_order_count >= 5 && skuItem.hq_type == "国内仓")
{ {
data.delivery_days = temp_delivery_days; data.delivery_days = temp_delivery_days;
} }
else else
{ {
......
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