From 3acf18077475d0df2ed0e0faf7da473eca57d5e2 Mon Sep 17 00:00:00 2001 From: mrossard Date: Mon, 16 Dec 2024 12:05:19 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20erreur=20de=20calcul=20quand=20le=20taux?= =?UTF-8?q?=20change=20en=20cours=20de=20p=C3=A9riode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/State/PeriodeRH/ServicesFaitsProvider.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/backend/src/State/PeriodeRH/ServicesFaitsProvider.php b/backend/src/State/PeriodeRH/ServicesFaitsProvider.php index 06738f8..c9d1ff3 100644 --- a/backend/src/State/PeriodeRH/ServicesFaitsProvider.php +++ b/backend/src/State/PeriodeRH/ServicesFaitsProvider.php @@ -116,7 +116,11 @@ public function traiterEvenements(array $evenements, ServicesFaits $servicesFait foreach ($evenements as $evenement) { $intervenant = $evenement->getIntervenant(); $type = $evenement->getType(); - $ligneId = $intervenant->getId() . '###' . $type->getId(); + $tauxHoraire = $evenement->getType()->getTauxHoraireActifPourDate($evenement->getDebut()); + if (null === $tauxHoraire) { + throw new ConfigurationIncompleteException('Taux horaire non renseigné pour ' . $evenement->getType()->getLibelle()); + } + $ligneId = $intervenant->getId() . '###' . $type->getId() . '###' . $tauxHoraire->getId(); $servicesFaits->lignes[$ligneId] = $this->append($servicesFaits->lignes[$ligneId] ?? null, $evenement); } @@ -151,9 +155,6 @@ function (LigneServiceFait $a, LigneServiceFait $b) { protected function append(?LigneServiceFait $ligne, Evenement|InterventionForfait $evenement): LigneServiceFait { $tauxHoraire = $evenement->getType()->getTauxHoraireActifPourDate($evenement->getDebut()); - if (null === $tauxHoraire) { - throw new ConfigurationIncompleteException('Taux horaire non renseigné pour ' . $evenement->getType()->getLibelle()); - } if (null == $ligne) { $ligne = new LigneServiceFait();