Loading module/Contrat/src/Service/ContratService.php +37 −11 Original line number Diff line number Diff line Loading @@ -305,6 +305,32 @@ class ContratService extends AbstractEntityService public function getFirstContratMission(Intervenant $intervenant): ?Mission { $dql = " SELECT c,m FROM " . Contrat::class . " c JOIN c.intervenant i JOIN c.mission m WHERE c.intervenant = :intervenant AND c.dateRetourSigne IS NOT NULL AND c.histoDestruction IS NULL ORDER BY m.dateDebut ASC "; $query = $this->getEntityManager()->createQuery($dql); $query->setParameter('intervenant', $intervenant); $contrat = $query->setMaxResults(1)->getOneOrNullResult(); if ($contrat) { return $contrat->getMission(); } return null; } public function getContratInitialMission(?Mission $mission) { $dql = ' Loading module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php +42 −14 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace ExportRh\Connecteur\Siham; use Application\Entity\Db\Intervenant; use Contrat\Service\ContratServiceAwareTrait; use Dossier\Service\Traits\DossierServiceAwareTrait; use ExportRh\Connecteur\ConnecteurRhInterface; use ExportRh\Entity\IntervenantRh; Loading @@ -23,6 +24,7 @@ class SihamConnecteur implements ConnecteurRhInterface use ExportRhServiceAwareTrait; use AdresseNumeroComplServiceAwareTrait; use VoirieServiceAwareTrait; use ContratServiceAwareTrait; public Siham $siham; Loading Loading @@ -70,6 +72,8 @@ class SihamConnecteur implements ConnecteurRhInterface $typeAffectation = (isset($this->siham->getConfig()['type-affectation'])) ? $this->siham->getConfig()['type-affectation'] : ['FUN']; $affectations = []; $donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant); $anneeUniversitaireDebut = $intervenant->getAnnee()->getDateDebut(); $anneeUniversitaireFin = $intervenant->getAnnee()->getDateFin(); if (!empty($donneesAdministratives['listeAffectations']) || !empty($donneesAdministratives->listeAffectations)) { $listeAffectations = $donneesAdministratives['listeAffectations']; Loading @@ -79,7 +83,9 @@ class SihamConnecteur implements ConnecteurRhInterface $dateDebutAffectation = new \DateTime($affectation->dateDebutAffectation); $dateFinAffectation = new \DateTime($affectation->dateFinAffectation); $currentDate = new \DateTime(); if ($currentDate > $dateDebutAffectation and $currentDate < $dateFinAffectation) { /*Si il y a dejà eu une affectation dans l'année universitaire en cours on la remonte afin que OSE ne propose plus le renouvellement de l'intervenant. Pour un second renouvellement en cours d'année il faudra le faire manuellement*/ if ($anneeUniversitaireFin > $dateDebutAffectation and $anneeUniversitaireDebut < $dateFinAffectation) { $affectations[] = $affectation; } } Loading @@ -90,7 +96,9 @@ class SihamConnecteur implements ConnecteurRhInterface $dateDebutAffectation = new \DateTime($listeAffectations->dateDebutAffectation); $dateFinAffectation = new \DateTime($listeAffectations->dateFinAffectation); $currentDate = new \DateTime(); if ($currentDate > $dateDebutAffectation and $currentDate < $dateFinAffectation) { /*Si il y a dejà eu une affectation dans l'année universitaire en cours on la remonte afin que OSE ne propose plus le renouvellement de l'intervenant. Pour un second renouvellement en cours d'année il faudra le faire manuellement*/ if ($anneeUniversitaireFin > $dateDebutAffectation and $anneeUniversitaireDebut < $dateFinAffectation) { $affectations[] = $listeAffectations; } } Loading Loading @@ -162,6 +170,8 @@ class SihamConnecteur implements ConnecteurRhInterface { $contrats = []; $donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant); $anneeUniversitaireDebut = $intervenant->getAnnee()->getDateDebut(); $anneeUniversitaireFin = $intervenant->getAnnee()->getDateFin(); if (!empty($donneesAdministratives['listeContrats']) || !empty($donneesAdministratives->listeContrats)) { $listeContrats = (isset($donneesAdministratives['listeContrats']) && is_array($donneesAdministratives['listeContrats'])) ? $donneesAdministratives['listeContrats'] : [$donneesAdministratives['listeContrats']]; Loading @@ -171,7 +181,8 @@ class SihamConnecteur implements ConnecteurRhInterface $dateDebutContrat = new \DateTime($contrat->dateDebutContrat); $dateFinContrat = new \DateTime($contrat->dateFinReelleContrat); $currentDate = new \DateTime(); if ($currentDate > $dateDebutContrat and $currentDate < $dateFinContrat) { if ($anneeUniversitaireFin > $dateDebutContrat and $anneeUniversitaireDebut < $dateFinContrat) { $contrats[] = $contrat; } } Loading @@ -191,9 +202,18 @@ class SihamConnecteur implements ConnecteurRhInterface /* Récupération du dossier de l'intervenant */ $dossierIntervenant = $this->getServiceDossier()->getByIntervenant($intervenant); /*Recherche de la date d'effet à passer selon enseignement ou mission, si mission on prend la première mission de l'année universitaire sinon on prend les dates de début et de fin de l'année universitaire*/ $firstMission = $this->getServiceContrat()->getFirstContratMission($intervenant); if (!empty($firstMission)) { $dateEffet = $firstMission->getDateDebut()->format('Y-m-d'); $dateFin = $firstMission->getDateFin()->format('Y-m-d'); } else { $anneeUniversitaire = $intervenant->getAnnee(); $dateEffet = $anneeUniversitaire->getDateDebut()->format('Y-m-d'); $dateFin = $anneeUniversitaire->getDateFin()->format('Y-m-d'); } /*CARRIERE*/ $carriere = [ Loading Loading @@ -469,10 +489,18 @@ class SihamConnecteur implements ConnecteurRhInterface /* Récupération du dossier de l'intervenant */ $dossierIntervenant = $this->getServiceDossier()->getByIntervenant($intervenant); $anneeUniversitaire = $intervenant->getAnnee(); /*Recherche de la date d'effet à passer selon enseignement ou mission, si mission on prend la première mission de l'année universitaire sinon on prend les dates de début et de fin de l'année universitaire*/ $firstMission = $this->getServiceContrat()->getFirstContratMission($intervenant); if (!empty($firstMission)) { $dateEffet = $firstMission->getDateDebut()->format('Y-m-d'); $dateFin = $firstMission->getDateFin()->format('Y-m-d'); } else { $anneeUniversitaire = $intervenant->getAnnee(); $dateEffet = $anneeUniversitaire->getDateDebut()->format('Y-m-d'); $dateFin = $anneeUniversitaire->getDateFin()->format('Y-m-d'); } /*Formatage du matricule*/ Loading module/ExportRh/src/Controller/ExportRhController.php +14 −10 Original line number Diff line number Diff line Loading @@ -180,11 +180,15 @@ class ExportRhController extends AbstractController //On a trouvé un intervenant dans le SI RH if (!empty($intervenantRh)) { //On regarde si il a une affectation en cours pour l'année courante si oui alors on propose uniquement une synchronisation des données personnelles $affectationEnCours = current($this->exportRhService->getAffectationEnCoursIntervenantRh($intervenant)); $contratEnCours = current($this->exportRhService->getContratEnCoursIntervenantRh($intervenant)); $listeAffectations = $this->exportRhService->getAffectationEnCoursIntervenantRh($intervenant); //On prend la dernière affectation connue dans SIHAM $affectationEnCours = end($listeAffectations); $listeContrats = $this->exportRhService->getContratEnCoursIntervenantRh($intervenant); //On prend le dernier contrat connu dans SIHAM $contratEnCours = end($listeContrats); $renouvellement = true; if (!empty($affectationEnCours)) { if (!empty($listeAffectations)) { $renouvellement = false; } } else { Loading module/ExportRh/view/export-rh/export-rh/exporter.phtml +14 −3 Original line number Diff line number Diff line Loading @@ -84,8 +84,9 @@ if ($priseEnCharge) { ?> <!-- BLOC AFFECTATION --> <?php if (!empty($affectationEnCours)): ?> <div class="card bg-default"> <div class="card-header">Affectation <?= $nameConnecteur ?> en cours</div> <div class="card-header">Dernière affectation connue dans <?= $nameConnecteur ?> </div> <div class="card-body"> <table class="table"> <thead> Loading @@ -109,6 +110,15 @@ if ($priseEnCharge) { ?> </td> </tr> <tr> <td>Date fin</td> <td> <?php $date = new DateTime($affectationEnCours->dateFinAffectation); echo $date->format('d-m-Y'); ?> </td> </tr> <tr> <td>Type de rattachement</td> <td><?= $affectationEnCours->libLongTypeRattachement ?></td> Loading @@ -123,9 +133,10 @@ if ($priseEnCharge) { </table> </div> </div> <?php else: ?> <div class="card bg-default"> <div class="card-header">Affectation <?= $nameConnecteur ?> en cours</div> <div class="card-header">Affectation <?= $nameConnecteur ?></div> <div class="card-body" style="text-align:center;"> Aucune affectation en cours dans SIHAM </div> Loading @@ -133,7 +144,7 @@ if ($priseEnCharge) { <?php endif; ?> <?php if (!empty($contratEnCours)): ?> <div class="card bg-default"> <div class="card-header">Contrat <?= $nameConnecteur ?> en cours</div> <div class="card-header">Dernier contrat connu dans <?= $nameConnecteur ?></div> <div class="card-body"> <table class="table"> <thead> Loading Loading
module/Contrat/src/Service/ContratService.php +37 −11 Original line number Diff line number Diff line Loading @@ -305,6 +305,32 @@ class ContratService extends AbstractEntityService public function getFirstContratMission(Intervenant $intervenant): ?Mission { $dql = " SELECT c,m FROM " . Contrat::class . " c JOIN c.intervenant i JOIN c.mission m WHERE c.intervenant = :intervenant AND c.dateRetourSigne IS NOT NULL AND c.histoDestruction IS NULL ORDER BY m.dateDebut ASC "; $query = $this->getEntityManager()->createQuery($dql); $query->setParameter('intervenant', $intervenant); $contrat = $query->setMaxResults(1)->getOneOrNullResult(); if ($contrat) { return $contrat->getMission(); } return null; } public function getContratInitialMission(?Mission $mission) { $dql = ' Loading
module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php +42 −14 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace ExportRh\Connecteur\Siham; use Application\Entity\Db\Intervenant; use Contrat\Service\ContratServiceAwareTrait; use Dossier\Service\Traits\DossierServiceAwareTrait; use ExportRh\Connecteur\ConnecteurRhInterface; use ExportRh\Entity\IntervenantRh; Loading @@ -23,6 +24,7 @@ class SihamConnecteur implements ConnecteurRhInterface use ExportRhServiceAwareTrait; use AdresseNumeroComplServiceAwareTrait; use VoirieServiceAwareTrait; use ContratServiceAwareTrait; public Siham $siham; Loading Loading @@ -70,6 +72,8 @@ class SihamConnecteur implements ConnecteurRhInterface $typeAffectation = (isset($this->siham->getConfig()['type-affectation'])) ? $this->siham->getConfig()['type-affectation'] : ['FUN']; $affectations = []; $donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant); $anneeUniversitaireDebut = $intervenant->getAnnee()->getDateDebut(); $anneeUniversitaireFin = $intervenant->getAnnee()->getDateFin(); if (!empty($donneesAdministratives['listeAffectations']) || !empty($donneesAdministratives->listeAffectations)) { $listeAffectations = $donneesAdministratives['listeAffectations']; Loading @@ -79,7 +83,9 @@ class SihamConnecteur implements ConnecteurRhInterface $dateDebutAffectation = new \DateTime($affectation->dateDebutAffectation); $dateFinAffectation = new \DateTime($affectation->dateFinAffectation); $currentDate = new \DateTime(); if ($currentDate > $dateDebutAffectation and $currentDate < $dateFinAffectation) { /*Si il y a dejà eu une affectation dans l'année universitaire en cours on la remonte afin que OSE ne propose plus le renouvellement de l'intervenant. Pour un second renouvellement en cours d'année il faudra le faire manuellement*/ if ($anneeUniversitaireFin > $dateDebutAffectation and $anneeUniversitaireDebut < $dateFinAffectation) { $affectations[] = $affectation; } } Loading @@ -90,7 +96,9 @@ class SihamConnecteur implements ConnecteurRhInterface $dateDebutAffectation = new \DateTime($listeAffectations->dateDebutAffectation); $dateFinAffectation = new \DateTime($listeAffectations->dateFinAffectation); $currentDate = new \DateTime(); if ($currentDate > $dateDebutAffectation and $currentDate < $dateFinAffectation) { /*Si il y a dejà eu une affectation dans l'année universitaire en cours on la remonte afin que OSE ne propose plus le renouvellement de l'intervenant. Pour un second renouvellement en cours d'année il faudra le faire manuellement*/ if ($anneeUniversitaireFin > $dateDebutAffectation and $anneeUniversitaireDebut < $dateFinAffectation) { $affectations[] = $listeAffectations; } } Loading Loading @@ -162,6 +170,8 @@ class SihamConnecteur implements ConnecteurRhInterface { $contrats = []; $donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant); $anneeUniversitaireDebut = $intervenant->getAnnee()->getDateDebut(); $anneeUniversitaireFin = $intervenant->getAnnee()->getDateFin(); if (!empty($donneesAdministratives['listeContrats']) || !empty($donneesAdministratives->listeContrats)) { $listeContrats = (isset($donneesAdministratives['listeContrats']) && is_array($donneesAdministratives['listeContrats'])) ? $donneesAdministratives['listeContrats'] : [$donneesAdministratives['listeContrats']]; Loading @@ -171,7 +181,8 @@ class SihamConnecteur implements ConnecteurRhInterface $dateDebutContrat = new \DateTime($contrat->dateDebutContrat); $dateFinContrat = new \DateTime($contrat->dateFinReelleContrat); $currentDate = new \DateTime(); if ($currentDate > $dateDebutContrat and $currentDate < $dateFinContrat) { if ($anneeUniversitaireFin > $dateDebutContrat and $anneeUniversitaireDebut < $dateFinContrat) { $contrats[] = $contrat; } } Loading @@ -191,9 +202,18 @@ class SihamConnecteur implements ConnecteurRhInterface /* Récupération du dossier de l'intervenant */ $dossierIntervenant = $this->getServiceDossier()->getByIntervenant($intervenant); /*Recherche de la date d'effet à passer selon enseignement ou mission, si mission on prend la première mission de l'année universitaire sinon on prend les dates de début et de fin de l'année universitaire*/ $firstMission = $this->getServiceContrat()->getFirstContratMission($intervenant); if (!empty($firstMission)) { $dateEffet = $firstMission->getDateDebut()->format('Y-m-d'); $dateFin = $firstMission->getDateFin()->format('Y-m-d'); } else { $anneeUniversitaire = $intervenant->getAnnee(); $dateEffet = $anneeUniversitaire->getDateDebut()->format('Y-m-d'); $dateFin = $anneeUniversitaire->getDateFin()->format('Y-m-d'); } /*CARRIERE*/ $carriere = [ Loading Loading @@ -469,10 +489,18 @@ class SihamConnecteur implements ConnecteurRhInterface /* Récupération du dossier de l'intervenant */ $dossierIntervenant = $this->getServiceDossier()->getByIntervenant($intervenant); $anneeUniversitaire = $intervenant->getAnnee(); /*Recherche de la date d'effet à passer selon enseignement ou mission, si mission on prend la première mission de l'année universitaire sinon on prend les dates de début et de fin de l'année universitaire*/ $firstMission = $this->getServiceContrat()->getFirstContratMission($intervenant); if (!empty($firstMission)) { $dateEffet = $firstMission->getDateDebut()->format('Y-m-d'); $dateFin = $firstMission->getDateFin()->format('Y-m-d'); } else { $anneeUniversitaire = $intervenant->getAnnee(); $dateEffet = $anneeUniversitaire->getDateDebut()->format('Y-m-d'); $dateFin = $anneeUniversitaire->getDateFin()->format('Y-m-d'); } /*Formatage du matricule*/ Loading
module/ExportRh/src/Controller/ExportRhController.php +14 −10 Original line number Diff line number Diff line Loading @@ -180,11 +180,15 @@ class ExportRhController extends AbstractController //On a trouvé un intervenant dans le SI RH if (!empty($intervenantRh)) { //On regarde si il a une affectation en cours pour l'année courante si oui alors on propose uniquement une synchronisation des données personnelles $affectationEnCours = current($this->exportRhService->getAffectationEnCoursIntervenantRh($intervenant)); $contratEnCours = current($this->exportRhService->getContratEnCoursIntervenantRh($intervenant)); $listeAffectations = $this->exportRhService->getAffectationEnCoursIntervenantRh($intervenant); //On prend la dernière affectation connue dans SIHAM $affectationEnCours = end($listeAffectations); $listeContrats = $this->exportRhService->getContratEnCoursIntervenantRh($intervenant); //On prend le dernier contrat connu dans SIHAM $contratEnCours = end($listeContrats); $renouvellement = true; if (!empty($affectationEnCours)) { if (!empty($listeAffectations)) { $renouvellement = false; } } else { Loading
module/ExportRh/view/export-rh/export-rh/exporter.phtml +14 −3 Original line number Diff line number Diff line Loading @@ -84,8 +84,9 @@ if ($priseEnCharge) { ?> <!-- BLOC AFFECTATION --> <?php if (!empty($affectationEnCours)): ?> <div class="card bg-default"> <div class="card-header">Affectation <?= $nameConnecteur ?> en cours</div> <div class="card-header">Dernière affectation connue dans <?= $nameConnecteur ?> </div> <div class="card-body"> <table class="table"> <thead> Loading @@ -109,6 +110,15 @@ if ($priseEnCharge) { ?> </td> </tr> <tr> <td>Date fin</td> <td> <?php $date = new DateTime($affectationEnCours->dateFinAffectation); echo $date->format('d-m-Y'); ?> </td> </tr> <tr> <td>Type de rattachement</td> <td><?= $affectationEnCours->libLongTypeRattachement ?></td> Loading @@ -123,9 +133,10 @@ if ($priseEnCharge) { </table> </div> </div> <?php else: ?> <div class="card bg-default"> <div class="card-header">Affectation <?= $nameConnecteur ?> en cours</div> <div class="card-header">Affectation <?= $nameConnecteur ?></div> <div class="card-body" style="text-align:center;"> Aucune affectation en cours dans SIHAM </div> Loading @@ -133,7 +144,7 @@ if ($priseEnCharge) { <?php endif; ?> <?php if (!empty($contratEnCours)): ?> <div class="card bg-default"> <div class="card-header">Contrat <?= $nameConnecteur ?> en cours</div> <div class="card-header">Dernier contrat connu dans <?= $nameConnecteur ?></div> <div class="card-body"> <table class="table"> <thead> Loading