Loading documentation/release/3.2.4.md +2 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ Version 3.2.4 (XX/XX/2023) - Modification de SynchroOctopus pour utiliser le nouveau système de synchronisation - Remonter des emploi-types et ajout dans les agents grades - [FIX] Correction du classement des agents sans obligation d'EP pour les supérieur·es et autorités - Ajout d'une fonction et d'une macro pour les quotités d'affectation. Modification en BD --- Loading documentation/vue_SIRH/V_EMC2_AGENT.sql +50 −0 Original line number Diff line number Diff line -- AGENT_STATUT ------------------ CREATE OR REPLACE VIEW V_EMC2_AGENT_STATUT ( "ID_ORIG", "AGENT_ID", "STRUCTURE_ID", "DATE_DEBUT", "DATE_FIN", "T_TITULAIRE", "T_CDI", "T_CDD", "T_ADMINISTRATIF", "T_ENSEIGNANT", "T_CHERCHEUR", "T_VACATAIRE", "T_DOCTORANT", "T_DETACHE_IN", "T_DETACHE_OUT", "T_HEBERGE", "T_DISPO", "T_EMERITE", "T_RETRAITE" ) AS ( SELECT DISTINCT (IST.ID) AS ID_ORIG, IST.INDIVIDU_ID as AGENT_ID, IST.STRUCTURE_ID as STRUCTURE_ID, TO_CHAR(IST.D_DEBUT, 'YYYY-MM-DD HH:MM:SS') AS DATE_DEBUT, TO_CHAR(IST.D_FIN, 'YYYY-MM-DD HH:MM:SS') AS DATE_FIN, IST.T_TITULAIRE, IST.T_CDI, IST.T_CDD, IST.T_ADMINISTRATIF, IST.T_ENSEIGNANT, IST.T_CHERCHEUR, IST.T_VACATAIRE, IST.T_DOCTORANT, IST.T_DETACHE_IN, IST.T_DETACHE_OUT, IST.T_HEBERGE, IST.T_DISPO, IST.T_EMERITE, IST.T_RETRAITE FROM V_EMC2_AGENT VPA JOIN INDIVIDU_STATUT IST ON VPA.C_INDIVIDU = IST.INDIVIDU_ID JOIN STRUCTURE S ON IST.STRUCTURE_ID = S.ID WHERE 1=1 AND IST.T_APPRENANT = 'N' AND IST.T_HEBERGE = 'N' AND IST.T_INVITE = 'N' ); No newline at end of file module/Application/src/Application/Entity/Db/Agent.php +0 −8 Original line number Diff line number Diff line Loading @@ -596,14 +596,6 @@ class Agent implements return $result; } public function getQuotiteAffectation(?DateTime $date = null) : string { $ficheposte = $this->getFichePosteBest(); if ($ficheposte === null) return 'Aucun fiche de poste au format EMC2'; return $ficheposte->toStringCompositionFichesMetiers(); } public function getStatutToString(?DateTime $date = null) : string { $result = ""; Loading module/Application/src/Application/Entity/Db/MacroContent/AgentMacroTrait.php +26 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,32 @@ trait AgentMacroTrait $texte = implode("<br>",array_map(function (AgentQuotite $a) { return ($a->getQuotite())?$a->getQuotite()."%":"100%"; }, $quotites)); return $texte; } public function toStringQuotiteAffectation() : string { /** @var Agent $agent */ $agent = $this; $affectations = $agent->getAffectationsActifs(); if (empty($affectations)) return "Aucune quotité d'affectation de remontée du SIRH"; $texte = "<ul>"; foreach ($affectations as $affectation) { $texte .= "<li>"; $texte .= $affectation->getStructure()->getLibelleLong() . " "; if ($affectation->isHierarchique()) $texte .= " Hiérarchique "; if ($affectation->isFonctionnelle()) $texte .= " Fonctionnelle "; if ($affectation->getQuotite()) { $texte .= $affectation->getQuotite() . "%"; } else { $texte .= "<i>quotité non précisée</i>"; } $texte .= "</li>"; } $texte .= "</ul>"; return $texte; } /** * TODO a remplacer lorsque l'on aura les macros de macro * @return string Loading module/Referentiel/src/Referentiel/Service/Synchronisation/SynchronisationService.php +6 −1 Original line number Diff line number Diff line Loading @@ -87,9 +87,14 @@ class SynchronisationService { //check for removal $nbRetrait = 0; foreach ($data_destination as $id => $item) { if ($item['deleted_on'] === null AND !isset($data_source[$id])) { if ($item['deleted_on'] === null && !isset($data_source[$id])) { // var_dump($id); // var_dump($item['deleted_on'] . " >>> " . !isset($data_source[$id])); // var_dump($item['deleted_on']); // var_dump($item['deleted_on'] === null); $nbRetrait++; $this->getSqlHelperService()->delete($orm_destination, $table_destination, $id); // die(); } } Loading Loading
documentation/release/3.2.4.md +2 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ Version 3.2.4 (XX/XX/2023) - Modification de SynchroOctopus pour utiliser le nouveau système de synchronisation - Remonter des emploi-types et ajout dans les agents grades - [FIX] Correction du classement des agents sans obligation d'EP pour les supérieur·es et autorités - Ajout d'une fonction et d'une macro pour les quotités d'affectation. Modification en BD --- Loading
documentation/vue_SIRH/V_EMC2_AGENT.sql +50 −0 Original line number Diff line number Diff line -- AGENT_STATUT ------------------ CREATE OR REPLACE VIEW V_EMC2_AGENT_STATUT ( "ID_ORIG", "AGENT_ID", "STRUCTURE_ID", "DATE_DEBUT", "DATE_FIN", "T_TITULAIRE", "T_CDI", "T_CDD", "T_ADMINISTRATIF", "T_ENSEIGNANT", "T_CHERCHEUR", "T_VACATAIRE", "T_DOCTORANT", "T_DETACHE_IN", "T_DETACHE_OUT", "T_HEBERGE", "T_DISPO", "T_EMERITE", "T_RETRAITE" ) AS ( SELECT DISTINCT (IST.ID) AS ID_ORIG, IST.INDIVIDU_ID as AGENT_ID, IST.STRUCTURE_ID as STRUCTURE_ID, TO_CHAR(IST.D_DEBUT, 'YYYY-MM-DD HH:MM:SS') AS DATE_DEBUT, TO_CHAR(IST.D_FIN, 'YYYY-MM-DD HH:MM:SS') AS DATE_FIN, IST.T_TITULAIRE, IST.T_CDI, IST.T_CDD, IST.T_ADMINISTRATIF, IST.T_ENSEIGNANT, IST.T_CHERCHEUR, IST.T_VACATAIRE, IST.T_DOCTORANT, IST.T_DETACHE_IN, IST.T_DETACHE_OUT, IST.T_HEBERGE, IST.T_DISPO, IST.T_EMERITE, IST.T_RETRAITE FROM V_EMC2_AGENT VPA JOIN INDIVIDU_STATUT IST ON VPA.C_INDIVIDU = IST.INDIVIDU_ID JOIN STRUCTURE S ON IST.STRUCTURE_ID = S.ID WHERE 1=1 AND IST.T_APPRENANT = 'N' AND IST.T_HEBERGE = 'N' AND IST.T_INVITE = 'N' ); No newline at end of file
module/Application/src/Application/Entity/Db/Agent.php +0 −8 Original line number Diff line number Diff line Loading @@ -596,14 +596,6 @@ class Agent implements return $result; } public function getQuotiteAffectation(?DateTime $date = null) : string { $ficheposte = $this->getFichePosteBest(); if ($ficheposte === null) return 'Aucun fiche de poste au format EMC2'; return $ficheposte->toStringCompositionFichesMetiers(); } public function getStatutToString(?DateTime $date = null) : string { $result = ""; Loading
module/Application/src/Application/Entity/Db/MacroContent/AgentMacroTrait.php +26 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,32 @@ trait AgentMacroTrait $texte = implode("<br>",array_map(function (AgentQuotite $a) { return ($a->getQuotite())?$a->getQuotite()."%":"100%"; }, $quotites)); return $texte; } public function toStringQuotiteAffectation() : string { /** @var Agent $agent */ $agent = $this; $affectations = $agent->getAffectationsActifs(); if (empty($affectations)) return "Aucune quotité d'affectation de remontée du SIRH"; $texte = "<ul>"; foreach ($affectations as $affectation) { $texte .= "<li>"; $texte .= $affectation->getStructure()->getLibelleLong() . " "; if ($affectation->isHierarchique()) $texte .= " Hiérarchique "; if ($affectation->isFonctionnelle()) $texte .= " Fonctionnelle "; if ($affectation->getQuotite()) { $texte .= $affectation->getQuotite() . "%"; } else { $texte .= "<i>quotité non précisée</i>"; } $texte .= "</li>"; } $texte .= "</ul>"; return $texte; } /** * TODO a remplacer lorsque l'on aura les macros de macro * @return string Loading
module/Referentiel/src/Referentiel/Service/Synchronisation/SynchronisationService.php +6 −1 Original line number Diff line number Diff line Loading @@ -87,9 +87,14 @@ class SynchronisationService { //check for removal $nbRetrait = 0; foreach ($data_destination as $id => $item) { if ($item['deleted_on'] === null AND !isset($data_source[$id])) { if ($item['deleted_on'] === null && !isset($data_source[$id])) { // var_dump($id); // var_dump($item['deleted_on'] . " >>> " . !isset($data_source[$id])); // var_dump($item['deleted_on']); // var_dump($item['deleted_on'] === null); $nbRetrait++; $this->getSqlHelperService()->delete($orm_destination, $table_destination, $id); // die(); } } Loading