diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index 374acec166b..920ac61940a 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -27,6 +27,7 @@ ListOfStockMovements=List of stock movements StocksArea=Stocks area Location=Location LocationSummary=Short name location +NumberOfDifferentProducts=Number of different products NumberOfProducts=Total number of products LastMovement=Last movement LastMovements=Last movements diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index 0d87f7e5140..3e206b91e0d 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -27,6 +27,7 @@ ListOfStockMovements=Liste des mouvements de stock StocksArea=Espace stocks Location=Lieu LocationSummary=Nom court du lieu +NumberOfDifferentProducts=Nombre de produits différents NumberOfProducts=Nombre total de produits LastMovement=Dernier mouvement LastMovements=Derniers mouvements diff --git a/htdocs/product/stock/class/entrepot.class.php b/htdocs/product/stock/class/entrepot.class.php index 580b729c8c3..384b3712674 100644 --- a/htdocs/product/stock/class/entrepot.class.php +++ b/htdocs/product/stock/class/entrepot.class.php @@ -243,15 +243,15 @@ class Entrepot extends CommonObject function fetch($id, $ref='') { global $conf; - + $sql = "SELECT rowid, label, description, statut, lieu, address, zip, town, fk_pays as country_id"; $sql .= " FROM ".MAIN_DB_PREFIX."entrepot"; - - if ($id) + + if ($id) { $sql.= " WHERE rowid = '".$id."'"; } - + else { $sql.= " WHERE entity = " .$conf->entity; @@ -276,12 +276,12 @@ class Entrepot extends CommonObject $this->zip = $obj->zip; $this->town = $obj->town; $this->country_id = $obj->country_id; - + include_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; $tmp=getCountry($this->country_id,'all'); $this->country=$tmp['label']; $this->country_code=$tmp['code']; - + return 1; } else @@ -377,6 +377,38 @@ class Entrepot extends CommonObject return $liste; } + /** + * Return number of unique different product into a warehosue + * + * @return Array Array('nb'=>Nb, 'value'=>Value) + */ + function nb_different_products() + { + $ret=array(); + + $sql = "SELECT count(distinct p.rowid) as nb"; + $sql.= " FROM ".MAIN_DB_PREFIX."product_stock as ps"; + $sql.= ", ".MAIN_DB_PREFIX."product as p"; + $sql.= " WHERE ps.fk_entrepot = ".$this->id; + $sql.= " AND ps.fk_product = p.rowid"; + + //print $sql; + $result = $this->db->query($sql); + if ($result) + { + $obj = $this->db->fetch_object($result); + $ret['nb']=$obj->nb; + $this->db->free($result); + } + else + { + $this->error=$this->db->lasterror(); + return -1; + } + + return $ret; + } + /** * Return stock and value of warehosue * diff --git a/htdocs/product/stock/fiche.php b/htdocs/product/stock/fiche.php index 1d0a9c08e04..104f92a84a9 100644 --- a/htdocs/product/stock/fiche.php +++ b/htdocs/product/stock/fiche.php @@ -276,8 +276,14 @@ else // Status print '