From ec020008fb8b795ab74864578048a9b00b7616b1 Mon Sep 17 00:00:00 2001
From: Antony Le Courtes <antony.lecourtes@unicaen.fr>
Date: Fri, 7 Mar 2025 15:36:26 +0100
Subject: [PATCH] =?UTF-8?q?Correction=20demande=20de=20mise=20en=20paiemen?=
 =?UTF-8?q?t=20sur=20le=20test=20de=20non=20d=C3=A9passement=20du=20total?=
 =?UTF-8?q?=20hetd=20=C3=A0=20payer?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 module/Paiement/src/Service/DemandesService.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/module/Paiement/src/Service/DemandesService.php b/module/Paiement/src/Service/DemandesService.php
index bed9e389ce..bb3d7cec23 100755
--- a/module/Paiement/src/Service/DemandesService.php
+++ b/module/Paiement/src/Service/DemandesService.php
@@ -678,7 +678,7 @@ class DemandesService extends AbstractService
             $totalHeuresAPayer    += $dmep['TOTAL_HEURES_A_PAYER'];
             if ($serviceReferentielId === $dmep['SERVICE_REFERENTIEL_ID'] || $serviceId === $dmep['SERVICE_ID'] || $missionId === $dmep['MISSION_ID']) {
                 $soldeHeures = ($dmep['TOTAL_HEURES_A_PAYER'] - $dmep['TOTAL_HEURES_DEMANDEES']);
-                if ($heuresDemandees > $soldeHeures) {
+                if (bccomp((string)$heuresDemandees, (string)$soldeHeures,2) > 0) {
                     if ($soldeHeures >= 0) {
                         throw new \Exception('Demande de mise en paiement impossible, vous demandez ' . $heuresDemandees . ' hetd(s) alors que vous pouvez demander maximum ' . ($dmep['TOTAL_HEURES_A_PAYER'] - $dmep['TOTAL_HEURES_DEMANDEES']) . ' hetd(s)', self::EXCEPTION_DMEP_INVALIDE);
                     } else {
@@ -698,7 +698,7 @@ class DemandesService extends AbstractService
             }
         }
         //On vérifie en dernier si l'ensemble des heures déjà payé ne dépasse pas le nombre d'heures réalisées tout service confondu.
-        if (($totalHeuresAPayer - $totalHeuresDemandees) < $heuresDemandees) {
+        if (bccomp((string)($totalHeuresAPayer - $totalHeuresDemandees), (string)$heuresDemandees, 2) < 0) {
             throw new \Exception('Demande de mise en paiement impossible, la somme des heures déjà demandée en paiement pour tous les services confondus ne permet plus de demander en paiement les ' . $heuresDemandees . ' hetd(s)', self::EXCEPTION_DMEP_INVALIDE);
         }
 
-- 
GitLab