Commit b3ec7315 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Correction pour le connecteur SIHAM pour meilleure gestion des affectations (HIE ou FUN)

parent e2c4aa0a
Loading
Loading
Loading
Loading
+16 −5
Original line number Diff line number Diff line
@@ -163,16 +163,16 @@ class SihamConnecteur implements ConnecteurRhInterface

    public function recupererAffectationEnCoursIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?array
    {
        $typeAffectation = (isset($this->siham->getConfig()['type-affectation'])) ? $this->siham->getConfig()['type-affectation'] : ['FUN'];
        $affectations           = [];
        $donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant);


        if (!empty($donneesAdministratives['listeAffectations']) || !empty($donneesAdministratives->listeAffectations)) {
            $listeAffectations = (isset($donneesAdministratives['listeAffectations'])) ? $donneesAdministratives['listeAffectations'] : $donneesAdministratives->listeAffectations;

            $listeAffectations = $donneesAdministratives['listeAffectations'];
            if (is_array($listeAffectations)) {
                foreach ($listeAffectations as $affectation) {
                //On prend uniquement les affectations fonctionnelles
                if ($affectation->codeTypeRattachement == 'FUN') {
                    if (in_array($affectation->codeTypeRattachement, $typeAffectation)) {
                        $dateDebutAffectation = new \DateTime($affectation->dateDebutAffectation);
                        $dateFinAffectation   = new \DateTime($affectation->dateFinAffectation);
                        $currentDate          = new \DateTime();
@@ -180,7 +180,18 @@ class SihamConnecteur implements ConnecteurRhInterface
                            $affectations[] = $affectation;
                        }
                    }
            };
                }
            } else {
                //Todo relecture de code, rendre paramètrable le codeTypeRattachement en FUN ou HIE et refaire des tests.
                if (in_array($listeAffectations->codeTypeRattachement, $typeAffectation)) {
                    $dateDebutAffectation = new \DateTime($listeAffectations->dateDebutAffectation);
                    $dateFinAffectation   = new \DateTime($listeAffectations->dateFinAffectation);
                    $currentDate          = new \DateTime();
                    if ($currentDate > $dateDebutAffectation and $currentDate < $dateFinAffectation) {
                        $affectations[] = $listeAffectations;
                    }
                }
            }
        }

        return $affectations;