From 2dba9b0e7281b62f7b80d90376a935b037fa620e Mon Sep 17 00:00:00 2001
From: Antony Le Courtes <antony.lecourtes@unicaen.fr>
Date: Fri, 14 Mar 2025 12:14:28 +0100
Subject: [PATCH] =?UTF-8?q?Probl=C3=A8me=20arrondi=20sur=20les=20demandes?=
 =?UTF-8?q?=20de=20mise=20en=20paiement.?=
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, 3 insertions(+), 1 deletion(-)

diff --git a/module/Paiement/src/Service/DemandesService.php b/module/Paiement/src/Service/DemandesService.php
index f0374fef98..de032cf706 100755
--- a/module/Paiement/src/Service/DemandesService.php
+++ b/module/Paiement/src/Service/DemandesService.php
@@ -678,7 +678,7 @@ class DemandesService extends AbstractService
             $totalHeuresDemandees += $dmep['TOTAL_HEURES_DEMANDEES'];
             $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']);
+                $soldeHeures = round($dmep['TOTAL_HEURES_A_PAYER'] - $dmep['TOTAL_HEURES_DEMANDEES'],2);
                 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);
@@ -688,6 +688,8 @@ class DemandesService extends AbstractService
                 }
             }
         }
+        $totalHeuresAPayer = round($totalHeuresAPayer,2);
+        $totalHeuresDemandees = round($totalHeuresDemandees,2);
         //On  vérifie qu'il y a bien un centre de cout
         if (empty($data['centreCoutId'])) {
             throw new \Exception('Vous devez renseigner un centre de coûts pour demander ce paiement', self::EXCEPTION_DMEP_CENTRE_COUT);
-- 
GitLab