Commit 1d59400f by 泽锋 李

重新计算付款天数

parent fa80dcd0
...@@ -27,6 +27,11 @@ namespace AutoTurnOver.Models ...@@ -27,6 +27,11 @@ namespace AutoTurnOver.Models
public DateTime? shipping_time { get; set; } public DateTime? shipping_time { get; set; }
public DateTime? create_date { get; set; } public DateTime? create_date { get; set; }
/// <summary>
/// 付款天数
/// </summary>
public int? pay_days { get; set; }
} }
...@@ -60,7 +65,7 @@ namespace AutoTurnOver.Models ...@@ -60,7 +65,7 @@ namespace AutoTurnOver.Models
{ {
public int order_type { get; set; } public int order_type { get; set; }
public string order_type_str { get { public string order_type_str { get {
if (order_type == 11) if (order_type == 11 || order_type==14)
{ {
return "采购单-签收天数计算"; return "采购单-签收天数计算";
} }
......
...@@ -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(days: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,7 +31,7 @@ namespace AutoTurnOver.Purchase.AverageTarget ...@@ -31,7 +31,7 @@ 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("942517901", days: 360); //PurchaseAverageTargetServices.Calculation("946590901", days: 360);
//PurchaseAverageTargetServices.CalculationTransfer("942517901", 360); //PurchaseAverageTargetServices.CalculationTransfer("942517901", 360);
} }
catch (Exception ex) catch (Exception ex)
......
...@@ -142,22 +142,27 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp ...@@ -142,22 +142,27 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp
// 计算平均到货天数 // 计算平均到货天数
// 计算总交期 // 计算总交期
int delivery_days = 0; int delivery_days = 0;
int sum_pay_days = 0;
int sum_pay_day_count = 0;
foreach (var itemArrivalList in purchaseList.GroupBy(s => s.purchase_id)) foreach (var itemArrivalList in purchaseList.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; var temp_s_delivery_days = 0;
var pay_days = 0;
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);
pay_days = (int)Math.Ceiling(( tempPurchase.pay_time-tempPurchase.create_time).Value.TotalHours / 24);
sum_pay_day_count++;
} }
else else
{ {
temp_s_delivery_days = (int)Math.Ceiling((itemArrivalList.Min(s => s.last_signtime) - tempPurchase.confirm_time).Value.TotalHours / 24); temp_s_delivery_days = (int)Math.Ceiling((itemArrivalList.Min(s => s.last_signtime) - tempPurchase.confirm_time).Value.TotalHours / 24);
} }
delivery_days += temp_s_delivery_days; delivery_days += temp_s_delivery_days;
sum_pay_days += pay_days;
conn.Insert(new dc_base_order_data_source conn.Insert(new dc_base_order_data_source
{ {
...@@ -177,7 +182,8 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp ...@@ -177,7 +182,8 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp
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,
pay_days= pay_days
}); });
} }
...@@ -185,6 +191,7 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp ...@@ -185,6 +191,7 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp
// 平均采购交期 // 平均采购交期
var temp_delivery_days = delivery_days / purchaseList.Count; var temp_delivery_days = delivery_days / purchaseList.Count;
data.delivery_days = temp_delivery_days; data.delivery_days = temp_delivery_days;
data.payment_type = sum_pay_days / sum_pay_day_count;
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;
...@@ -211,16 +218,18 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp ...@@ -211,16 +218,18 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp
} }
else else
{ {
if (has_jit)
{
data.payment_type = 2; // 先货后款
}
// 不够3个单,不该有平均数 // 不够3个单,不该有平均数
// 不够5个单不算这个值 // 不够5个单不算这个值
var sku_sign_days = WriteConfig(conn, skuItem, has_jit); var sku_sign_days = WriteConfig(conn, skuItem, data.payment_type, has_jit);
data.delivery_days = (int)sku_sign_days; data.delivery_days = (int)sku_sign_days;
data.supplier_name = ""; data.supplier_name = "";
if (has_jit)
{
data.payment_type = 2; // 先货后款
}
AveragePurchase.Save(data, conn); AveragePurchase.Save(data, conn);
} }
...@@ -243,8 +252,21 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp ...@@ -243,8 +252,21 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp
public string no { get; set; } public string no { get; set; }
} }
public static decimal WriteConfig(MyMySqlConnection conn, temp_sku_dto skuItem, bool has_jit) /// <summary>
///
/// </summary>
/// <param name="conn"></param>
/// <param name="skuItem"></param>
/// <param name="pay_type">付款方式 1= 先款后货 2 = 先货后款</param>
/// <param name="has_jit"></param>
/// <returns></returns>
public static decimal WriteConfig(MyMySqlConnection conn, temp_sku_dto skuItem,int pay_type, bool has_jit)
{ {
var pay_days = 0;
if (pay_type == 1)
{
pay_days = 1;
}
var sku_sign_days = 0M; var sku_sign_days = 0M;
if (has_jit) if (has_jit)
{ {
...@@ -279,7 +301,8 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp ...@@ -279,7 +301,8 @@ where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t1.isp
order_type = "采购单-签收天数计算", order_type = "采购单-签收天数计算",
put_days = 0, put_days = 0,
sign_days = sku_sign_days, sign_days = sku_sign_days,
transport_type = "" transport_type = "",
pay_days = pay_days
}); });
return sku_sign_days; return sku_sign_days;
......
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