From 4df8cf495aa2715ad226373089bbbd92e9c175e7 Mon Sep 17 00:00:00 2001 From: jfgiraud Date: Tue, 7 Jul 2026 11:30:17 +0000 Subject: [PATCH] WIP: tout fonctionne + corrections de bug v2 --- php/ordreGF.php | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/php/ordreGF.php b/php/ordreGF.php index fced2fe..bb9bf96 100644 --- a/php/ordreGF.php +++ b/php/ordreGF.php @@ -111,13 +111,25 @@ require_once __DIR__ . '/header.php'; } $plusvalue = round($plusvalue, 4); - // Mise à jour si la PlusValue n'est pas encore enregistrée en base (différente de 0) - if (abs((float)$ordre['PlusValue']) < 0.0001) { - $connection->prepare("UPDATE ordreGF SET PlusValue = ? WHERE ID = ?")->execute([$plusvalue, $ordre['ID']]); - $connection->prepare("UPDATE ordreGF_pied SET Etat = 'soldé' WHERE Id_entete = ? AND Etat != 'soldé'")->execute([$ordre['ID']]); - // On met à jour la valeur locale + // Mise à jour de la plus-value uniquement si nécessaire + if (abs((float)$ordre['PlusValue'] - $plusvalue) > 0.0001) { + $connection->prepare( + "UPDATE ordreGF SET PlusValue = ? WHERE ID = ?" + )->execute([$plusvalue, $ordre['ID']]); + $ordre['PlusValue'] = $plusvalue; } + + // Si la quantité totale est à zéro, toutes les lignes actives passent en soldé + $connection->prepare( + "UPDATE ordreGF_pied + SET Etat = 'soldé' + WHERE Id_entete = ? + AND Etat = 'actif'" + )->execute([$ordre['ID']]); + + // Recharge les données après modification + $details = fetchOrdreGFPied($connection, (string)$ordre['ID']); } // Désactivation si ordre soldé ou annulé