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() ?>"/>