From 3403979ed7065d9814b7a232ed383bce840d00c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 28 Jan 2015 21:27:07 +0100 Subject: [PATCH 1/2] Speed up listing with Is Order Shippable icon --- htdocs/commande/list.php | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 2c30f4128c6..d8ac06f37da 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -323,6 +323,7 @@ if ($resql) $var=true; $total=0; $subtotal=0; + $productstat_cache=array(); $generic_commande = new Commande($db); $generic_product = new Product($db); @@ -351,18 +352,33 @@ if ($resql) if ($generic_commande->lines[$lig]->product_type==0) { $nbprod++; // order contains real products $generic_product->id = $generic_commande->lines[$lig]->fk_product; - $generic_product->load_stock(); + if (empty($productstat_cache[$generic_commande->lines[$lig]->fk_product])) { + $generic_product->load_stock(true); + $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stock_reel'] = $generic_product->stock_reel; + } else { + $generic_product->stock_reel = $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stock_reel']; + } // stock order and stock order_supplier $stock_order=0; $stock_order_supplier=0; if (! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT)) { if (! empty($conf->commande->enabled)) { - $generic_product->load_stats_commande(0,'1,2'); - $stock_order=$generic_product->stats_commande['qty']; + if (empty($productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_customer'])) { + $generic_product->load_stats_commande(0,'1,2',true); + $stock_order=$generic_product->stats_commande['qty']; + $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_customer'] = $generic_product->stats_commande['qty']; + } else { + $generic_product->stats_commande['qty'] = $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_customer']; + } } if (! empty($conf->fournisseur->enabled)) { - $generic_product->load_stats_commande_fournisseur(0,'3'); - $stock_order_supplier=$generic_product->stats_commande_fournisseur['qty']; + if (empty($productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_supplier'])) { + $generic_product->load_stats_commande_fournisseur(0,'3',true); + $stock_order_supplier=$generic_product->stats_commande_fournisseur['qty']; + $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_supplier'] = $generic_product->stats_commande_fournisseur['qty']; + } else { + $generic_product->stats_commande_fournisseur['qty'] = $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_supplier']; + } } } $text_info .= $generic_commande->lines[$lig]->qty.' X '.$generic_commande->lines[$lig]->ref.' '.dol_trunc($generic_commande->lines[$lig]->product_label, 25); From 355c5f0b52a6d3b2b872fc6c66fa0cee425059be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 28 Jan 2015 21:32:23 +0100 Subject: [PATCH 2/2] Update list.php --- htdocs/commande/list.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index d8ac06f37da..f42920850c2 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -365,20 +365,20 @@ if ($resql) if (! empty($conf->commande->enabled)) { if (empty($productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_customer'])) { $generic_product->load_stats_commande(0,'1,2',true); - $stock_order=$generic_product->stats_commande['qty']; $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_customer'] = $generic_product->stats_commande['qty']; } else { $generic_product->stats_commande['qty'] = $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_customer']; } + $stock_order=$generic_product->stats_commande['qty']; } if (! empty($conf->fournisseur->enabled)) { if (empty($productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_supplier'])) { $generic_product->load_stats_commande_fournisseur(0,'3',true); - $stock_order_supplier=$generic_product->stats_commande_fournisseur['qty']; $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_supplier'] = $generic_product->stats_commande_fournisseur['qty']; } else { $generic_product->stats_commande_fournisseur['qty'] = $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stats_order_supplier']; } + $stock_order_supplier=$generic_product->stats_commande_fournisseur['qty']; } } $text_info .= $generic_commande->lines[$lig]->qty.' X '.$generic_commande->lines[$lig]->ref.' '.dol_trunc($generic_commande->lines[$lig]->product_label, 25);