diff --git a/composer.lock b/composer.lock
index 6da7f0c3d440b82e5b7f23230b44ac15378bf145..158de302b4ae824f3bfb0633264bc589dae38659 100755
--- a/composer.lock
+++ b/composer.lock
@@ -2896,7 +2896,7 @@
"source": {
"type": "git",
"url": "https://git.unicaen.fr/lib/unicaen/siham.git",
- "reference": "02c25ea8a9c706a9c0686182a1c982f54797c1a1"
+ "reference": "cf1929786d816d6cfb7f0646741b9a8296371040"
},
"require": {
"zendframework/zend-mail": "^2.10",
@@ -2921,7 +2921,7 @@
}
],
"description": "PHP library for SIHAM webservices",
- "time": "2021-09-15T13:50:23+00:00"
+ "time": "2021-09-16T12:33:49+00:00"
},
{
"name": "unicaen/tbl",
@@ -7700,7 +7700,6 @@
"type": "github"
}
],
- "abandoned": true,
"time": "2020-11-30T07:30:19+00:00"
},
{
diff --git a/module/Application/view/application/intervenant/validation-volume-horaire-type-intervenant-saisie.phtml b/module/Application/view/application/intervenant/validation-volume-horaire-type-intervenant-saisie.phtml
index 9a202e7cab9b5b444b2c46233c283ce5202299a0..c4103cff7024984bdee1083e5938e1c9ebe47a3b 100644
--- a/module/Application/view/application/intervenant/validation-volume-horaire-type-intervenant-saisie.phtml
+++ b/module/Application/view/application/intervenant/validation-volume-horaire-type-intervenant-saisie.phtml
@@ -7,15 +7,6 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger();
echo $this->form()->openTag($form); ?>
-<div class="row">
- <div class="col-md-6">
- <?= $this->formControlGroup($form->get('type-intervenant')); ?>
- </div>
- <div class="col-md-6">
- <?= $this->formControlGroup($form->get('type-volume-horaire')); ?>
- </div>
-</div>
-
<div class="row">
<div class="col-md-6">
<?= $this->formControlGroup($form->get('priorite')); ?>
diff --git a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php
index eff63f7ee101a818c1969d3353f1a9805533f54f..6ef80015186bbf3fbfb8836d4b9f39364bc6a00d 100644
--- a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php
+++ b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php
@@ -65,24 +65,19 @@ class SihamConnecteur implements ConnecteurRhInterface
public function recupererIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?IntervenantRh
{
- $agent = '';
-
- if (!empty($intervenant->getCodeRh())) {
- $codeRh = $intervenant->getCodeRh();
- //Si code RH ne contient pas UCN alors on le reformate par rapport au masque matricule de SIHAM
- /* if (!strstr($codeRh, 'UCN')) {
- $codeRh = $this->siham->getCodeAdministration() . str_pad($codeRh, 9, '0', STR_PAD_LEFT);
- }*/
-
+ $agent = null;
+ $codeRh = $this->trouverCodeRhByInsee($intervenant);
+ if (!empty($codeRh)) {
$params =
[
'listeMatricules' => [$codeRh],
];
$agent = $this->siham->recupererDonneesPersonnellesAgent($params);
- } else {
- $codeRh = $this->trouverCodeRhByInsee($intervenant);
- if (!empty($codeRh)) {
+ }
+ if (empty($agent)) {
+ if (!empty($intervenant->getCodeRh())) {
+ $codeRh = $intervenant->getCodeRh();
$params =
[
'listeMatricules' => [$codeRh],
@@ -92,6 +87,7 @@ class SihamConnecteur implements ConnecteurRhInterface
}
}
+
if (!empty($agent)) {
$intervenantRh = new IntervenantRH();
$intervenantRh->setNomUsuel($agent->getNomUsuel());
@@ -129,15 +125,11 @@ class SihamConnecteur implements ConnecteurRhInterface
{
try {
$codeRh = '';
- //On récupére le code RH
- if (!empty($intervenant->getCodeRh())) {
+ //On récupére le code RH par le INSEE
+ $codeRh = $this->trouverCodeRhByInsee($intervenant);
+
+ if (!empty($intervenant->getCodeRh()) && empty($codeRh)) {
$codeRh = $intervenant->getCodeRh();
- //Si code RH ne contient pas UCN alors on le reformate
- if (!strstr($codeRh, 'UCN')) {
- $codeRh = $this->siham->getCodeAdministration() . str_pad($codeRh, 9, '0', STR_PAD_LEFT);
- }
- } else {
- $codeRh = $this->trouverCodeRhByInsee($intervenant);
}
if (!empty($codeRh)) {
@@ -283,7 +275,7 @@ class SihamConnecteur implements ConnecteurRhInterface
'matricule' => $intervenantRh->getCodeRh(),
'dateDebut' => $intervenantRh->getAdresseDateDebut(),
'bureauDistributeur' => $dossierIntervenant->getAdresseCommune(),
- 'complementAdresse' => $adresse,
+ 'complementAdresse' => substr($adresse, 0, 37),
'noVoie' => ' ',
'natureVoie' => '',
'nomVoie' => ' ',
@@ -332,6 +324,7 @@ class SihamConnecteur implements ConnecteurRhInterface
$listeAgents = $this->siham->recupererListeAgents($params);
$agent = current($listeAgents);
+
if (!empty($agent)) {
return $agent->getMatricule();
}
@@ -354,6 +347,13 @@ class SihamConnecteur implements ConnecteurRhInterface
$dateEffet = $anneeUniversitaire->getDateDebut()->format('Y-m-d');
$dateFin = $anneeUniversitaire->getDateFin()->format('Y-m-d');
+ /*CARRIERE*/
+ $carriere = [
+ 'dateEffetCarriere' => $dateEffet,
+ 'grade' => '0000',
+ 'qualiteStatutaire' => 'N',
+ 'temoinValidite' => 1,
+ ];
/*POSITION ADMINISTRATIVE*/
$position[] =
@@ -445,6 +445,7 @@ class SihamConnecteur implements ConnecteurRhInterface
'emploi' => $datas['connecteurForm']['emploi'],
'listeCoordonneesPostales' => $coordonneesPostales,
'listeCoordonneesBancaires' => $coordonneesBancaires,
+ 'listeCarriere' => $carriere,
'listeModalitesServices' => $service,
'listeStatuts' => $statut,
'listeNationalites' => $nationalites,
@@ -486,11 +487,18 @@ class SihamConnecteur implements ConnecteurRhInterface
$dateFin = $anneeUniversitaire->getDateFin()->format('Y-m-d');
/*Formatage du matricule*/
- $matricule = $intervenant->getCodeRh();
+
+ $matricule = '';
+ //On récupére le code RH par le INSEE
+ $matricule = $this->trouverCodeRhByInsee($intervenant);
+
+ if (!empty($intervenant->getCodeRh()) && empty($matricule)) {
+ $matricule = $intervenant->getCodeRh();
+ }
//Si code RH ne contient pas UCN alors on le reformate
- if (!strstr($matricule, 'UCN')) {
+ /*if (!strstr($matricule, 'UCN')) {
$matricule = $this->siham->getCodeAdministration() . str_pad($matricule, 9, '0', STR_PAD_LEFT);
- }
+ }/*/
/*POSITION ADMINISTRATIVE*/
@@ -510,13 +518,18 @@ class SihamConnecteur implements ConnecteurRhInterface
['dateEffetModalite' => $dateEffet,
'modalite' => $datas['connecteurForm']['modaliteService']];
- /*CONTRAT*/
- $annee = $this->getExportRhService()->getAnneeUniversitaireEnCours();
-
+ /*CARRIERE*/
+ $carriere = [
+ 'dateEffetCarriere' => $dateEffet,
+ 'grade' => '0000',
+ 'qualiteStatutaire' => 'N',
+ 'temoinValidite' => 1,
+ ];
+ /*CONTRAT*/
$contrat[] =
- ['dateDebutContrat' => $annee->getDateDebut()->format('Y-m-d'),
- 'dateFinContrat' => $annee->getDateFin()->format('Y-m-d'),
+ ['dateDebutContrat' => $dateEffet,
+ 'dateFinContrat' => $dateFin,
'natureContrat' => 'CO',
'typeContrat' => 'TC01',
'typeLienJuridique' => 'TL01',
@@ -527,6 +540,7 @@ class SihamConnecteur implements ConnecteurRhInterface
'categorieEntree' => 'ACTIVE',
'dateRenouvellement' => $dateEffet,
'emploi' => $datas['connecteurForm']['emploi'],
+ 'listeCarriere' => $carriere,
'listeModalitesServices' => $service,
'listeStatuts' => $statut,
'listeContrats' => $contrat,
diff --git a/module/ExportRh/src/Controller/ExportRhController.php b/module/ExportRh/src/Controller/ExportRhController.php
index 7af10d5e9a68ebb88858ee5362aa6d38570628fe..eadb5d04999d55033c915345f918cbed00632b22 100644
--- a/module/ExportRh/src/Controller/ExportRhController.php
+++ b/module/ExportRh/src/Controller/ExportRhController.php
@@ -124,8 +124,10 @@ class ExportRhController extends AbstractController
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));
- //On regarde si il a un contrat en cours pour l'année courante
- $contratEnCours = current($this->exportRhService->getContratEnCoursIntervenantRh($intervenant));
+ if (!empty($affectationEnCours)) {
+ //On regarde si il a un contrat en cours pour l'année courante
+ $contratEnCours = current($this->exportRhService->getContratEnCoursIntervenantRh($intervenant));
+ }
$renouvellement = true;
if (!empty($affectationEnCours)) {
@@ -141,7 +143,8 @@ class ExportRhController extends AbstractController
} catch (\Exception $e) {
$this->flashMessenger()->addErrorMessage($e->getMessage());
}
-
+ $haveContratOse = true;
+
$vm = new ViewModel();
$vm->setTemplate('export-rh/export-rh/exporter');
$vm->setVariables(compact('typeIntervenant',
diff --git a/module/ExportRh/view/export-rh/export-rh/exporter.phtml b/module/ExportRh/view/export-rh/export-rh/exporter.phtml
index 066905994c0326cd62e8ad8f75ce962a4699277c..491f814ca571d5271657d503edda7dcb72bc986b 100755
--- a/module/ExportRh/view/export-rh/export-rh/exporter.phtml
+++ b/module/ExportRh/view/export-rh/export-rh/exporter.phtml
@@ -80,7 +80,12 @@ if ($priseEnCharge) {
</tr>
<tr>
<td>Date début</td>
- <td><?= $affectationEnCours->dateDebutAffectation ?></td>
+ <td>
+ <?php
+ $date = new DateTime($affectationEnCours->dateDebutAffectation);
+ echo $date->format('d-m-Y');
+ ?>
+ </td>
</tr>
<tr>
<td>Type de rattachement</td>
@@ -183,7 +188,8 @@ if ($priseEnCharge) {
</tr>
<tr>
<td>
-
+ <input type="checkbox" checked="" disabled="disabled" title="Cette donnée n'est pas synchronisable">
+ <label>Nom usuel:</label>
</td>
<td><?= $intervenantDossier->getNomUsuel() ?></td>
<td class="active"><?= (!empty($intervenantRh)) ? $intervenantRh->getNomUsuel() : '' ?></td>
@@ -223,16 +229,26 @@ if ($priseEnCharge) {
<tr>
<td>
- <?= $this->formCheckbox($generiqueFieldset->get('iban')); ?>
- <?= $this->formLabel($generiqueFieldset->get('iban')) ?> :
+ <?php if ($renouvellement || (!$renouvellement && !$priseEnCharge)): ?>
+ <input type="checkbox" checked="" disabled="disabled" title="Cette donnée n'est pas synchronisable, pensez à la mettre à jour manuellement dans SIHAM">
+ <label>IBAN:</label>
+ <?php else: ?>
+ <?= $this->formCheckbox($generiqueFieldset->get('iban')); ?>
+ <?= $this->formLabel($generiqueFieldset->get('iban')) ?> :
+ <?php endif; ?>
</td>
<td><?= $intervenantDossier->getIBAN() ?></td>
<td class="active"><?= (!empty($intervenantRh)) ? $intervenantRh->getIBAN() : '' ?></td>
</tr>
<tr>
<td>
- <?= $this->formCheckbox($generiqueFieldset->get('bic')); ?>
- <?= $this->formLabel($generiqueFieldset->get('bic')) ?> :
+ <?php if ($renouvellement || (!$renouvellement && !$priseEnCharge)): ?>
+ <input type="checkbox" checked="" disabled="disabled" title="Cette donnée n'est pas synchronisable, pensez à la mettre à jour manuellement dans SIHAM">
+ <label>BIC:</label>
+ <?php else: ?>
+ <?= $this->formCheckbox($generiqueFieldset->get('bic')); ?>
+ <?= $this->formLabel($generiqueFieldset->get('bic')) ?> :
+ <?php endif; ?>
</td>
<td><?= $intervenantDossier->getBIC() ?></td>
<td class="active"><?= (!empty($intervenantRh)) ? $intervenantRh->getBIC() : '' ?></td>
@@ -246,7 +262,7 @@ if ($priseEnCharge) {
<!-- Formulaire spécifique au connecteur-->
<?php
- echo $this->partial('export-rh/export-rh/' . $nameConnecteur . '/connecteurForm', compact('connecteurFieldset', 'nameConnecteur', 'intervenant'));
+ echo $this->partial('export-rh/export-rh/' . $nameConnecteur . '/connecteurForm', compact('connecteurFieldset', 'nameConnecteur', 'intervenant', 'renouvellement', 'priseEnCharge'));
?>
</form>
@@ -255,7 +271,7 @@ if ($priseEnCharge) {
</p>
<?php elseif ($renouvellement): ?>
<?php
- echo $this->partial('export-rh/export-rh/' . $nameConnecteur . '/connecteurForm', compact('connecteurFieldset', 'nameConnecteur', 'intervenant'));
+ echo $this->partial('export-rh/export-rh/' . $nameConnecteur . '/connecteurForm', compact('connecteurFieldset', 'nameConnecteur', 'intervenant', 'renouvellement', 'priseEnCharge'));
?>
</form>
<p>
diff --git a/module/ExportRh/view/export-rh/export-rh/siham/connecteurForm.phtml b/module/ExportRh/view/export-rh/export-rh/siham/connecteurForm.phtml
index 2acd244520aa59f023d6d2cd8adef9ad3aecca5a..23330b2f6c04dc62d7ff7adaf90387174ffbd7a2 100644
--- a/module/ExportRh/view/export-rh/export-rh/siham/connecteurForm.phtml
+++ b/module/ExportRh/view/export-rh/export-rh/siham/connecteurForm.phtml
@@ -1,5 +1,13 @@
<div class="panel panel-default">
- <div class="panel-heading">Configuration de la prise en charge dans <?= $nameConnecteur; ?></div>
+ <?php
+ if ($priseEnCharge) {
+ $libelle = "de la prise en charge";
+ } else {
+ $libelle = "du renouvellement";
+ }
+ ?>
+
+ <div class="panel-heading">Configuration <?= $libelle ?> dans <?= $nameConnecteur; ?></div>
<div class="panel-body">
<!-- Année universitaire de prise en charge -->
<input type="hidden" name="connecteurForm[anneeUniversitaire]" value="<?= $intervenant->getAnnee()->getId() ?>"/>