From d144921de53898a2e10d9e6d4d5ae7777969e848 Mon Sep 17 00:00:00 2001 From: mrossard Date: Mon, 20 Jan 2025 10:51:24 +0100 Subject: [PATCH] fix(backend): services faits sur interventions au forfait --- backend/src/State/PeriodeRH/ServicesFaitsProvider.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/backend/src/State/PeriodeRH/ServicesFaitsProvider.php b/backend/src/State/PeriodeRH/ServicesFaitsProvider.php index c9d1ff3..5480f89 100644 --- a/backend/src/State/PeriodeRH/ServicesFaitsProvider.php +++ b/backend/src/State/PeriodeRH/ServicesFaitsProvider.php @@ -104,7 +104,7 @@ public function getEvenements(\App\Entity\PeriodeRH $periode, ?string $uid): arr } /** - * @param Evenement[] $evenements + * @param (Evenement|InterventionForfait)[] $evenements * @param ServicesFaits $servicesFaits * @return ServicesFaits * @throws ConfigurationIncompleteException @@ -116,12 +116,13 @@ public function traiterEvenements(array $evenements, ServicesFaits $servicesFait foreach ($evenements as $evenement) { $intervenant = $evenement->getIntervenant(); $type = $evenement->getType(); - $tauxHoraire = $evenement->getType()->getTauxHoraireActifPourDate($evenement->getDebut()); + $dateEvenement = $evenement instanceof Evenement ? $evenement->getDebut() : $servicesFaits->periode->debut; + $tauxHoraire = $evenement->getType()->getTauxHoraireActifPourDate($dateEvenement); 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); + $servicesFaits->lignes[$ligneId] = $this->append($servicesFaits->lignes[$ligneId] ?? null, $evenement, $tauxHoraire); } //on repasse les indices en auto @@ -152,10 +153,8 @@ function (LigneServiceFait $a, LigneServiceFait $b) { * @return LigneServiceFait * @throws ConfigurationIncompleteException */ - protected function append(?LigneServiceFait $ligne, Evenement|InterventionForfait $evenement): LigneServiceFait + protected function append(?LigneServiceFait $ligne, Evenement|InterventionForfait $evenement, TauxHoraire $tauxHoraire): LigneServiceFait { - $tauxHoraire = $evenement->getType()->getTauxHoraireActifPourDate($evenement->getDebut()); - if (null == $ligne) { $ligne = new LigneServiceFait(); $ligne->type = $this->getTypeResource($evenement->getType());