| = htmlspecialchars($date) ?> |
= number_format($qte, 0, ',', ' ') ?> |
= number_format($prix, 3, ',', ' ') ?> |
= number_format($frais, 3, ',', ' ') ?> |
= number_format($prixNet, 3, ',', ' ') ?> |
= number_format($qte * $prix, 3, ',', ' ') ?> |
= number_format($qte * $prixNet, 3, ',', ' ') ?> |
= htmlspecialchars($detail['Ordre'] ?? '') ?> |
= htmlspecialchars($detail['Type'] ?? '') ?> |
= htmlspecialchars($detail['Etat'] ?? '') ?> |
|
0);
$plusvalue = 0.0000;
if ($isSold) {
foreach ($details as $detail) {
$qte = (int)$detail['Quantite'];
$prixNet = (float)$detail['Prix_brut'] + (float)$detail['Frais_brocker'] + (float)$detail['Frais_etat'] + (float)$detail['Frais_autre'];
$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;
}
$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']]);
}
}
?>
| TOTAL : |
= number_format($totalQ, 0, ',', ' ') ?> |
|
= number_format($engaBrut, 3, ',', ' ') ?> |
= number_format($engaNet, 3, ',', ' ') ?> |
|