Je me demande ou mettre un patch pour récupérer via l’api rest l’ensemble des produits dans une entrepôt avec leur stock désiré et stock minimum.
Je vois que ces informations sont dans la table llx_product_warehouse_properties.
Évidemment il y a plusieurs choix, ou par la requête product? ou par celle du warehouse?id=.
Si quelqu’un a une idée du lieu d’implantation de ce petit patch je suis preneur, car il est impossible avec l’Api actuelle d’avoir ces informations dont on a absolument besoin pour un développement en interne.
Je suis preneur de toute info
Merci d’avance
J’ai essayé cette méthode mais en réalité elle marche avec 1 et non pas le numéro de l’entrepôt. De plus elle ne renvoie pas la limité désirée pas plus que la limite d’alerte. Or c’est justement de cela dont j’ai besoin pour notre association.
Ce qui manque vraiment ce serait une méthode capable de remonter les éléments de la table llx_product_warehouse_properties, je cherche donc si quelqu’un a déjà fait un patch ou une méthode à ajouter dans product/stock/class/entrepot.class.php et qu’il est simple de réutiliser.
Merci d’avance
Finalement comme je ne trouvais pas d’autres solutions j’ai fait un petit ajout car j’en avais réellement besoin pour un outil particulier en API REST. (je sais c’est pas bien mais bon, dès fois il le faut bien !)
Pour récupérer les différents produits dans un entrepôt ‹ id › avec leur seuil d’alerte et désiré lors qu’une requete [get]/warehouses/{id}, il faut aller dans le fichier product/stock/class/entrepot.class.php
Dans la fonction « fetch » à la ligne 476 il faut insérer ceci :
/**
* @@@@@@@@@@@ le rajout pour la liste des productions lorsqu'on demande un entrepot particulier
*/
$sql_listP = "SELECT fk_product, seuil_stock_alerte, desiredstock";
$sql_listP .= " FROM ".MAIN_DB_PREFIX."product_warehouse_properties";
$sql_listP .= " WHERE fk_entrepot = '".$id."'";
$result = $this->db->query($sql_listP);
if ($result)
{
$num = $this->db->num_rows($result);
$i = 0;
if ($num > 0) {
while ($i < $num)
{
$ligne = $this->db->fetch_row($result);
$this->listProductWarehouse[$ligne[0]] = array('alerte'=>$ligne[1],'attendu'=>$ligne[2]);
$i++;
}
$this->db->free($result);
}
}
/**
* @@@@@@@@@@@ fin du rajout
*/
Il faut penser à déclarer cette nouvelle propriété à cet objet, donc ligne 112 (ou avant) il faut ajouter
/**
* La liste des produits de l’entrepot en question
*/
public $listProductWarehouse = [];
normalement cela ajoute une liste de tous les produits contenus dans cet entrepôt
Voilà, si ça peut servir à quelqu’un …