Commit 58b3c48f by 泽锋 李

优化周转表、实时库存 的查询速度

parent f5e74e17
...@@ -21,6 +21,7 @@ namespace AutoGeneratePurchaseAdvise ...@@ -21,6 +21,7 @@ namespace AutoGeneratePurchaseAdvise
try try
{ {
//PurchaseAdviseServices.AutoPushBuySys(4);
//PurchaseAdviseServices.AutoPushBuySys(1) ; //PurchaseAdviseServices.AutoPushBuySys(1) ;
//PurchaseAdviseServices.Generate($"早上的全量周转 {DateTime.Now.ToString("HH: mm")}", DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")), is_clear_data: true); //PurchaseAdviseServices.Generate($"早上的全量周转 {DateTime.Now.ToString("HH: mm")}", DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")), is_clear_data: true);
//PurchaseAdviseServices.Generate($"下午的补充周转 {DateTime.Now.ToString("HH: mm")}", DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 12:00:00"))); //PurchaseAdviseServices.Generate($"下午的补充周转 {DateTime.Now.ToString("HH: mm")}", DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 12:00:00")));
......
...@@ -431,7 +431,6 @@ t4.quantity_railway_transfer as 'quantity_railway_transfer', ...@@ -431,7 +431,6 @@ t4.quantity_railway_transfer as 'quantity_railway_transfer',
t1.bailun_sku,t1.warehouse_code,t4.quantity_out_stock,t4.gmt_out_stock_modified,t3.weight,t3.unit_price, t1.bailun_sku,t1.warehouse_code,t4.quantity_out_stock,t4.gmt_out_stock_modified,t3.weight,t3.unit_price,
(case when t5.id is null then '未侵权' else '侵权' end) as 'has_tort', (case when t5.id is null then '未侵权' else '侵权' end) as 'has_tort',
( case when t7.`status`=0 or t7.`status` is null then 0 else 1 end ) as 'monitor_status', ( case when t7.`status`=0 or t7.`status` is null then 0 else 1 end ) as 'monitor_status',
( case when t7_1.`status`=0 or t7_1.`status` is null then 0 else 1 end ) as 'clearance_status',
t6.history_sevenday_sales,t6.history_fourteenday_sales,t6.history_thirtyday_sales, t6.history_sevenday_sales,t6.history_fourteenday_sales,t6.history_thirtyday_sales,
t6.history_sevenday_sales_ebay,t6.history_fourteenday_sales_ebay,t6.history_thirtyday_sales_ebay, t6.history_sevenday_sales_ebay,t6.history_fourteenday_sales_ebay,t6.history_thirtyday_sales_ebay,
t6.history_sevenday_sales_aliexpress,t6.history_fourteenday_sales_aliexpress,t6.history_thirtyday_sales_aliexpress, t6.history_sevenday_sales_aliexpress,t6.history_fourteenday_sales_aliexpress,t6.history_thirtyday_sales_aliexpress,
...@@ -495,7 +494,6 @@ left join dc_mid_transit as t4 on t1.bailun_sku = t4.bailun_sku and t1.warehous ...@@ -495,7 +494,6 @@ left join dc_mid_transit as t4 on t1.bailun_sku = t4.bailun_sku and t1.warehous
left join dc_base_tort as t5 on t1.bailun_sku = t5.bailun_sku left join dc_base_tort as t5 on t1.bailun_sku = t5.bailun_sku
left join dc_auto_turnover as t6 on t1.bailun_sku = t6.bailun_sku and t1.warehouse_code = t6.warehouse_code left join dc_auto_turnover as t6 on t1.bailun_sku = t6.bailun_sku and t1.warehouse_code = t6.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 dc_auto_config_sku_warehouse as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code
left join dc_config_sku_warehouse_clearance as t7_1 on t1.bailun_sku_warehouse_code = t7_1.bailun_sku_warehouse_code
left join dc_auto_sales as t8 on t1.bailun_sku=t8.bailun_sku and t1.warehouse_code = t8.warehouse_code left join dc_auto_sales as t8 on t1.bailun_sku=t8.bailun_sku and t1.warehouse_code = t8.warehouse_code
left join dc_base_lastweek_data as t9 on t1.bailun_sku=t9.bailun_sku and t1.warehouse_code = t9.warehouse_code left join dc_base_lastweek_data as t9 on t1.bailun_sku=t9.bailun_sku and t1.warehouse_code = t9.warehouse_code
left join dc_base_stock_extend as t10 on t1.bailun_sku=t10.bailun_sku and t1.warehouse_code = t10.warehouse_code left join dc_base_stock_extend as t10 on t1.bailun_sku=t10.bailun_sku and t1.warehouse_code = t10.warehouse_code
...@@ -709,21 +707,32 @@ left join dc_base_warehouse as dbw on t1.warehouse_code = dbw.warehouse_code ...@@ -709,21 +707,32 @@ left join dc_base_warehouse as dbw on t1.warehouse_code = dbw.warehouse_code
sql += " limit " + search_data.offset + "," + search_data.limit; sql += " limit " + search_data.offset + "," + search_data.limit;
} }
var obj = _connection.Query<dc_base_stock_dto>(sql, parameters, buffered: false, commandTimeout: 0).AsList(); var obj = _connection.Query<dc_base_stock_dto>(sql, parameters, buffered: false, commandTimeout: 0).AsList();
foreach (var item in obj) if (obj.Count >= 1)
{ {
item.history_sevenday_sales = item.history_sevenday_sales.Round1(); var dc_config_sku_warehouse_clearances = _connection.Query<dc_config_sku_warehouse_clearance>(" select * from dc_config_sku_warehouse_clearance where bailun_sku_warehouse_code in @bailun_sku_warehouse_codes ", new
item.history_fourteenday_sales = item.history_fourteenday_sales.Round1(); {
item.history_thirtyday_sales = item.history_thirtyday_sales.Round1(); bailun_sku_warehouse_codes = obj.Select(s => $"{s.bailun_sku}{s.warehouse_code}").ToList()
item.history_sevenday_sales_ebay = item.history_sevenday_sales_ebay.Round1(); }).ToList();
item.history_fourteenday_sales_ebay = item.history_fourteenday_sales_ebay.Round1(); foreach (var item in obj)
item.history_thirtyday_sales_ebay = item.history_thirtyday_sales_ebay.Round1(); {
item.history_sevenday_sales_aliexpress = item.history_sevenday_sales_aliexpress.Round1(); item.history_sevenday_sales = item.history_sevenday_sales.Round1();
item.history_fourteenday_sales_aliexpress = item.history_fourteenday_sales_aliexpress.Round1(); item.history_fourteenday_sales = item.history_fourteenday_sales.Round1();
item.history_thirtyday_sales_aliexpress = item.history_thirtyday_sales_aliexpress.Round1(); item.history_thirtyday_sales = item.history_thirtyday_sales.Round1();
item.history_sevenday_sales_amazon = item.history_sevenday_sales_amazon.Round1(); item.history_sevenday_sales_ebay = item.history_sevenday_sales_ebay.Round1();
item.history_fourteenday_sales_amazon = item.history_fourteenday_sales_amazon.Round1(); item.history_fourteenday_sales_ebay = item.history_fourteenday_sales_ebay.Round1();
item.history_thirtyday_sales_amazon = item.history_thirtyday_sales_amazon.Round1(); item.history_thirtyday_sales_ebay = item.history_thirtyday_sales_ebay.Round1();
item.history_sevenday_sales_aliexpress = item.history_sevenday_sales_aliexpress.Round1();
item.history_fourteenday_sales_aliexpress = item.history_fourteenday_sales_aliexpress.Round1();
item.history_thirtyday_sales_aliexpress = item.history_thirtyday_sales_aliexpress.Round1();
item.history_sevenday_sales_amazon = item.history_sevenday_sales_amazon.Round1();
item.history_fourteenday_sales_amazon = item.history_fourteenday_sales_amazon.Round1();
item.history_thirtyday_sales_amazon = item.history_thirtyday_sales_amazon.Round1();
var dc_config_sku_warehouse_clearance = dc_config_sku_warehouse_clearances.FirstOrDefault(s => s.bailun_sku_warehouse_code == $"{item.bailun_sku}{item.warehouse_code}") ?? new dc_config_sku_warehouse_clearance { };
item.clearance_status = dc_config_sku_warehouse_clearance.status;
}
} }
return obj; return obj;
} }
public static List<dc_base_stock_fba_dto> RealtimeFbaList(dc_base_stock_search_dto search_data, List<bailun_category_new_dto> categoryModels, ref int total) public static List<dc_base_stock_fba_dto> RealtimeFbaList(dc_base_stock_search_dto search_data, List<bailun_category_new_dto> categoryModels, ref int total)
......
...@@ -62,7 +62,6 @@ t4.bailun_category_name, ...@@ -62,7 +62,6 @@ t4.bailun_category_name,
t4.product_type_desc, t4.product_type_desc,
t3.hq_type as 'warehouse_type', t3.hq_type as 'warehouse_type',
( case when t5.`status`=0 or t5.`status` is null then 0 else 1 end ) as 'monitor_status', ( case when t5.`status`=0 or t5.`status` is null then 0 else 1 end ) as 'monitor_status',
( case when t5_01.`status`=0 or t5_01.`status` is null then 0 else 1 end ) as 'clearance_status',
( case when t12.`status`=0 or t12.`status` is null then 0 else 1 end ) as 'returngoodspush_state', ( case when t12.`status`=0 or t12.`status` is null then 0 else 1 end ) as 'returngoodspush_state',
t4.suppliers_link, t4.suppliers_link,
(t4.supplier_delivery - t6.virtual_delivery_days) as 'delivery_days_error',t4.weight,t4.unit_price,t7.usable_stock,t7.shipped_stock, (t4.supplier_delivery - t6.virtual_delivery_days) as 'delivery_days_error',t4.weight,t4.unit_price,t7.usable_stock,t7.shipped_stock,
...@@ -106,7 +105,6 @@ left join dc_auto_sales as t2 on t2.bailun_sku=dat.bailun_sku and dat.warehouse_ ...@@ -106,7 +105,6 @@ left join dc_auto_sales as t2 on t2.bailun_sku=dat.bailun_sku and dat.warehouse_
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_config_sku_warehouse_clearance as t5_01 on dat.bailun_sku_warehouse_code = t5_01.bailun_sku_warehouse_code
left join dc_average_purchase as t6 on dat.bailun_sku = t6.bailun_sku and dat.warehouse_code =t6.warehouse_code and t4.suppliers_id = t6.supplier_id left join dc_average_purchase as t6 on dat.bailun_sku = t6.bailun_sku and dat.warehouse_code =t6.warehouse_code and t4.suppliers_id = t6.supplier_id
left join dc_base_stock as t7 on dat.bailun_sku = t7.bailun_sku and dat.warehouse_code = t7.warehouse_code left join dc_base_stock as t7 on dat.bailun_sku = t7.bailun_sku and dat.warehouse_code = t7.warehouse_code
left join dc_base_tort as t8 on dat.bailun_sku = t8.bailun_sku left join dc_base_tort as t8 on dat.bailun_sku = t8.bailun_sku
...@@ -423,6 +421,10 @@ from dc_auto_turnover as dat ...@@ -423,6 +421,10 @@ from dc_auto_turnover as dat
//Console.WriteLine(sql); //Console.WriteLine(sql);
if (obj != null && obj.Count >= 1) if (obj != null && obj.Count >= 1)
{ {
var dc_config_sku_warehouse_clearances = _connection.Query<dc_config_sku_warehouse_clearance>(" select * from dc_config_sku_warehouse_clearance where bailun_sku_warehouse_code in @bailun_sku_warehouse_codes ", new
{
bailun_sku_warehouse_codes = obj.Select(s => $"{s.bailun_sku}{s.warehouse_code}").ToList()
}).ToList();
var storage_capacity_configs = _connection.Query<dc_base_storage_capacity_config>(" select * from dc_base_storage_capacity_config where bailun_sku_warehouse_code in @bailun_sku_warehouse_codes ", new var storage_capacity_configs = _connection.Query<dc_base_storage_capacity_config>(" select * from dc_base_storage_capacity_config where bailun_sku_warehouse_code in @bailun_sku_warehouse_codes ", new
{ {
bailun_sku_warehouse_codes = obj.Select(s => $"{s.bailun_sku}{s.warehouse_code}").ToList() bailun_sku_warehouse_codes = obj.Select(s => $"{s.bailun_sku}{s.warehouse_code}").ToList()
...@@ -445,6 +447,9 @@ from dc_auto_turnover as dat ...@@ -445,6 +447,9 @@ from dc_auto_turnover as dat
var storage_capacity_config = storage_capacity_configs.FirstOrDefault(s => s.bailun_sku_warehouse_code == $"{item.bailun_sku}{item.warehouse_code}") ?? new dc_base_storage_capacity_config { }; var storage_capacity_config = storage_capacity_configs.FirstOrDefault(s => s.bailun_sku_warehouse_code == $"{item.bailun_sku}{item.warehouse_code}") ?? new dc_base_storage_capacity_config { };
item.storage_capacity_status = storage_capacity_config.status; item.storage_capacity_status = storage_capacity_config.status;
var dc_config_sku_warehouse_clearance = dc_config_sku_warehouse_clearances.FirstOrDefault(s => s.bailun_sku_warehouse_code == $"{item.bailun_sku}{item.warehouse_code}") ?? new dc_config_sku_warehouse_clearance { };
item.clearance_status = dc_config_sku_warehouse_clearance.status;
} }
} }
......
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