Commit d66cd5bd by lizefeng

早上9点,先一个义乌01的缺货建议

parent e0077df1
...@@ -63,6 +63,10 @@ namespace AutoGeneratePurchaseAdvise ...@@ -63,6 +63,10 @@ namespace AutoGeneratePurchaseAdvise
Console.WriteLine($"开始推送 服装采购建议任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"开始推送 服装采购建议任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
PurchaseAdviseServices.AutoPushBuySys(2); PurchaseAdviseServices.AutoPushBuySys(2);
Console.WriteLine($"结束推送 服装采购建议任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"结束推送 服装采购建议任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
Console.WriteLine($"开始推送 义乌无库仓采购建议任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
PurchaseAdviseServices.AutoPushBuySys(6);
Console.WriteLine($"结束推送 义乌无库仓采购建议任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
} }
} }
......
...@@ -226,7 +226,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise= ...@@ -226,7 +226,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise=
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, _connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`,
`product_inner_code`,`goods_quantity_init_advise`,`goods_moq`,`good_sku_codes`,`goods_history_fourteenday_sales`,`history_fourteenday_sales`, `product_inner_code`,`goods_quantity_init_advise`,`goods_moq`,`good_sku_codes`,`goods_history_fourteenday_sales`,`history_fourteenday_sales`,
`quantity_actual`,`main_id`, `quantity_actual`,`main_id`,
`forecast_formula`,`fit_forecast_formula`,`turnover_days`,`supplier_delivery`,`inspection_delivery`,`transfer_delivery`,`sales_upper_limit`,`ispush`,`type`,`suppliers_id`,`quantity_out_stock`,`purchase_type_jit`) `forecast_formula`,`fit_forecast_formula`,`turnover_days`,`supplier_delivery`,`inspection_delivery`,`transfer_delivery`,`sales_upper_limit`,`ispush`,`type`,
`suppliers_id`,`quantity_out_stock`,`purchase_type_jit`,`quantity_out_stock_aliexpress`)
( (
select select
t1.bailun_sku, t1.bailun_sku,
...@@ -252,7 +253,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise= ...@@ -252,7 +253,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise=
2 as 'type', 2 as 'type',
t6.suppliers_id, t6.suppliers_id,
t7.quantity_out_stock, t7.quantity_out_stock,
2 as 'purchase_type_jit' 2 as 'purchase_type_jit',
sum(t7.quantity_out_stock_aliexpress) as 'quantity_out_stock_aliexpress'
from dc_base_stock as t1 from dc_base_stock as t1
left join dc_auto_sales as t2 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code left join dc_auto_sales as t2 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code
left join dc_auto_config_sku_warehouse as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code left join dc_auto_config_sku_warehouse as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code
...@@ -287,7 +289,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise= ...@@ -287,7 +289,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise=
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, _connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`,
`product_inner_code`,`goods_quantity_init_advise`,`goods_moq`,`good_sku_codes`,`goods_history_fourteenday_sales`,`history_fourteenday_sales`, `product_inner_code`,`goods_quantity_init_advise`,`goods_moq`,`good_sku_codes`,`goods_history_fourteenday_sales`,`history_fourteenday_sales`,
`quantity_actual`,`main_id`, `quantity_actual`,`main_id`,
`forecast_formula`,`fit_forecast_formula`,`turnover_days`,`supplier_delivery`,`inspection_delivery`,`transfer_delivery`,`sales_upper_limit`,`ispush`,`type`,`suppliers_id`,`quantity_out_stock`,`purchase_type_jit`) `forecast_formula`,`fit_forecast_formula`,`turnover_days`,`supplier_delivery`,`inspection_delivery`,`transfer_delivery`,`sales_upper_limit`,`ispush`,
`type`,`suppliers_id`,`quantity_out_stock`,`purchase_type_jit`,`quantity_out_stock_aliexpress`)
( (
select select
t1.bailun_sku, t1.bailun_sku,
...@@ -313,7 +316,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise= ...@@ -313,7 +316,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise=
2 as 'type', 2 as 'type',
t6.suppliers_id, t6.suppliers_id,
t7.quantity_out_stock, t7.quantity_out_stock,
2 as 'purchase_type_jit' 2 as 'purchase_type_jit',
sum(t7.quantity_out_stock_aliexpress) as 'quantity_out_stock_aliexpress'
from dc_base_stock as t1 from dc_base_stock as t1
left join dc_auto_sales as t2 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code left join dc_auto_sales as t2 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code
left join dc_auto_config_sku_warehouse as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code left join dc_auto_config_sku_warehouse as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code
...@@ -391,6 +395,67 @@ t7.bailun_order_ids ...@@ -391,6 +395,67 @@ t7.bailun_order_ids
} }
/// <summary> /// <summary>
/// 义乌无库仓
/// </summary>
/// <param name="mainID"></param>
/// <returns></returns>
public static int ImportYiWuShortageDetailed(int mainID)
{
var now = DateTime.Now;
// 计算之前先刷新一遍缺货,一面产生间隙(8点56进系统的单,没有算到缺货里面,下午1点那波也不会算上他)
ResetShortageField();
if (mainID <= 0)
{
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = now, no = purchase_advise.GenerateOrderNo(), type = 1 }) ?? 0;
}
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`source_warehouse_code`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`,
`product_inner_code`,`goods_quantity_init_advise`,`goods_moq`,`good_sku_codes`,`goods_history_fourteenday_sales`,`history_fourteenday_sales`,
`quantity_actual`,`main_id`,
`forecast_formula`,`fit_forecast_formula`,`turnover_days`,`supplier_delivery`,`inspection_delivery`,`transfer_delivery`,`sales_upper_limit`,`ispush`,`type`,`suppliers_id`,`quantity_out_stock`,`purchase_type_jit`,`bailun_order_ids`)
(
select
t1.bailun_sku,
t1.warehouse_code as 'source_warehouse_code',
t1.warehouse_code as 'warehouse_code',
-1 as 'quantity_init_advise', -- 原始采购建议数量 new
( (t7.quantity_out_stock) - ( ((case when t7.quantity_out_stock>0 then 0 else (t1.usable_stock+t1.occupy_order) end )) + (t1.quantity_transfer) + (t7.quantity_purchase) ) ) as 'quantity_final_advise', -- 计算moq之后的数量 new
t6.product_inner_code as 'product_inner_code', -- 内部商品编码 new
0 as 'goods_quantity_init_advise', -- 商品本次的建议下单数量 new
0 as 'goods_moq', -- 商品的moq new
0 as 'good_sku_codes', -- 商品涉及的下单所有sku new
0 as 'goods_history_fourteenday_sales', -- 商品的最近14日总日均销量
-1 as 'history_fourteenday_sales', -- sku的最近14日日均
0 as 'quantity_actual', -- 真实下单数量
@main_id as 'main_id',
t2.forecast_formula as 'forecast_formula',
t2.fit_forecast_formula as 'fit_forecast_formula',
0 as 'turnover_days',
0 as 'supplier_delivery',
0 as inspection_delivery,
0 as transfer_delivery,
0 as sales_upper_limit,
0 as 'ispush',
2 as 'type',
t6.suppliers_id,
t7.quantity_out_stock,
0 as 'purchase_type_jit',
t7.bailun_order_ids
from dc_base_stock as t1
left join dc_auto_sales as t2 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code
left join dc_auto_config_sku_warehouse as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code
left join dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku
left join dc_mid_transit as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code
where t6.`status`=2 and ( t1.warehouse_code in ('YWWH01') )
and ( t5.`status`=0 or t5.`status` is null )
and ((case when t7.quantity_out_stock>0 then 0 else (t1.usable_stock+t1.occupy_order) end ) + t7.quantity_transfer + t7.quantity_purchase < t7.quantity_out_stock)
) ", new { main_id = mainID }, commandTimeout: 0);
return mainID;
}
/// <summary>
/// 刷新缺货字段 /// 刷新缺货字段
/// </summary> /// </summary>
public static void ResetShortageField() public static void ResetShortageField()
......
...@@ -165,6 +165,11 @@ namespace AutoTurnOver.Models ...@@ -165,6 +165,11 @@ namespace AutoTurnOver.Models
/// </summary> /// </summary>
public string bailun_order_ids { get; set; } public string bailun_order_ids { get; set; }
/// <summary>
/// 速卖通的缺货数量
/// </summary>
public decimal? quantity_out_stock_aliexpress { get; set; }
} }
public enum purchase_type_jit_enum public enum purchase_type_jit_enum
{ {
......
...@@ -184,6 +184,34 @@ namespace AutoTurnOver.Services ...@@ -184,6 +184,34 @@ namespace AutoTurnOver.Services
} }
/// <summary> /// <summary>
/// 速卖通的挑出来单独下
/// </summary>
public static void PushBuySysSplit(List<dc_auto_purchase_advise_detailed_dto> datas, UserData user, bool is_skip_error)
{
if (datas == null || datas.Count <= 0) return;
var ali_datas = new List<dc_auto_purchase_advise_detailed_dto>();
var other_datas = new List<dc_auto_purchase_advise_detailed_dto>();
foreach (var item in datas)
{
if("张莹霞".Equals(item.buyer_name) && item.quantity_out_stock_aliexpress>0)
{
//if(item.)
}
}
if(ali_datas!=null && ali_datas.Count > 0)
{
PushBuySys(ali_datas, user, is_skip_error);
}
if (other_datas != null && other_datas.Count > 0)
{
PushBuySys(other_datas, user, is_skip_error);
}
}
/// <summary>
/// 自动推送采购单 /// 自动推送采购单
/// </summary> /// </summary>
/// <param name="type">1:张莹霞 2:赵美聪 3:陈嘉雯1 </param> /// <param name="type">1:张莹霞 2:赵美聪 3:陈嘉雯1 </param>
...@@ -212,6 +240,10 @@ namespace AutoTurnOver.Services ...@@ -212,6 +240,10 @@ namespace AutoTurnOver.Services
{ {
mainID = purchase_advise.ImportFuZhuangShortageIncreaseDetailed(0); mainID = purchase_advise.ImportFuZhuangShortageIncreaseDetailed(0);
} }
else if (type == 6)
{
mainID = purchase_advise.ImportYiWuShortageDetailed(0);
}
List<dc_auto_purchase_advise_detailed_dto> datas = new List<dc_auto_purchase_advise_detailed_dto>(); List<dc_auto_purchase_advise_detailed_dto> datas = new List<dc_auto_purchase_advise_detailed_dto>();
var total = 0; var total = 0;
......
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