Commit e252698d by 泽锋 李

新增最快达到货天数的预测

parent 26a1e1e9
...@@ -19,6 +19,11 @@ namespace AutoGeneratePurchaseAdvise ...@@ -19,6 +19,11 @@ namespace AutoGeneratePurchaseAdvise
{ {
//PurchaseAdviseServices.AutoPushBuySys(2); //PurchaseAdviseServices.AutoPushBuySys(2);
//PurchaseAdviseServices.AutoPushBuySys(1);
//PurchaseAdviseServices.AutoPushBuySys(2);
//PurchaseAdviseServices.AutoPushBuySys(6);
//PurchaseAdviseServices.AutoPushBuySys(7);
//PurchaseAdviseServices.Generate(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")));
} }
catch (Exception ex) catch (Exception ex)
{ {
......
...@@ -538,14 +538,8 @@ and t1.quantity_init_advise>=0 and ( t3.buyer_name in ('张莹霞1') and t1.ware ...@@ -538,14 +538,8 @@ and t1.quantity_init_advise>=0 and ( t3.buyer_name in ('张莹霞1') and t1.ware
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = time, no = purchase_advise.GenerateOrderNo(), buy_sys_plan_no = "ImportJITShortageDetailed" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = time, no = purchase_advise.GenerateOrderNo(), buy_sys_plan_no = "ImportJITShortageDetailed" }) ?? 0;
} }
// 采购员为 张莹霞 的商品 按缺货数量下单
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@"select
`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`,`quantity_out_stock_aliexpress`,`quantity_out_stock_amazon`,`quantity_out_stock_other`)
(
select
t1.bailun_sku, t1.bailun_sku,
'GZBLWH' as 'warehouse_code', 'GZBLWH' as 'warehouse_code',
( sum(t7.quantity_out_stock) - ( sum((case when t7.quantity_out_stock>0 then 0 else (t1.usable_stock+t1.occupy_order) end )) + sum(t1.quantity_transfer) + sum(t7.quantity_purchase) ) ) as 'quantity_init_advise', -- 原始采购建议数量 new ( sum(t7.quantity_out_stock) - ( sum((case when t7.quantity_out_stock>0 then 0 else (t1.usable_stock+t1.occupy_order) end )) + sum(t1.quantity_transfer) + sum(t7.quantity_purchase) ) ) as 'quantity_init_advise', -- 原始采购建议数量 new
...@@ -583,10 +577,15 @@ and t1.quantity_init_advise>=0 and ( t3.buyer_name in ('张莹霞1') and t1.ware ...@@ -583,10 +577,15 @@ and t1.quantity_init_advise>=0 and ( t3.buyer_name in ('张莹霞1') and t1.ware
where t6.`status`=2 and ( t6.buyer_name in ('张莹霞') and t1.warehouse_code in ('GZBLWH','GZBLYS') ) where t6.`status`=2 and ( t6.buyer_name in ('张莹霞') and t1.warehouse_code in ('GZBLWH','GZBLYS') )
and ( t5.`status`=0 or t5.`status` is null ) and ( t5.`status`=0 or t5.`status` is null )
GROUP BY t1.bailun_sku GROUP BY t1.bailun_sku
HAVING ( sum((case when t7.quantity_out_stock>0 then 0 else (t1.usable_stock+t1.occupy_order) end )) + sum(t7.quantity_transfer) + sum(t7.quantity_purchase) < sum(t7.quantity_out_stock) ) HAVING ( sum((case when t7.quantity_out_stock>0 then 0 else (t1.usable_stock+t1.occupy_order) end )) + sum(t7.quantity_transfer) + sum(t7.quantity_purchase) < sum(t7.quantity_out_stock) )", new { main_id = mainID }, commandTimeout: 0).ToList();
) ", new { main_id = mainID }, commandTimeout: 0);
if (datas != null)
{
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
...@@ -605,14 +604,10 @@ and t1.quantity_init_advise>=0 and ( t3.buyer_name in ('张莹霞1') and t1.ware ...@@ -605,14 +604,10 @@ and t1.quantity_init_advise>=0 and ( t3.buyer_name in ('张莹霞1') and t1.ware
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = time, no = purchase_advise.GenerateOrderNo(), buy_sys_plan_no = "ImportJITShortageDetailed1" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = time, no = purchase_advise.GenerateOrderNo(), buy_sys_plan_no = "ImportJITShortageDetailed1" }) ?? 0;
} }
// 采购员为 张莹霞 的商品 按缺货数量下单 // 采购员为 张莹霞 的商品 按缺货数量下单
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@" select
`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`,`quantity_out_stock_aliexpress`)
(
select
t1.bailun_sku, t1.bailun_sku,
'GZBLWH' as 'warehouse_code', 'GZBLWH' as 'warehouse_code',
-1 as 'quantity_init_advise', -- 原始采购建议数量 new -1 as 'quantity_init_advise', -- 原始采购建议数量 new
...@@ -646,10 +641,16 @@ sum(t7.quantity_out_stock_aliexpress) as 'quantity_out_stock_aliexpress' ...@@ -646,10 +641,16 @@ sum(t7.quantity_out_stock_aliexpress) as 'quantity_out_stock_aliexpress'
where t6.`status`=2 and ( t6.buyer_name in ('张莹霞1') and t1.warehouse_code in ('GZBLWH','GZBLYS') ) where t6.`status`=2 and ( t6.buyer_name in ('张莹霞1') and t1.warehouse_code in ('GZBLWH','GZBLYS') )
and ( t5.`status`=0 or t5.`status` is null ) and ( t5.`status`=0 or t5.`status` is null )
GROUP BY t1.bailun_sku GROUP BY t1.bailun_sku
HAVING ( sum((case when t7.quantity_out_stock>0 then 0 else (t1.usable_stock+t1.occupy_order) end )) < sum(t7.quantity_out_stock) ) HAVING ( sum((case when t7.quantity_out_stock>0 then 0 else (t1.usable_stock+t1.occupy_order) end )) < sum(t7.quantity_out_stock) ) ", new { main_id = mainID }, commandTimeout: 0).ToList();
) ", new { main_id = mainID }, commandTimeout: 0);
if (datas != null)
{
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
...@@ -669,12 +670,7 @@ sum(t7.quantity_out_stock_aliexpress) as 'quantity_out_stock_aliexpress' ...@@ -669,12 +670,7 @@ sum(t7.quantity_out_stock_aliexpress) as 'quantity_out_stock_aliexpress'
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportFuZhuangShortageDetailed" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportFuZhuangShortageDetailed" }) ?? 0;
} }
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`source_warehouse_code`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@" select
`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.bailun_sku,
t1.warehouse_code as 'source_warehouse_code', t1.warehouse_code as 'source_warehouse_code',
t1.warehouse_code as 'warehouse_code', t1.warehouse_code as 'warehouse_code',
...@@ -708,9 +704,15 @@ t7.bailun_order_ids ...@@ -708,9 +704,15 @@ t7.bailun_order_ids
left join dc_mid_transit as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code 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 ( t6.buyer_name in ('赵美聪','甄杰靖','赵美聪1','秦振荣','李华娟') and t1.warehouse_code in ('BLGZ03','GZBLWH') ) where t6.`status`=2 and ( t6.buyer_name in ('赵美聪','甄杰靖','赵美聪1','秦振荣','李华娟') and t1.warehouse_code in ('BLGZ03','GZBLWH') )
and ( t5.`status`=0 or t5.`status` is null ) 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) 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).ToList();
) ", new { main_id = mainID }, commandTimeout: 0); if (datas != null)
{
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
...@@ -730,12 +732,7 @@ t7.bailun_order_ids ...@@ -730,12 +732,7 @@ t7.bailun_order_ids
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportYiWuShortageDetailed" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportYiWuShortageDetailed" }) ?? 0;
} }
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`source_warehouse_code`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@" select
`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.bailun_sku,
t1.warehouse_code as 'source_warehouse_code', t1.warehouse_code as 'source_warehouse_code',
t1.warehouse_code as 'warehouse_code', t1.warehouse_code as 'warehouse_code',
...@@ -769,9 +766,15 @@ t7.bailun_order_ids ...@@ -769,9 +766,15 @@ t7.bailun_order_ids
left join dc_mid_transit as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code 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') ) where t6.`status`=2 and ( t1.warehouse_code in ('YWWH01') )
and ( t5.`status`=0 or t5.`status` is null ) 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) 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).ToList();
) ", new { main_id = mainID }, commandTimeout: 0); if (datas != null)
{
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
...@@ -792,12 +795,7 @@ t7.bailun_order_ids ...@@ -792,12 +795,7 @@ t7.bailun_order_ids
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = now, no = purchase_advise.GenerateOrderNo(), type = 0, buy_sys_plan_no = "ImportDuLiShortageDetailed" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = now, no = purchase_advise.GenerateOrderNo(), type = 0, buy_sys_plan_no = "ImportDuLiShortageDetailed" }) ?? 0;
} }
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`source_warehouse_code`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@" select
`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.bailun_sku,
t1.warehouse_code as 'source_warehouse_code', t1.warehouse_code as 'source_warehouse_code',
'GZBLWH' as 'warehouse_code', 'GZBLWH' as 'warehouse_code',
...@@ -831,9 +829,15 @@ t7.bailun_order_ids ...@@ -831,9 +829,15 @@ t7.bailun_order_ids
left join dc_mid_transit as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code 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 ( t6.buyer_name in ('赵美聪_独立站') ) where t6.`status`=2 and ( t6.buyer_name in ('赵美聪_独立站') )
and ( t5.`status`=0 or t5.`status` is null ) 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) 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).ToList();
) ", new { main_id = mainID }, commandTimeout: 0); if (datas != null)
{
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
...@@ -924,12 +928,7 @@ update dc_mid_transit set quantity_out_stock =0,quantity_out_stock_aliexpress = ...@@ -924,12 +928,7 @@ update dc_mid_transit set quantity_out_stock =0,quantity_out_stock_aliexpress =
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportFuZhuangShortageIncreaseDetailed" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportFuZhuangShortageIncreaseDetailed" }) ?? 0;
} }
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@" select
`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.bailun_sku,
t1.warehouse_code as 'warehouse_code', t1.warehouse_code as 'warehouse_code',
-1 as 'quantity_init_advise', -- 原始采购建议数量 new -1 as 'quantity_init_advise', -- 原始采购建议数量 new
...@@ -964,9 +963,15 @@ t8.bailun_order_ids ...@@ -964,9 +963,15 @@ t8.bailun_order_ids
and has_platsku_remark = 0 GROUP BY bailun_sku ) as t8 on t1.bailun_sku =t8.bailun_sku and has_platsku_remark = 0 GROUP BY bailun_sku ) as t8 on t1.bailun_sku =t8.bailun_sku
where t6.`status`=2 and ( t6.buyer_name in ('赵美聪','甄杰靖','赵美聪1','秦振荣','李华娟') and t1.warehouse_code in ('BLGZ03') ) where t6.`status`=2 and ( t6.buyer_name in ('赵美聪','甄杰靖','赵美聪1','秦振荣','李华娟') and t1.warehouse_code in ('BLGZ03') )
-- and t6.suppliers_name not in ('深圳市龙岗区平湖欧妮菲制衣厂','深圳市福田区曼戈制衣厂') -- and t6.suppliers_name not in ('深圳市龙岗区平湖欧妮菲制衣厂','深圳市福田区曼戈制衣厂')
and ( t5.`status`=0 or t5.`status` is null ) and t8.quantity>0 and ( t5.`status`=0 or t5.`status` is null ) and t8.quantity>0 ", new { main_id = mainID, time = last_date }, commandTimeout: 0).ToList();
) ", new { main_id = mainID, time = last_date }, commandTimeout: 0); if (datas != null)
{
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
...@@ -986,12 +991,7 @@ t8.bailun_order_ids ...@@ -986,12 +991,7 @@ t8.bailun_order_ids
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportFuZhuangShortageIncreaseDetailed" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportFuZhuangShortageIncreaseDetailed" }) ?? 0;
} }
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@" select
`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.bailun_sku,
t1.warehouse_code as 'warehouse_code', t1.warehouse_code as 'warehouse_code',
-1 as 'quantity_init_advise', -- 原始采购建议数量 new -1 as 'quantity_init_advise', -- 原始采购建议数量 new
...@@ -1027,8 +1027,14 @@ t8.bailun_order_ids ...@@ -1027,8 +1027,14 @@ t8.bailun_order_ids
where t6.`status`=2 and ( t6.buyer_name in ('赵美聪','甄杰靖','赵美聪1','秦振荣','李华娟') and t1.warehouse_code in ('BLGZ03') ) where t6.`status`=2 and ( t6.buyer_name in ('赵美聪','甄杰靖','赵美聪1','秦振荣','李华娟') and t1.warehouse_code in ('BLGZ03') )
-- and t6.suppliers_name not in ('深圳市龙岗区平湖欧妮菲制衣厂','深圳市福田区曼戈制衣厂') -- and t6.suppliers_name not in ('深圳市龙岗区平湖欧妮菲制衣厂','深圳市福田区曼戈制衣厂')
and ( t5.`status`=0 or t5.`status` is null ) and t8.quantity>0 and ( t5.`status`=0 or t5.`status` is null ) and t8.quantity>0
", new { main_id = mainID, time = last_date }, commandTimeout: 0).ToList();
) ", new { main_id = mainID, time = last_date }, commandTimeout: 0); if (datas != null)
{
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
...@@ -1048,12 +1054,7 @@ t8.bailun_order_ids ...@@ -1048,12 +1054,7 @@ t8.bailun_order_ids
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportFuZhuangShortageIncreaseDetailed" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo(), type = 1, buy_sys_plan_no = "ImportFuZhuangShortageIncreaseDetailed" }) ?? 0;
} }
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@"select
`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.bailun_sku,
t1.warehouse_code as 'warehouse_code', t1.warehouse_code as 'warehouse_code',
-1 as 'quantity_init_advise', -- 原始采购建议数量 new -1 as 'quantity_init_advise', -- 原始采购建议数量 new
...@@ -1089,8 +1090,15 @@ t8.bailun_order_ids ...@@ -1089,8 +1090,15 @@ t8.bailun_order_ids
where t6.`status`=2 and ( t6.buyer_name in ('赵美聪','甄杰靖','赵美聪1','秦振荣','李华娟') and t1.warehouse_code in ('BLGZ03') ) where t6.`status`=2 and ( t6.buyer_name in ('赵美聪','甄杰靖','赵美聪1','秦振荣','李华娟') and t1.warehouse_code in ('BLGZ03') )
-- and t6.suppliers_name not in ('深圳市龙岗区平湖欧妮菲制衣厂','深圳市福田区曼戈制衣厂') -- and t6.suppliers_name not in ('深圳市龙岗区平湖欧妮菲制衣厂','深圳市福田区曼戈制衣厂')
and ( t5.`status`=0 or t5.`status` is null ) and t8.quantity>0 and ( t5.`status`=0 or t5.`status` is null ) and t8.quantity>0
", new { main_id = mainID, time = last_date }, commandTimeout: 0).ToList();
) ", new { main_id = mainID, time = last_date }, commandTimeout: 0);
if (datas != null)
{
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
...@@ -1109,12 +1117,7 @@ t8.bailun_order_ids ...@@ -1109,12 +1117,7 @@ t8.bailun_order_ids
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = time, no = purchase_advise.GenerateOrderNo(), buy_sys_plan_no = "ImportShoujiShortageDetailed" }) ?? 0; mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = time, no = purchase_advise.GenerateOrderNo(), buy_sys_plan_no = "ImportShoujiShortageDetailed" }) ?? 0;
} }
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, var datas = _connection.Query<dc_auto_purchase_advise_detailed>(@" select
`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`)
(
select
t1.bailun_sku, t1.bailun_sku,
t1.warehouse_code as 'warehouse_code', t1.warehouse_code as 'warehouse_code',
-1 as 'quantity_init_advise', -- 原始采购建议数量 new -1 as 'quantity_init_advise', -- 原始采购建议数量 new
...@@ -1146,9 +1149,14 @@ t8.bailun_order_ids ...@@ -1146,9 +1149,14 @@ t8.bailun_order_ids
left join dc_mid_transit as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code 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 ( t6.buyer_name in ('陈嘉雯1','黎艳漫') and t1.warehouse_code in ('BLGZ03') ) where t6.`status`=2 and ( t6.buyer_name in ('陈嘉雯1','黎艳漫') and t1.warehouse_code in ('BLGZ03') )
and ( t5.`status`=0 or t5.`status` is null ) 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) 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).ToList();
if (datas != null)
) ", new { main_id = mainID }, commandTimeout: 0); {
foreach (var item in datas)
{
_connection.Insert(item);
}
}
return mainID; return mainID;
} }
......
...@@ -3551,17 +3551,17 @@ where t1.bailun_sku = t2.bailun_sku and t1.bailun_sku = t3.bailun_sku and t1.wee ...@@ -3551,17 +3551,17 @@ where t1.bailun_sku = t2.bailun_sku and t1.bailun_sku = t3.bailun_sku and t1.wee
/// 导出海外仓明细 /// 导出海外仓明细
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public static List<dc_report_stock_week_warehouse_dto> ExportTableReportStockWeekViewSkus(string web_site,string tag,string date_tag) public static List<dc_report_stock_week_warehouse_dto> ExportTableReportStockWeekViewSkus(string web_site, string tag, string date_tag)
{ {
var datas = _connection.Query<dc_report_stock_week_warehouse_dto>(" select t1.*,t2.warehouse_name from dc_report_stock_week as t1 left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code where t1.web_site=@web_site and t1.week_tag =@week_tag ", new { web_site, week_tag = date_tag }).ToList(); var datas = _connection.Query<dc_report_stock_week_warehouse_dto>(" select t1.*,t2.warehouse_name from dc_report_stock_week as t1 left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code where t1.web_site=@web_site and t1.week_tag =@week_tag ", new { web_site, week_tag = date_tag }).ToList();
if (tag== "出单sku数量占比") if (tag == "出单sku数量占比")
{ {
datas = datas.Where(s => s.is_order == 1).ToList(); datas = datas.Where(s => s.is_order == 1).ToList();
}else if (tag == "不出单数量sku占比") } else if (tag == "不出单数量sku占比")
{ {
datas = datas.Where(s => s.is_order == 0).ToList(); datas = datas.Where(s => s.is_order == 0).ToList();
} }
return datas; return datas;
} }
public static List<report_stock_week_view_dto> ReportPurchaseWeekView(report_stock_week_view_search_dto search) public static List<report_stock_week_view_dto> ReportPurchaseWeekView(report_stock_week_view_search_dto search)
{ {
...@@ -3962,5 +3962,61 @@ where t1.bailun_order_status != 'Canceled' ...@@ -3962,5 +3962,61 @@ where t1.bailun_order_status != 'Canceled'
public string warehouse_code { get; set; } public string warehouse_code { get; set; }
public string hq_type { get; set; } public string hq_type { get; set; }
} }
/// <summary>
/// 刷新最快入库天数
/// </summary>
public static void ResetFastestStorage()
{
var datas = _connection.Query<fastest_storage_dto>(@"select t1.warehouse_code,
t1.bailun_sku,
t3.`code` as 'country_code',
t1.supplier_delivery,
t1.payment_before_delivery,
t1.inspection_delivery
from dc_auto_turnover as t1
left join dc_base_warehouse as t2 on t1.warehouse_code =t2.warehouse_code
left join dc_base_country as t3 on t2.area_name = t3.`name`
where t2.hq_type='fba仓'").ToList();
foreach (var item in datas)
{
var data = new dc_auto_fastest_storage() {
bailun_sku = item.bailun_sku,
warehouse_code = item.warehouse_code,
purchase_days = (item.supplier_delivery + item.payment_before_delivery + item.inspection_delivery),
gmt_update_date = DateTime.Now,
country_code = item.country_code,
trans_days = 15
};
var lms_avgs = ApiUtility.GetLmsOrderTransferAvg(new Models.ApiDto.api_lms_order_transfer_sku_requst_dto {transfer_type =3, country = item.country_code});
if (lms_avgs != null && lms_avgs.Count>=1)
{
data.trans_days = (int)Math.Round( lms_avgs.Min(s => s.avg_sign_days + s.avg_put_days),0);
}
data.id = _connection.QueryFirstOrDefault<int?>(" select id from dc_auto_fastest_storage where warehouse_code=@warehouse_code and bailun_sku=@bailun_sku ",new {
warehouse_code = item.warehouse_code,
bailun_sku = item.bailun_sku
})??0;
if (data.id <= 0)
{
_connection.Insert(data);
}
else
{
_connection.Update(data);
}
}
}
public class fastest_storage_dto
{
public string warehouse_code { get; set; }
public string bailun_sku { get; set; }
public string country_code { get; set; }
public int supplier_delivery { get; set; }
public int payment_before_delivery { get; set; }
public int inspection_delivery { get; set; }
}
} }
} }
......
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models
{
/// <summary>
/// 预计最快到货天数
/// </summary>
public class dc_auto_fastest_storage
{
public int id { get; set; }
public string bailun_sku { get; set; }
public string warehouse_code { get; set; }
public string country_code { get; set; }
public int purchase_days { get; set; }
public int trans_days { get; set; }
public DateTime gmt_update_date { get; set; }
}
}
...@@ -23,9 +23,9 @@ namespace AutoTurnOver.Purchase.AverageTarget ...@@ -23,9 +23,9 @@ 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")}");
dc_base_week_coefficient_dao.ResetData(); report.ResetFastestStorage();
Console.WriteLine($"结束 周销售系数,线程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)
{ {
......
...@@ -24,7 +24,9 @@ namespace AutoTurnOver.Purchase.AverageTarget ...@@ -24,7 +24,9 @@ namespace AutoTurnOver.Purchase.AverageTarget
try try
{ {
//PurchaseAverageTargetServices.CalculationTransfer("942517901"); //PurchaseAverageTargetServices.CalculationTransfer("942517901");
report.ResetFastestStorage();
} }
catch (Exception ex) catch (Exception ex)
{ {
......
...@@ -24,6 +24,7 @@ namespace ResetOutofstock ...@@ -24,6 +24,7 @@ namespace ResetOutofstock
//report.CalculationSalesTrend(); //report.CalculationSalesTrend();
//report.ResetLastweekData(); //report.ResetLastweekData();
//report.ResetOmsOutofstock(); //report.ResetOmsOutofstock();
//report.PurchaseWeekBackUp();
} }
catch (Exception ex) catch (Exception ex)
{ {
......
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