diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e5388db26725414a27c33e7a1238c7183db1bf3..80d3c05be98a210ff00b0de02ee1547938973aad 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,13 +47,12 @@ Objectif : Plafonds personnalisables & refonte gestion des statuts * Fiche Intervenant * Le grade devient modifiable dans la fiche pour les anciens intervenants #40369 - * Ajout d'un privilège 'Edition avancée' au niveau de l'intervenant pour donner le droit de modifier manuellement le code intervenant et la source de l' - intervenant + * Ajout d'un privilège 'Edition avancée' au niveau de l'intervenant pour donner le droit de modifier manuellement le code intervenant et la source de l'intervenant * Export des intervenants vers Siham * Possiblité de récupérer plusieurs typeUO pour alimenter la liste des structures pour la PEC et la REN (#41454) - * Nouveau paramètre dans administration > paramètres généraux permettant de choisir l'étape de la feuille de route à franchir pour pouvoir exporter un - intervenant vers le SIRH + * Nouveau paramètre dans administration > paramètres généraux permettant de choisir l'étape de la feuille de route à franchir pour pouvoir exporter un intervenant vers le SIRH + * Meilleure gestion du pays de naissance lors de la PEC ou REN * Ajout d'un module de gestion des Notes sur l'intervenant * Possibilité de rajouter une note écrite (informations, message important etc...) sur une fiche intervenant (Tâche #25565) diff --git a/data/ddl/view/V_INTERVENANT_HISTORIQUE.sql b/data/ddl/view/V_INTERVENANT_HISTORIQUE.sql index 228b9fffb357dfae53ecd824daba4fb60e1b7aa6..b6bca0355a0c2cd2ecff5d6b5e9c4829180c6e5d 100644 --- a/data/ddl/view/V_INTERVENANT_HISTORIQUE.sql +++ b/data/ddl/view/V_INTERVENANT_HISTORIQUE.sql @@ -1,4 +1,5 @@ -CREATE OR REPLACE FORCE VIEW V_INTERVENANT_HISTORIQUE AS +CREATE +OR REPLACE FORCE VIEW V_INTERVENANT_HISTORIQUE AS WITH historique AS ( --Initialisation des données personnelles SELECT d.intervenant_id intervenant_id, @@ -79,8 +80,8 @@ UNION ALL SELECT s.intervenant_id intervenant_id, '3 - Service prévisionnel et/ou service référentiel' categorie, 'Modification/Ajout du service prévisionnel pour la composante ' || MAX(st.libelle_court) label, - MAX(vh.histo_modification) histo_date, - MAX(vh.histo_modificateur_id) KEEP (dense_rank FIRST ORDER BY vh.histo_modification DESC) histo_createur_id, MAX(u.display_name) KEEP (dense_rank FIRST ORDER BY vh.histo_modification DESC) histo_user, + MAX(vh.histo_creation) histo_date, + MAX(vh.histo_createur_id) KEEP (dense_rank FIRST ORDER BY vh.histo_modification DESC) histo_createur_id, MAX(u.display_name) KEEP (dense_rank FIRST ORDER BY vh.histo_modification DESC) histo_user, 'glyphicon glyphicon-ok' icon, 3 ordre FROM volume_horaire vh @@ -112,6 +113,47 @@ FROM WHERE s.histo_destruction IS NULL + UNION ALL +--Validation du service prévisionnel +SELECT s.intervenant_id intervenant_id, + '3 - Service prévisionnel et/ou service référentiel' categorie, + 'Validation du service prévisionnel pour la composante ' || MAX(st.libelle_court) label, + MAX(v.histo_modification) histo_date, + MAX(v.histo_modificateur_id) KEEP (dense_rank FIRST ORDER BY v.histo_modification DESC) histo_createur_id, MAX(u.display_name) KEEP (dense_rank FIRST ORDER BY v.histo_modification DESC) histo_user, + 'glyphicon glyphicon-ok' icon, + 3 ordre +FROM volume_horaire vh + JOIN service s ON s.id = vh.service_id + JOIN element_pedagogique ep ON s.element_pedagogique_id = ep.id + JOIN STRUCTURE st ON st.id = ep.structure_id + JOIN type_volume_horaire tvh ON tvh.id = vh.type_volume_horaire_id AND tvh.code = 'PREVU' + JOIN periode p ON p.id = vh.periode_id + JOIN type_intervention ti ON ti.id = vh.type_intervention_id + JOIN validation_vol_horaire vvh ON vvh.volume_horaire_id = vh.id + JOIN validation v ON v.id = vvh.validation_id + JOIN utilisateur u ON u.id = vh.histo_modificateur_id + GROUP BY s.intervenant_id, ep.structure_id + + UNION ALL + --validation du service référentiel +SELECT s.intervenant_id intervenant_id, + '3 - Service prévisionnel et/ou service référentiel' categorie, + 'Validation du service référentiel : ' || fr.libelle_court || ' pour la composante ' || str.libelle_court label, + v.histo_modification histo_date, + v.histo_modificateur_id histo_createur_id, + u.display_name histo_user, + 'glyphicon glyphicon-ok' icon, + 3 ordre +FROM + service_referentiel s + JOIN validation_vol_horaire_ref vvhr ON s.id = vvhr.volume_horaire_ref_id + JOIN validation v ON v.id = vvhr.validation_id + JOIN fonction_referentiel fr ON fr.id = s.fonction_id + JOIN utilisateur u ON u.id = s.histo_modificateur_id + LEFT JOIN STRUCTURE str ON str.id = s.structure_id +WHERE + s.histo_destruction IS NULL + UNION ALL --Modification de service dû SELECT @@ -249,6 +291,28 @@ FROM volume_horaire vh LEFT JOIN motif_non_paiement mnp ON mnp.id = vh.motif_non_paiement_id GROUP BY s.intervenant_id, ep.structure_id +UNION ALL + +--Validation du service réalisé +SELECT s.intervenant_id intervenant_id, + '5 - Services réalisés' categorie, + 'Validation du service réalisé pour la composante ' || MAX(st.libelle_court) label, + MAX(v.histo_modification) histo_date, + MAX(v.histo_modificateur_id) KEEP (dense_rank FIRST ORDER BY v.histo_modification DESC) histo_createur_id, MAX(u.display_name) KEEP (dense_rank FIRST ORDER BY v.histo_modification DESC) histo_user, 'glyphicon glyphicon-calendar' icon, + 5 ordre +FROM volume_horaire vh + JOIN service s ON s.id = vh.service_id + JOIN element_pedagogique ep ON s.element_pedagogique_id = ep.id + JOIN STRUCTURE st ON st.id = ep.structure_id + JOIN type_volume_horaire tvh ON tvh.id = vh.type_volume_horaire_id AND tvh.code = 'REALISE' + JOIN periode p ON p.id = vh.periode_id + JOIN type_intervention ti ON ti.id = vh.type_intervention_id + JOIN validation_vol_horaire vvh ON vvh.volume_horaire_id = vh.id + JOIN validation v ON v.id = vvh.validation_id + JOIN utilisateur u ON u.id = vh.histo_modificateur_id + LEFT JOIN motif_non_paiement mnp ON mnp.id = vh.motif_non_paiement_id +GROUP BY s.intervenant_id, ep.structure_id + UNION ALL --Mise en paiement SELECT diff --git a/module/Application/view/application/pays/index.phtml b/module/Application/view/application/pays/index.phtml index 8a2985ebd37eef782b2b877e9246687d80420be3..09067676f5a9a2a9323cfa41b5a15ecc31f989b1 100755 --- a/module/Application/view/application/pays/index.phtml +++ b/module/Application/view/application/pays/index.phtml @@ -27,6 +27,7 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); <tr> <th style="text-align: center">Libellé</th> <th style="text-align: center">Code</th> + <th style="text-align: center">Code ISO</th> <th style="text-align: center">Source</th> <?php if ($canEdit): ?> <th style="text-align: center">Actions</th> @@ -38,6 +39,7 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); <tr class="champ-triable" data-id= <?php echo $pays->getId() ?>> <td><?= $pays->getLibelle(); ?></td> <td><?= $pays->getCode(); ?></td> + <td><?= $pays->getCodeIso3(); ?></td> <td style="text-align: center"><?= $pays->getSource()->getLibelle(); ?></td> <?php if ($canEdit): ?> <td style="text-align: center"> @@ -45,7 +47,8 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); <a class="ajax-modal" data-event="pays-edition" href="<?= $this->url('pays/saisie', ['pays' => $pays->getId()], ['query' => ['tab' => 'edition']]) ?>" title="Modifier le pays"><i class="fas fa-pen-to-square"></i></a> - <a class="pop-ajax" data-title="Suppression de l'établissement" data-content="Êtes-vous sur de vouloir supprimer" data-confirm="true" + <a class="pop-ajax" data-title="Suppression de l'établissement" + data-content="Êtes-vous sur de vouloir supprimer" data-confirm="true" data-submit-reload="true" href="<?= $this->url('pays/supprimer', ['pays' => $pays->getId()]) ?>" title="Supprimer le pays"><i class="fas fa-trash-can"></i></a> @@ -60,7 +63,8 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); </table> <?php if ($canEdit): ?> - <a class="btn btn-primary ajax-modal" data-event="pays-edition" href="<?= $this->url('pays/saisie'); ?>"><i class="fas fa-plus"></i> + <a class="btn btn-primary ajax-modal" data-event="pays-edition" href="<?= $this->url('pays/saisie'); ?>"><i + class="fas fa-plus"></i> Ajout d'un nouveau pays</a> <?php endif; ?> diff --git a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php index 4acf1e4e79ac2c44a48dd7890d6190ca710bf1ed..8fce511af6e7fb8df9182541ad423397c594614e 100644 --- a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php +++ b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php @@ -477,6 +477,14 @@ class SihamConnecteur implements ConnecteurRhInterface 'temPrincipale' => 1, ]; + /*PAYS NAISSANCE*/ + if (!empty($dossierIntervenant->getPaysNaissance() && !empty($dossierIntervenant->getPaysNaissance()->getCodeIso3()))) { + $paysNaissance = $dossierIntervenant->getPaysNaissance()->getCodeIso3(); + } elseif (!empty($dossierIntervenant->getDepartementNaissance())) { + $paysNaissance = 'FRA'; + } else { + $paysNaissance = ''; + } $params = [ 'categorieEntree' => 'ACTIVE', @@ -485,7 +493,7 @@ class SihamConnecteur implements ConnecteurRhInterface 'dateNaissance' => $dossierIntervenant->getDateNaissance()->format('Y-m-d'), 'villeNaissance' => $dossierIntervenant->getCommuneNaissance(), 'departementNaissance' => (!empty($dossierIntervenant->getDepartementNaissance())) ? substr($dossierIntervenant->getDepartementNaissance()->getCode(), 1, 2) : '', - 'paysNaissance' => (!empty($dossierIntervenant->getPaysNaissance() && !empty($dossierIntervenant->getPaysNaissance()->getCodeIso3()))) ? $dossierIntervenant->getPaysNaissance()->getCodeIso3() : 'FRA', + 'paysNaissance' => $paysNaissance, 'emploi' => $datas['connecteurForm']['emploi'], 'listeCoordonneesPostales' => $coordonneesPostales, 'listeCoordonneesBancaires' => $coordonneesBancaires,