Commit 33c276c7 by lizefeng

jit的产品不出采购建议

parent 8e74f6f1
...@@ -12,7 +12,7 @@ namespace AutoGeneratePurchaseAdvise ...@@ -12,7 +12,7 @@ namespace AutoGeneratePurchaseAdvise
{ {
Console.WriteLine("采购建议计算任务启动..."); Console.WriteLine("采购建议计算任务启动...");
// 创建采购计划 // 创建采购计划
//PurchaseAdviseServices.Generate(); PurchaseAdviseServices.Generate();
var builder = new HostBuilder().ConfigureServices((hostContext, services) => var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{ {
services.AddHostedService<GeneratePurchaseAdviseBackgroundService>(); services.AddHostedService<GeneratePurchaseAdviseBackgroundService>();
......
...@@ -54,13 +54,14 @@ where 1=1 "; ...@@ -54,13 +54,14 @@ where 1=1 ";
sql = @"select dat.*,t2.oneday_sales,t2.forecast_oneday_sales as 'forecast_oneday_sales2', sql = @"select dat.*,t2.oneday_sales,t2.forecast_oneday_sales as 'forecast_oneday_sales2',
t4.product_inner_code,t4.product_code,t4.bailun_category_name,t4.buyer_name, t4.product_inner_code,t4.product_code,t4.bailun_category_name,t4.buyer_name,
( case when t5.`status`=0 or t5.`status` is null then 0 else 1 end ) as 'monitor_status',t4.suppliers_name, ( case when t5.`status`=0 or t5.`status` is null then 0 else 1 end ) as 'monitor_status',t4.suppliers_name,
(t4.supplier_delivery - t6.virtual_delivery_days) as 'delivery_days_error' (t4.supplier_delivery - t6.virtual_delivery_days) as 'delivery_days_error',t4.weight,t4.unit_price,t7.usable_stock
from dc_auto_turnover as dat from dc_auto_turnover as dat
left join dc_auto_sales as t2 on t2.bailun_sku=dat.bailun_sku and dat.warehouse_code = t2.warehouse_code left join dc_auto_sales as t2 on t2.bailun_sku=dat.bailun_sku and dat.warehouse_code = t2.warehouse_code
left join dc_base_warehouse as t3 on dat.warehouse_code = t3.warehouse_code left join dc_base_warehouse as t3 on dat.warehouse_code = t3.warehouse_code
left join dc_base_sku as t4 on dat.bailun_sku = t4.bailun_sku left join dc_base_sku as t4 on dat.bailun_sku = t4.bailun_sku
left join dc_auto_config_sku_warehouse as t5 on dat.bailun_sku = t5.bailun_sku and dat.warehouse_code = t5.warehouse_code left join dc_auto_config_sku_warehouse as t5 on dat.bailun_sku = t5.bailun_sku and dat.warehouse_code = t5.warehouse_code
left join dc_average_purchase as t6 on dat.bailun_sku = t6.bailun_sku and dat.warehouse_code =t6.warehouse_code left join dc_average_purchase as t6 on dat.bailun_sku = t6.bailun_sku and dat.warehouse_code =t6.warehouse_code
left join dc_base_stock as t7 on dat.bailun_sku = t7.bailun_sku and dat.warehouse_code = t7.warehouse_code
where 1=1 "; where 1=1 ";
} }
......
...@@ -184,7 +184,7 @@ where t1.bailun_sku = t2.bailun_sku and quantity_final_advise=1 and quantity_ini ...@@ -184,7 +184,7 @@ where t1.bailun_sku = t2.bailun_sku and quantity_final_advise=1 and quantity_ini
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
left join dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku left join dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku
where t6.buyer_name in ('赵美聪','张莹霞','张莹霞1','冯兆欣') where t6.buyer_name in ('赵美聪')
and t1.warehouse_code in ('GZBLWH','GZBLYS') and t1.warehouse_code in ('GZBLWH','GZBLYS')
GROUP BY t1.bailun_sku GROUP BY t1.bailun_sku
HAVING ( sum((case when t1.quantity_out_stock>0 then 0 else t1.quantity_inventory end )) + sum(t1.quantity_transfer) + sum(t1.quantity_purchase) < sum(t1.quantity_out_stock) ) HAVING ( sum((case when t1.quantity_out_stock>0 then 0 else t1.quantity_inventory end )) + sum(t1.quantity_transfer) + sum(t1.quantity_purchase) < sum(t1.quantity_out_stock) )
......
...@@ -143,7 +143,7 @@ count(1) ...@@ -143,7 +143,7 @@ count(1)
from dc_base_oms_sku as t1 from dc_base_oms_sku as t1
left join dc_base_warehouse as t_db on t1.warehouse_code = t_db.warehouse_code left join dc_base_warehouse as t_db on t1.warehouse_code = t_db.warehouse_code
left join dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku left join dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku
where t1.pay_time>'2019-03-01' and t1.shipping_status!='TotalShipping' and t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 where t1.pay_time>'2019-03-01' and t1.bailun_picking_status!='TotalPicked' and t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 and t1.bailun_interception_status not in ('Success','Part')
"; ";
sql = @" sql = @"
select select
...@@ -161,7 +161,7 @@ t1.bailun_sku_title_cn as 'sku_name', ...@@ -161,7 +161,7 @@ t1.bailun_sku_title_cn as 'sku_name',
t1.bailun_sku_quantity_ordered, t1.bailun_sku_quantity_ordered,
t1.warehouse_code, t1.warehouse_code,
t1.warehouse_name, t1.warehouse_name,
(case when t1.bailun_sku_quantity_ordered>t1.bailun_sku_quantity_shipped then '缺货' else '不缺货' end) as 'is_out_stock', (case when t1.bailun_sku_quantity_ordered>t1.bailun_sku_quantity_picked then '缺货' else '不缺货' end) as 'is_out_stock',
t2.quantity_out_stock, t2.quantity_out_stock,
t3.sum_usable_stock, t3.sum_usable_stock,
t4.sum_unshipped_quantity, t4.sum_unshipped_quantity,
...@@ -183,27 +183,26 @@ left join view_china_warehouse_stock as t3 on t1.bailun_sku = t3.bailun_sku and ...@@ -183,27 +183,26 @@ left join view_china_warehouse_stock as t3 on t1.bailun_sku = t3.bailun_sku and
left join ( left join (
SELECT SELECT
`t1`.`bailun_sku` AS `bailun_sku`, `t1`.`bailun_sku` AS `bailun_sku`,
sum(case when t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 then ( `t1`.`bailun_sku_quantity_ordered` - `t1`.`bailun_sku_quantity_shipped` ) else 0 end ) AS `sum_unshipped_quantity` sum(case when t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 then ( `t1`.`bailun_sku_quantity_ordered` - `t1`.`bailun_sku_quantity_picked` ) else 0 end ) AS `sum_unshipped_quantity`
FROM FROM
( `dc_base_oms_sku` `t1` LEFT JOIN `dc_base_warehouse` `t2` ON ( ( `t1`.`warehouse_code` = `t2`.`warehouse_code` ) ) ) ( `dc_base_oms_sku` `t1` LEFT JOIN `dc_base_warehouse` `t2` ON ( ( `t1`.`warehouse_code` = `t2`.`warehouse_code` ) ) )
WHERE WHERE
( ( `t2`.`hq_type` = '国内仓' ) AND ( `t1`.`shipping_status` <> 'TotalShipping' ) AND ( `t1`.`pay_time` > '2019-03-01' ) ) -- and t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 ( ( `t2`.`hq_type` = '国内仓' ) AND ( `t1`.`bailun_picking_status` <> 'TotalPicked' ) AND ( `t1`.`pay_time` > '2019-03-01' ) ) and t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 and t1.bailun_interception_status not in ('Success','Part')
"; ";
if(!string.IsNullOrWhiteSpace(m.bailun_sku)) if(!string.IsNullOrWhiteSpace(m.bailun_sku))
{ {
sql += $" and bailun_sku= '{m.bailun_sku}' "; sql += $" and bailun_sku= '{m.bailun_sku}' ";
} }
sql+=@" GROUP BY sql+= @" GROUP BY
`t1`.`bailun_sku` `t1`.`bailun_sku`
) as t4 on t1.bailun_sku = t4.bailun_sku and t_db.hq_type='国内仓' ) as t4 on t1.bailun_sku = t4.bailun_sku and t_db.hq_type='国内仓'
left join dc_base_stock as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code left join dc_base_stock 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_base_sku as t6 on t1.bailun_sku = t6.bailun_sku
left join dc_auto_config_sku_warehouse as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code left join dc_auto_config_sku_warehouse as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code
left join view_buy_ontheway_detail as t8 on t1.bailun_sku = t8.bailun_sku and t1.warehouse_code = t8.warehouse_code left join view_buy_ontheway_detail as t8 on t1.bailun_sku = t8.bailun_sku and t1.warehouse_code = t8.warehouse_code
where t1.shipping_status!='TotalShipping' and t1.pay_time>'2019-03-01' and t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 where t1.bailun_picking_status!='TotalPicked' and t1.pay_time>'2019-03-01' and t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 and t1.bailun_interception_status not in ('Success','Part')
"; ";
if (!string.IsNullOrWhiteSpace(m.product_inner_code)) if (!string.IsNullOrWhiteSpace(m.product_inner_code))
{ {
sql += " and t6.product_inner_code=@product_inner_code "; sql += " and t6.product_inner_code=@product_inner_code ";
......
...@@ -379,6 +379,21 @@ namespace AutoTurnOver.Models ...@@ -379,6 +379,21 @@ namespace AutoTurnOver.Models
/// </summary> /// </summary>
public int? delivery_days_error { get; set; } public int? delivery_days_error { get; set; }
/// <summary>
/// 重量
/// </summary>
public decimal? weight { get; set; }
/// <summary>
/// 单价
/// </summary>
public decimal? unit_price { get; set; }
/// <summary>
/// 实时库存
/// </summary>
public decimal? usable_stock { get; set; }
} }
} }
...@@ -182,14 +182,17 @@ namespace AutoTurnOver.Controllers ...@@ -182,14 +182,17 @@ namespace AutoTurnOver.Controllers
p.delivery_days_error, p.delivery_days_error,
p.history_sevenday_sales, p.history_sevenday_sales,
p.history_fourteenday_sales, p.history_fourteenday_sales,
p.history_thirtyday_sales p.history_thirtyday_sales,
p.unit_price,
p.weight,
p.usable_stock
}); });
DataTable table = new DataTable(); DataTable table = new DataTable();
string[] cols = new string[] { "Sku","商品编码", "内部编码", "sku标题", "仓库编码", "仓库名称", "MOQ", string[] cols = new string[] { "Sku","商品编码", "内部编码", "sku标题", "仓库编码", "仓库名称", "MOQ",
"采购在途", "调拨在途", "昨日销量", "明日销量", "未来7天日均", "未来14天日均", "建议采购数", "活动促销数量", "采购在途", "调拨在途", "昨日销量", "明日销量", "未来7天日均", "未来14天日均", "建议采购数", "活动促销数量",
"实际库存", "安全库存", "周转天数", "供应商交期", "质检入库天数", "调拨头程天数", "预测是否断货", "缺货数量","监控状态","供应商","采购员","交期异常", "实际库存", "安全库存", "周转天数", "供应商交期", "质检入库天数", "调拨头程天数", "预测是否断货", "缺货数量","监控状态","供应商","采购员","交期异常",
"过去7天日均","过去14天日均","过去30天日均" "过去7天日均","过去14天日均","过去30天日均","重量","单价","实时库存"
}; };
foreach (var item in cols) foreach (var item in cols)
{ {
...@@ -230,6 +233,9 @@ namespace AutoTurnOver.Controllers ...@@ -230,6 +233,9 @@ namespace AutoTurnOver.Controllers
row["过去7天日均"] = itemData.history_sevenday_sales; row["过去7天日均"] = itemData.history_sevenday_sales;
row["过去14天日均"] = itemData.history_fourteenday_sales; row["过去14天日均"] = itemData.history_fourteenday_sales;
row["过去30天日均"] = itemData.history_thirtyday_sales; row["过去30天日均"] = itemData.history_thirtyday_sales;
row["重量"] = itemData.weight;
row["单价"] = itemData.unit_price;
row["实时库存"] = itemData.usable_stock;
table.Rows.Add(row); table.Rows.Add(row);
} }
......
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