Browse Source

Option to display real stock after each movement on history

Mathieu Moulin 2 months ago
parent
commit
cb55fd9763

+ 3 - 0
admin/setup.php

@@ -66,6 +66,9 @@ $arrayofparameters = array(
 	'MMIPRODUCT_COEFF_EMAIL_ALERT_COEFF'=>array('type'=>'decimal','enabled'=>1),
 	'MMIPRODUCT_COEFF_EMAIL_ALERT_FROM'=>array('type'=>'string','enabled'=>1),
 	'MMIPRODUCT_COEFF_EMAIL_ALERT_TO'=>array('type'=>'string','enabled'=>1),
+
+	'MMIPRODUCT_STOCK'=>array('type'=>'separator', 'enabled'=>1),
+	'MMIPRODUCT_STOCKMOVEMENTLIST_STOCK'=>array('type'=>'yesno','enabled'=>1),
 );
 
 require_once('../../mmicommon/admin/mmisetup_1.inc.php');

+ 31 - 7
class/actions_mmiproduct.class.php

@@ -328,7 +328,7 @@ class ActionsMMIProduct extends MMI_Actions_1_0
 
         $error = 0; // Error counter
         $print = '';
-        
+
         if ($this->in_context($parameters, 'stockreplenishlist')) {
             if ($this->fk_supplier) {
 				$print .= ', pfp.packaging AS packaging';
@@ -432,7 +432,7 @@ class ActionsMMIProduct extends MMI_Actions_1_0
 
         $error = 0; // Error counter
         $print = '';
-    
+
         if ($this->in_context($parameters, 'stockreplenishlist')) {
             //var_dump($parameters);
             $print = '<div class="inlin-block">Catégorie <input type="text" name="categ" value="'.$this->categ.'" /></div>';
@@ -495,7 +495,7 @@ class ActionsMMIProduct extends MMI_Actions_1_0
 
         $error = 0; // Error counter
         $print = '';
-    
+
         if ($this->in_context($parameters, 'productservicelist')) {
             if (getDolGlobalInt('MMI_PRODUCT_CATSEARCH_SUBCAT')) {
                 if (GETPOST('includeinsubcat'))
@@ -523,7 +523,14 @@ class ActionsMMIProduct extends MMI_Actions_1_0
         $error = 0; // Error counter
         $print = '';
     
-        if ($this->in_context($parameters, 'stockreplenishlist')) {
+    
+        if ($this->in_context($parameters, 'stockmovementlist')) {
+			if ($conf->global->MMIPRODUCT_STOCKMOVEMENTLIST_STOCK) {
+				//var_dump($parameters);
+				$print = '<td class="liste_titre">&nbsp;</td>';
+			}
+        }
+        elseif ($this->in_context($parameters, 'stockreplenishlist')) {
             //var_dump($parameters);
             $print = '<input type="hidden" name="categ" value="'.$this->categ.'" />';
         }
@@ -548,7 +555,13 @@ class ActionsMMIProduct extends MMI_Actions_1_0
         $error = 0; // Error counter
         $print = '';
     
-        if ($this->in_context($parameters, 'stockreplenishlist')) {
+        if ($this->in_context($parameters, 'stockmovementlist')) {
+			if ($conf->global->MMIPRODUCT_STOCKMOVEMENTLIST_STOCK) {
+				//var_dump($parameters);
+				$print = '<td>Stock réel</td>';
+			}
+        }
+        elseif ($this->in_context($parameters, 'stockreplenishlist')) {
             //var_dump($parameters);
 			if ($this->fk_supplier) {
             	$print = '<td>Emballage</td>';
@@ -572,13 +585,24 @@ class ActionsMMIProduct extends MMI_Actions_1_0
     {
 		global $conf, $user;
 
+		static $stocks = [];
+
         $error = 0; // Error counter
         $print = '';
     
-        if ($this->in_context($parameters, 'stockreplenishlist')) {
+        if ($this->in_context($parameters, 'stockmovementlist')) {
+			if ($conf->global->MMIPRODUCT_STOCKMOVEMENTLIST_STOCK) {
+				//var_dump($parameters);
+				$obj = $parameters['obj'];
+				//var_dump($obj->entrepot_id, $obj->rowid, $obj->batch, $obj); die();
+				$stocks[$obj->entrepot_id][$obj->rowid][$obj->batch] += $obj->qty;
+				$print = '<td class="right">'.$stocks[$obj->entrepot_id][$obj->rowid][$obj->batch].'</td>';
+			}
+        }
+        elseif ($this->in_context($parameters, 'stockreplenishlist')) {
             //var_dump($parameters);
-            $objp = $parameters['objp'];
 			if ($this->fk_supplier) {
+				$objp = $parameters['objp'];
 				$print = '<td class="right">'.$objp->packaging.'</td>';
 			}
         }

+ 1 - 0
core/modules/modMMIProduct.class.php

@@ -118,6 +118,7 @@ class modMMIProduct extends DolibarrModules
 				'ordercard',
 				'productcard',
 				'stockreplenishlist',
+				'stockmovementlist',
 				'productservicelist',
 				'supplier_proposalcard',
 				'stockatdate',

+ 3 - 0
langs/fr_FR/mmiproduct.lang

@@ -62,6 +62,9 @@ MMIPRODUCT_COEFF_EMAIL_ALERT_COEFF = Coeff de marge seuil d'alerte
 MMIPRODUCT_COEFF_EMAIL_ALERT_FROM = Email expéditeur pour les alertes de coefficient de marge
 MMIPRODUCT_COEFF_EMAIL_ALERT_TO = Email destinataire pour les alertes de coefficient de marge
 
+MMIPRODUCT_STOCK = Gestion du stock
+MMIPRODUCT_STOCKMOVEMENTLIST_STOCK = Affichage du stock réel à côté des mouvements dans l'historique
+
 #
 # About page
 #