From 9fc641f93bdb6e0720dace59464d221344508631 Mon Sep 17 00:00:00 2001 From: jfgiraud Date: Sun, 5 Jul 2026 19:22:35 +0000 Subject: [PATCH] formulaire ok sauf calcul totaux et btn modifier --- php/ordreGF.php | 58 ++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/php/ordreGF.php b/php/ordreGF.php index 33c42db..1a81a58 100644 --- a/php/ordreGF.php +++ b/php/ordreGF.php @@ -13,7 +13,6 @@ ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); - $pageStylesheets = ['/css/ordreGF.css']; $bodyClass = 'ordregf-page'; @@ -59,11 +58,27 @@ require_once __DIR__ . '/header.php'; + 0); + // Désactiver si vendu OU si une plus-value existe déjà + $isDisabled = $isSold || (isset($ordre['PlusValue']) && (float)$ordre['PlusValue'] !== 0.0); + $disabledAttr = $isDisabled ? 'disabled style="opacity:0.5; cursor:not-allowed;"' : ''; + ?> + @@ -83,8 +98,8 @@ require_once __DIR__ . '/header.php'; 0); $plusvalue = 0.0000; if ($isSold) { foreach ($details as $detail) { @@ -161,21 +172,10 @@ require_once __DIR__ . '/header.php'; $eNet = round($qte * $prixNet, 4); $oType = strtolower($detail['Ordre']); $tOp = strtolower($detail['Type']); - - // Logique plus claire - $signe = 0; - if ($tOp === 'long') { - $signe = ($oType === 'vente') ? 1 : -1; - } else { // short - $signe = ($oType === 'achat') ? 1 : -1; - } - + $signe = ($tOp === 'long') ? (($oType === 'vente') ? 1 : -1) : (($oType === 'achat') ? 1 : -1); $plusvalue += ($eNet * $signe); } - - // On arrondit le résultat final avant comparaison et insertion $plusvalue = round($plusvalue, 4); - if (abs((float)$ordre['PlusValue'] - $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']]);
- +
Type Etat - @@ -93,10 +108,8 @@ require_once __DIR__ . '/header.php';
- +