Skip to content
Snippets Groups Projects
Commit 7dc59e73 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Ajout de la notion de contracutalisation dans SIHAM

parent 8b0e5c71
No related branches found
No related tags found
No related merge requests found
...@@ -68,8 +68,8 @@ class IndexController extends AbstractController ...@@ -68,8 +68,8 @@ class IndexController extends AbstractController
$intervenant = $this->getServiceIntervenant()->getByCode($role->getIntervenant()->getCode()); $intervenant = $this->getServiceIntervenant()->getByCode($role->getIntervenant()->getCode());
if ($intervenant) { if ($intervenant) {
//Correction mauvais refresh du role lors du changement d'année //Correction mauvais refresh du role lors du changement d'année
$this->serviceUserContext->setSelectedIdentityRole($intervenant->getStatut()->getRoleId()); // $this->serviceUserContext->setSelectedIdentityRole($intervenant->getStatut()->getRoleId());
//$this->serviceUserContext->setNextSelectedIdentityRole($intervenant->getStatut()->getRoleId()); $this->serviceUserContext->setNextSelectedIdentityRole($intervenant->getStatut()->getRoleId());
} }
} }
} }
......
...@@ -148,13 +148,20 @@ class SihamConnecteur implements ConnecteurRhInterface ...@@ -148,13 +148,20 @@ class SihamConnecteur implements ConnecteurRhInterface
{ {
$affectations = []; $affectations = [];
$donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant); $donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant);
if (!empty($donneesAdministratives['listeAffectations']) || !empty($donneesAdministratives->listeAffectations)) { if (!empty($donneesAdministratives['listeAffectations']) || !empty($donneesAdministratives->listeAffectations)) {
$listeAffectations = (isset($donneesAdministratives['listeAffectations'])) ? $donneesAdministratives['listeAffectations'] : $donneesAdministratives->listeAffectations; $listeAffectations = (isset($donneesAdministratives['listeAffectations'])) ? $donneesAdministratives['listeAffectations'] : $donneesAdministratives->listeAffectations;
foreach ($listeAffectations as $affectation) { foreach ($listeAffectations as $affectation) {
//On prend uniquement les affectations fonctionnelles //On prend uniquement les affectations fonctionnelles
if ($affectation->codeTypeRattachement == 'FUN') { if ($affectation->codeTypeRattachement == 'FUN') {
$dateDebutAffectation = new \DateTime($affectation->dateDebutAffectation);
$dateFinAffectation = new \DateTime($affectation->dateFinAffectation);
$currentDate = new \DateTime();
if ($currentDate > $dateDebutAffectation and $currentDate > $dateFinAffectation) {
$affectations[] = $affectation; $affectations[] = $affectation;
} }
}
}; };
} }
...@@ -165,13 +172,25 @@ class SihamConnecteur implements ConnecteurRhInterface ...@@ -165,13 +172,25 @@ class SihamConnecteur implements ConnecteurRhInterface
public function recupererContratEnCoursIntervenantRh(Intervenant $intervenant): ?array public function recupererContratEnCoursIntervenantRh(Intervenant $intervenant): ?array
{ {
$contrat = []; $contrats = [];
$donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant); $donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant);
var_dump($donneesAdministratives);
die;
if (!empty($donneesAdministratives['listeContrats']) || !empty($donneesAdministratives->listeContrats)) {
$listeContrats = (isset($donneesAdministratives['listeContrats']) && is_array($donneesAdministratives['listeContrats'])) ? $donneesAdministratives['listeContrats'] : [$donneesAdministratives['listeContrats']];
return true;
foreach ($listeContrats as $contrat) {
$dateDebutContrat = new \DateTime($contrat->dateDebutContrat);
$dateFinContrat = new \DateTime($contrat->dateFinReelleContrat);
$currentDate = new \DateTime();
if ($currentDate > $dateDebutContrat and $currentDate > $dateFinContrat) {
$contrats[] = $contrat;
}
}
};
return $contrats;
} }
...@@ -502,6 +521,13 @@ class SihamConnecteur implements ConnecteurRhInterface ...@@ -502,6 +521,13 @@ class SihamConnecteur implements ConnecteurRhInterface
public function recupererListeContrats(): ?array
{
return $this->siham->recupererListeContrats();
}
public function getConnecteurName(): string public function getConnecteurName(): string
{ {
return 'siham'; return 'siham';
...@@ -515,5 +541,4 @@ class SihamConnecteur implements ConnecteurRhInterface ...@@ -515,5 +541,4 @@ class SihamConnecteur implements ConnecteurRhInterface
return $fieldset; return $fieldset;
} }
} }
\ No newline at end of file
...@@ -106,7 +106,8 @@ class ExportRhController extends AbstractController ...@@ -106,7 +106,8 @@ class ExportRhController extends AbstractController
if (!empty($intervenantRh)) { 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 //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)); $affectationEnCours = current($this->exportRhService->getAffectationEnCoursIntervenantRh($intervenant));
$this->recupererContratEnCoursIntervenantRh($intervenant); //On regarde si il a un contrat en cours pour l'année courante
$contratEnCours = current($this->exportRhService->getContratEnCoursIntervenantRh($intervenant));
$renouvellement = true; $renouvellement = true;
if (!empty($affectationEnCours)) { if (!empty($affectationEnCours)) {
...@@ -133,7 +134,8 @@ class ExportRhController extends AbstractController ...@@ -133,7 +134,8 @@ class ExportRhController extends AbstractController
'renouvellement', 'renouvellement',
'priseEnCharge', 'priseEnCharge',
'nameConnecteur', 'nameConnecteur',
'affectationEnCours'); 'affectationEnCours',
'contratEnCours');
} }
......
...@@ -85,7 +85,9 @@ class ExportRhService extends AbstractService ...@@ -85,7 +85,9 @@ class ExportRhService extends AbstractService
public function getContratEnCoursIntervenantRh($intervenant) public function getContratEnCoursIntervenantRh($intervenant)
{ {
return true; $contrat = $this->connecteur->recupererContratEnCoursIntervenantRh($intervenant);
return $contrat;
} }
...@@ -125,6 +127,13 @@ class ExportRhService extends AbstractService ...@@ -125,6 +127,13 @@ class ExportRhService extends AbstractService
public function getListContrats()
{
return $this->connecteur->recupererListeContrats();
}
public function priseEnChargeIntrervenantRh(Intervenant $intervenant, $datas) public function priseEnChargeIntrervenantRh(Intervenant $intervenant, $datas)
{ {
return $this->connecteur->prendreEnChargeIntervenantRh($intervenant, $datas); return $this->connecteur->prendreEnChargeIntervenantRh($intervenant, $datas);
......
...@@ -37,9 +37,13 @@ if ($priseEnCharge) { ...@@ -37,9 +37,13 @@ if ($priseEnCharge) {
<?php if (empty($intervenantRh)): ?> <?php if (empty($intervenantRh)): ?>
<p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> n'a pas été trouvé dans <?= $nameConnecteur; ?>. Vous pouvez si vous le souhaiter prendre en charge cet intervenant avec les données de son dossier, résumées ci-dessous :</p> <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> n'a pas été trouvé dans <?= $nameConnecteur; ?>. Vous pouvez si vous le souhaiter prendre en charge cet intervenant avec les données de son dossier, résumées ci-dessous :</p>
<?php else: ?> <?php else: ?>
<?php if (!empty($affectationEnCours)): ?> <?php if (!empty($affectationEnCours) && !empty($contratsEnCours)): ?>
<p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>). Il possède déjà actuellement une affectation pour l'année <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>). Il possède déjà actuellement une affectation pour l'année
universitaire <?= $intervenant->getAnnee()->getLibelle() ?>. Vous pouvez mettre à jour ses données personnelles si vous le souhaitez avec le bouton synchronisation en bas de page.</p> universitaire <?= $intervenant->getAnnee()->getLibelle() ?>. Vous pouvez mettre à jour ses données personnelles si vous le souhaitez avec le bouton synchronisation en bas de page.</p>
<?php elseif (!empty($affectationEnCours) && empty($contratsEnCours)): ?>
<p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>).Il possède une affectation mais pas encore de contrat
l'année <?= $intervenant->getAnnee()->getLibelle() ?>. Vous
pouvez le renouveller pour cette année à l'aide du formulaire ci-dessous.</p>
<?php else: ?> <?php else: ?>
<p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>).Il ne possède pas encore d'affectation pour <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>).Il ne possède pas encore d'affectation pour
l'année <?= $intervenant->getAnnee()->getLibelle() ?>. Vous l'année <?= $intervenant->getAnnee()->getLibelle() ?>. Vous
...@@ -56,12 +60,11 @@ if ($priseEnCharge) { ...@@ -56,12 +60,11 @@ if ($priseEnCharge) {
$connecteurFieldset = $form->get('connecteurForm'); $connecteurFieldset = $form->get('connecteurForm');
?> ?>
<!-- BLOC AFFECTATIOn --> <!-- BLOC AFFECTATION -->
<?php if (!empty($affectationEnCours)): ?> <?php if (!empty($affectationEnCours)): ?>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading">Affectation <?= $nameConnecteur ?> en cours</div> <div class="panel-heading">Affectation <?= $nameConnecteur ?> en cours</div>
<div class="panel-body"> <div class="panel-body">
<table>
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
...@@ -89,9 +92,49 @@ if ($priseEnCharge) { ...@@ -89,9 +92,49 @@ if ($priseEnCharge) {
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div>
</div>
<?php else: ?>
<div class="panel panel-default">
<div class="panel-heading">Affectation <?= $nameConnecteur ?> en cours</div>
<div class="panel-body" style="text-align:center;">
Aucune affectation en cours dans SIHAM
</div>
</div>
<?php endif; ?>
<?php if (!empty($contratsEnCours)): ?>
<div class="panel panel-default">
<div class="panel-heading">Contrat <?= $nameConnecteur ?> en cours</div>
<div class="panel-body">
<table class="table">
<tbody>
<tr>
<td>Type de contrat</td>
<td><?= $contratsEnCours->libLongTypeContrat ?></td>
</tr>
<tr>
<td>Date début contrat</td>
<td><?= $contratsEnCours->dateDebutContrat ?></td>
</tr>
<tr>
<td>Date fin de contrat prévue</td>
<td><?= $contratsEnCours->dateFinPrevueContrat ?></td>
</tr>
<tr>
<td>Date fin de contrat réelle</td>
<td><?= $contratsEnCours->dateFinReelleContrat ?></td>
</tr>
</tbody>
</table> </table>
</div> </div>
</div> </div>
<?php else: ?>
<div class="panel panel-default">
<div class="panel-heading">Contrat <?= $nameConnecteur ?> en cours</div>
<div class="panel-body" style="text-align:center;">
Aucun contrat en cours dans SIHAM
</div>
</div>
<?php endif; ?> <?php endif; ?>
<!--Partie générique du formulaire--> <!--Partie générique du formulaire-->
<div class="panel panel-default"> <div class="panel panel-default">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment