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

Utilisation de la notion de contrat pour autoriser l'export RH

parent 451a7daf
No related branches found
No related tags found
No related merge requests found
......@@ -2896,7 +2896,7 @@
"source": {
"type": "git",
"url": "https://git.unicaen.fr/lib/unicaen/siham.git",
"reference": "edc2151decc41330d478287b7a85e94d9d49d6b3"
"reference": "02c25ea8a9c706a9c0686182a1c982f54797c1a1"
},
"require": {
"zendframework/zend-mail": "^2.10",
......@@ -2921,7 +2921,7 @@
}
],
"description": "PHP library for SIHAM webservices",
"time": "2021-09-14T09:06:03+00:00"
"time": "2021-09-15T13:50:23+00:00"
},
{
"name": "unicaen/tbl",
......
......@@ -65,6 +65,7 @@ class SihamConnecteur implements ConnecteurRhInterface
public function recupererIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?IntervenantRh
{
$agent = '';
if (!empty($intervenant->getCodeRh())) {
$codeRh = $intervenant->getCodeRh();
......@@ -81,6 +82,7 @@ class SihamConnecteur implements ConnecteurRhInterface
$agent = $this->siham->recupererDonneesPersonnellesAgent($params);
} else {
$codeRh = $this->trouverCodeRhByInsee($intervenant);
if (!empty($codeRh)) {
$params =
[
'listeMatricules' => [$codeRh],
......@@ -88,6 +90,7 @@ class SihamConnecteur implements ConnecteurRhInterface
$agent = $this->siham->recupererDonneesPersonnellesAgent($params);
}
}
if (!empty($agent)) {
$intervenantRh = new IntervenantRH();
......@@ -266,7 +269,6 @@ class SihamConnecteur implements ConnecteurRhInterface
$this->siham->modifierCoordonneesAgent($params, Siham::SIHAM_CODE_TYPOLOGIE_EMAIL_PERSO);
}
//TODO : Synchroniser l'adresse
if ($datas['generiqueFieldset']['adressePrincipale']) {
$adresse = '';
......@@ -294,6 +296,19 @@ class SihamConnecteur implements ConnecteurRhInterface
$this->siham->modifierAdressePrincipaleAgent($params);
}
//Fait planter les WS SIHAM....
/*if ($datas['generiqueFieldset']['iban']) {
$anneeUniversitaire = $this->getExportRhService()->getAnneeUniversitaireEnCours();
$dateEffet = $anneeUniversitaire->getDateDebut()->format('Y-m-d');
$coordonnees = $this->siham->formatCoordoonneesBancairesForSiham($dossierIntervenant->getIBAN(), $dossierIntervenant->getBIC());
$coordonnees['dateDebBanque'] = $dateEffet;
$coordonnees['temoinValidite'] = '1';
$coordonnees['modePaiement'] = '25';
$coordonneesBancaires[] = $coordonnees;
$this->siham->modifierCoordonnéesBancairesAgent($coordonneesBancaires);
die;
}*/
return true;
} catch
......@@ -525,6 +540,8 @@ class SihamConnecteur implements ConnecteurRhInterface
$matricule = $this->siham->renouvellementAgent($params);
//Mise à jour des données personnelles de l'agent
$this->synchroniserDonneesPersonnellesIntervenantRh($intervenant, $datas);
return $matricule;
} catch (SihamException $e) {
......
......@@ -4,6 +4,7 @@ namespace ExportRh\Controller;
use Application\Controller\AbstractController;
use Application\Entity\Db\Contrat;
use Application\Service\Traits\ContextServiceAwareTrait;
use Application\Service\Traits\DossierServiceAwareTrait;
use ExportRh\Form\ExportRhForm;
......@@ -95,6 +96,18 @@ class ExportRhController extends AbstractController
$renouvellement = false;
$priseEnCharge = false;
/*Vérification si contrat avec date de retour*/
$haveContratOse = false;
$contratsOse = $intervenant->getContrat();
foreach ($contratsOse as $contrat) {
/**
* @var Contrat $contrat
*/
if (!empty($contrat->getDateRetourSigne())) {
$haveContratOse = true;
}
}
/**
* Etape 1 : On cherche si l'intervenant est déjà dans le SI RH
* Etape 2 : Si pas dans le SI RH alors c'est une prise en charge
......@@ -136,6 +149,7 @@ class ExportRhController extends AbstractController
'intervenantRh',
'intervenantDossier',
'intervenantDossierValidation',
'haveContratOse',
'form',
'renouvellement',
'priseEnCharge',
......
......@@ -26,15 +26,15 @@ if ($priseEnCharge) {
<?php if ($typeIntervenant == 'P'): ?>
<div class="messenger alert alert-warning">
L'export des données intervenants vers <?= $nameConnecteur; ?> n'est disponible que pour les vacataires.
L'export des données intervenants vers <?= $nameConnecteur; ?> n'est pas disponible pour les intervenants permanents.
</div>
<?php elseif (empty($intervenantDossierValidation)): ?>
<?php elseif ($haveContratOse === false): ?>
<div class="messenger alert alert-warning">
Vous devez d'abord valider les données personnelles de <?= $intervenant; ?> pour pouvoir les synchroniser avec <?= $nameConnecteur; ?>
L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> n'a pas encore retourné son contrat. Vous pourrez le renouveller ou le prendre en charge dans <?= $nameConnecteur; ?> une fois le contrat retourné et daté.
</div>
<?php endif; ?>
<?php if (!empty($intervenantDossierValidation)): ?>
<?php if ($haveContratOse === true): ?>
<div class="well">
<?php if (empty($intervenantRh)): ?>
......@@ -46,8 +46,7 @@ if ($priseEnCharge) {
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>
pour l'année <?= $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 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
l'année <?= $intervenant->getAnnee()->getLibelle() ?>. Vous pouvez le renouveller pour cette année à l'aide du formulaire ci-dessous.</p>
......@@ -83,10 +82,6 @@ if ($priseEnCharge) {
<td>Date début</td>
<td><?= $affectationEnCours->dateDebutAffectation ?></td>
</tr>
<tr>
<td>Date fin</td>
<td><?= $affectationEnCours->dateFinAffectation ?></td>
</tr>
<tr>
<td>Type de rattachement</td>
<td><?= $affectationEnCours->libLongTypeRattachement ?></td>
......@@ -256,7 +251,7 @@ if ($priseEnCharge) {
</form>
<p>
<button onclick="$('.form-export-rh').submit();" class="btn btn-primary">Prendre en charge l'intervenant</button>
<button onclick="$('.form-export-rh').submit();" class="btn btn-primary">Prendre en charge l'intervenant dans <?= $nameConnecteur; ?></button>
</p>
<?php elseif ($renouvellement): ?>
<?php
......@@ -264,12 +259,12 @@ if ($priseEnCharge) {
?>
</form>
<p>
<button onclick="$('.form-export-rh').submit();" class="btn btn-primary">Renouveller l'intervenant</button>
<button onclick="$('.form-export-rh').submit();" class="btn btn-primary">Renouveller l'intervenant dans <?= $nameConnecteur; ?></button>
</p>
<?php else: ?>
</form>
<p>
<button onclick="$('.form-export-rh').submit();" class="btn btn-primary">Synchroniser les données personnelles</button>
<button onclick="$('.form-export-rh').submit();" class="btn btn-primary">Synchroniser les données personnelles dans <?= $nameConnecteur; ?></button>
</p>
<?php endif; ?>
<?php endif; ?>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment