Loading documentation/vue_SIRH/V_EMC2_STRUCTURE.sql 0 → 100644 +80 −0 Changes for documentation/vue_SIRH/V_EMC2_STRUCTURE.sql: 80 added lines, 0 removed lines. Original line number Diff line number Diff line CREATE OR REPLACE VIEW V_STRUCTURE AS ( WITH multi_heritage AS (SELECT STRUCTURE.ID id, LEVEL niveau, STRUCTURE_PARENT.PARENT_ID parent_id, CONNECT_BY_ROOT STRUCTURE.ID racine_id, CONNECT_BY_ROOT STRUCTURE.CODE racine_code, SYS_CONNECT_BY_PATH(LIBELLE_COURT, ' > ') chemin, SYS_CONNECT_BY_PATH(ID, ' > ') chemin_id FROM STRUCTURE LEFT JOIN STRUCTURE_PARENT ON STRUCTURE.ID = STRUCTURE_PARENT.STRUCTURE_ID CONNECT BY NOCYCLE PRIOR STRUCTURE.ID = STRUCTURE_PARENT.PARENT_ID START WITH STRUCTURE_PARENT.PARENT_ID IS NULL ) SELECT STRUCTURE.ID, STRUCTURE.CODE, STRUCTURE.SIGLE, STRUCTURE.LIBELLE_COURT, STRUCTURE.LIBELLE_LONG, STRUCTURE.LIBELLE_COMMUNICATION, STRUCTURE.SITE_URL, STRUCTURE.EMAIL_GENERIQUE, STRUCTURE.CODE_UAI, STRUCTURE.LOGO, STRUCTURE.TYPE_ID, STRUCTURE.TYPE_SUPANN, STRUCTURE.AFFICHAGE_ANNUAIRE, STRUCTURE_RECHERCHE.ID STRUCTURE_RECHERCHE_ID, STRUCTURE_RECHERCHE_POLE.LIBELLE STRUCTURE_RECHERCHE_POLE, STRUCTURE.LOCAL_PRINCIPAL_ID, heritage.racine_id RACINE_ID, REPLACE(regexp_substr(heritage.chemin_id, ' > [^( > )]+( > |$)', 2), ' > ', '') NIV2_ID, heritage.parent_id PARENT_ID, heritage.niveau NIVEAU, CASE WHEN heritage.racine_code = 'UNIV' THEN 1 ELSE 0 END INTERNE, STRUCTURE.DATE_OUVERTURE, STRUCTURE.DATE_FERMETURE, STRUCTURE.CENTRE_FINANCIER, heritage.chemin CHEMIN FROM STRUCTURE LEFT JOIN STRUCTURE_RECHERCHE ON STRUCTURE.ID = STRUCTURE_RECHERCHE.STRUCTURE_ID LEFT JOIN STRUCTURE_RECHERCHE_POLE ON STRUCTURE_RECHERCHE.POLE_RATTACHEMENT_ID = STRUCTURE_RECHERCHE_POLE.ID LEFT JOIN (SELECT DISTINCT id, first_value(niveau) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) niveau, first_value(parent_id) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) parent_id, first_value(racine_id) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) racine_id, first_value(racine_code) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) racine_code, first_value(chemin) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) chemin, first_value(chemin_id) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) chemin_id FROM multi_heritage ORDER BY id ASC) heritage ON STRUCTURE.ID = heritage.id WHERE HISTO_DESTRUCTION IS NULL ORDER BY STRUCTURE.ID ASC ); CREATE OR REPLACE VIEW V_EMC2_STRUCTURE AS ( select ID, LIBELLE_COURT, LIBELLE_LONG, CODE, SIGLE, TYPE_ID, TO_CHAR(DATE_OUVERTURE,'YYYY-MM-DD HH:MM:SS') AS DATE_OUVERTURE, TO_CHAR(DATE_FERMETURE,'YYYY-MM-DD HH:MM:SS') AS DATE_FERMETURE, PARENT_ID, NIV2_ID, EMAIL_GENERIQUE FROM V_STRUCTURE; ); No newline at end of file documentation/vue_SIRH/V_EMC2_STRUCTURE_RESPONSABLE.sql +21 −13 Changes for documentation/vue_SIRH/V_EMC2_STRUCTURE_RESPONSABLE.sql: 21 added lines, 13 removed lines. Original line number Diff line number Diff line -- --------------------------------------------- -- RESPONSABILITE DE STRUCTURE ----------------- -- --------------------------------------------- -- Requete remontant les fonctions SELECT F.ID, MIN(FL.LIBELLE) FROM FONCTION F JOIN FONCTION_LIBELLE FL on F.ID = FL.FONCTION_ID GROUP BY F.ID ; -- Creation de la vue contenant les fonctions eligibles CREATE OR REPLACE VIEW V_EMC2_FONCTION_RESPONSABLE AS ( SELECT F.ID SELECT F.ID, MAX(F.CODE) AS CODE, MIN(FL.LIBELLE) AS LIBELLE_1, MAX(FL.LIBELLE) AS LIBELLE_2 FROM FONCTION F WHERE F.ID IN (1, 22, 27, 28, 7, 19, 11, 16, 17, 141) JOIN FONCTION_LIBELLE FL on FL.FONCTION_ID = F.ID WHERE F.ID IN ( -- Directeur et Sous-fonction 1, 2, 3, 4, 5, 121, -- Responsable de bureau 7, -- Directeur adjoint et Sous-fonction 11, 12, -- Directeur Général des Services et Sous-fonction 16, 17, 141, -- Responsable et Sous-fonction 19, 20, 21, 161, -- Responsable Adminsitratif et Sous-fonction 22, 23, 24, 25, 26, -- Agent comptable et Sous-fonction 27, 28 ) GROUP BY F.ID ); -- Requete recuperant les individus ayant une de ces fonctions "actives" SELECT * FROM INDIVIDU_FONCTION IFO WHERE IFO.FONCTION_ID IN (SELECT * FROM V_EMC2_FONCTION_RESPONSABLE) WHERE IFO.FONCTION_ID IN (SELECT ID FROM V_EMC2_FONCTION_RESPONSABLE) AND DATE_DEBUT <= sysdate AND (DATE_FIN IS NULL OR DATE_FIN >= sysdate) AND IFO.HISTO_DESTRUCTION IS NULL Loading @@ -37,7 +45,7 @@ CREATE OR REPLACE VIEW V_EMC2_STRUCTURE_RESPONSABLE AS TO_CHAR(IFO.DATE_FIN, 'YYYY-MM-DD HH:MM:SS') AS DATE_FIN FROM INDIVIDU_FONCTION IFO join V_EMC2_STRUCTURE VS ON VS.ID = IFO.STRUCTURE_ID WHERE IFO.FONCTION_ID IN (SELECT * FROM V_EMC2_FONCTION_RESPONSABLE) WHERE IFO.FONCTION_ID IN (SELECT ID FROM V_EMC2_FONCTION_RESPONSABLE) AND IFO.HISTO_DESTRUCTION IS NULL AND IFO.DATE_DEBUT <= sysdate AND (IFO.DATE_FIN IS NULL OR IFO.DATE_FIN >= sysdate) Loading module/Application/src/Application/Entity/Db/Agent.php +1 −1 Changes for module/Application/src/Application/Entity/Db/Agent.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -211,7 +211,7 @@ class Agent implements $prenom = $this->getPrenom(); $prenom = str_replace("É", "é", $prenom); $prenom = str_replace("È", "è", $prenom); return ucwords(strtolower($prenom), "-") . ' ' . $this->getNomUsuel(); return ucwords(strtolower($prenom), "- ") . ' ' . ($this->getNomUsuel())??('<em>'.$this->getNomFamille().'</em>'); } Loading Loading
documentation/vue_SIRH/V_EMC2_STRUCTURE.sql 0 → 100644 +80 −0 Changes for documentation/vue_SIRH/V_EMC2_STRUCTURE.sql: 80 added lines, 0 removed lines. Original line number Diff line number Diff line CREATE OR REPLACE VIEW V_STRUCTURE AS ( WITH multi_heritage AS (SELECT STRUCTURE.ID id, LEVEL niveau, STRUCTURE_PARENT.PARENT_ID parent_id, CONNECT_BY_ROOT STRUCTURE.ID racine_id, CONNECT_BY_ROOT STRUCTURE.CODE racine_code, SYS_CONNECT_BY_PATH(LIBELLE_COURT, ' > ') chemin, SYS_CONNECT_BY_PATH(ID, ' > ') chemin_id FROM STRUCTURE LEFT JOIN STRUCTURE_PARENT ON STRUCTURE.ID = STRUCTURE_PARENT.STRUCTURE_ID CONNECT BY NOCYCLE PRIOR STRUCTURE.ID = STRUCTURE_PARENT.PARENT_ID START WITH STRUCTURE_PARENT.PARENT_ID IS NULL ) SELECT STRUCTURE.ID, STRUCTURE.CODE, STRUCTURE.SIGLE, STRUCTURE.LIBELLE_COURT, STRUCTURE.LIBELLE_LONG, STRUCTURE.LIBELLE_COMMUNICATION, STRUCTURE.SITE_URL, STRUCTURE.EMAIL_GENERIQUE, STRUCTURE.CODE_UAI, STRUCTURE.LOGO, STRUCTURE.TYPE_ID, STRUCTURE.TYPE_SUPANN, STRUCTURE.AFFICHAGE_ANNUAIRE, STRUCTURE_RECHERCHE.ID STRUCTURE_RECHERCHE_ID, STRUCTURE_RECHERCHE_POLE.LIBELLE STRUCTURE_RECHERCHE_POLE, STRUCTURE.LOCAL_PRINCIPAL_ID, heritage.racine_id RACINE_ID, REPLACE(regexp_substr(heritage.chemin_id, ' > [^( > )]+( > |$)', 2), ' > ', '') NIV2_ID, heritage.parent_id PARENT_ID, heritage.niveau NIVEAU, CASE WHEN heritage.racine_code = 'UNIV' THEN 1 ELSE 0 END INTERNE, STRUCTURE.DATE_OUVERTURE, STRUCTURE.DATE_FERMETURE, STRUCTURE.CENTRE_FINANCIER, heritage.chemin CHEMIN FROM STRUCTURE LEFT JOIN STRUCTURE_RECHERCHE ON STRUCTURE.ID = STRUCTURE_RECHERCHE.STRUCTURE_ID LEFT JOIN STRUCTURE_RECHERCHE_POLE ON STRUCTURE_RECHERCHE.POLE_RATTACHEMENT_ID = STRUCTURE_RECHERCHE_POLE.ID LEFT JOIN (SELECT DISTINCT id, first_value(niveau) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) niveau, first_value(parent_id) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) parent_id, first_value(racine_id) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) racine_id, first_value(racine_code) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) racine_code, first_value(chemin) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) chemin, first_value(chemin_id) OVER (PARTITION BY id ORDER BY racine_id ASC RANGE UNBOUNDED PRECEDING) chemin_id FROM multi_heritage ORDER BY id ASC) heritage ON STRUCTURE.ID = heritage.id WHERE HISTO_DESTRUCTION IS NULL ORDER BY STRUCTURE.ID ASC ); CREATE OR REPLACE VIEW V_EMC2_STRUCTURE AS ( select ID, LIBELLE_COURT, LIBELLE_LONG, CODE, SIGLE, TYPE_ID, TO_CHAR(DATE_OUVERTURE,'YYYY-MM-DD HH:MM:SS') AS DATE_OUVERTURE, TO_CHAR(DATE_FERMETURE,'YYYY-MM-DD HH:MM:SS') AS DATE_FERMETURE, PARENT_ID, NIV2_ID, EMAIL_GENERIQUE FROM V_STRUCTURE; ); No newline at end of file
documentation/vue_SIRH/V_EMC2_STRUCTURE_RESPONSABLE.sql +21 −13 Changes for documentation/vue_SIRH/V_EMC2_STRUCTURE_RESPONSABLE.sql: 21 added lines, 13 removed lines. Original line number Diff line number Diff line -- --------------------------------------------- -- RESPONSABILITE DE STRUCTURE ----------------- -- --------------------------------------------- -- Requete remontant les fonctions SELECT F.ID, MIN(FL.LIBELLE) FROM FONCTION F JOIN FONCTION_LIBELLE FL on F.ID = FL.FONCTION_ID GROUP BY F.ID ; -- Creation de la vue contenant les fonctions eligibles CREATE OR REPLACE VIEW V_EMC2_FONCTION_RESPONSABLE AS ( SELECT F.ID SELECT F.ID, MAX(F.CODE) AS CODE, MIN(FL.LIBELLE) AS LIBELLE_1, MAX(FL.LIBELLE) AS LIBELLE_2 FROM FONCTION F WHERE F.ID IN (1, 22, 27, 28, 7, 19, 11, 16, 17, 141) JOIN FONCTION_LIBELLE FL on FL.FONCTION_ID = F.ID WHERE F.ID IN ( -- Directeur et Sous-fonction 1, 2, 3, 4, 5, 121, -- Responsable de bureau 7, -- Directeur adjoint et Sous-fonction 11, 12, -- Directeur Général des Services et Sous-fonction 16, 17, 141, -- Responsable et Sous-fonction 19, 20, 21, 161, -- Responsable Adminsitratif et Sous-fonction 22, 23, 24, 25, 26, -- Agent comptable et Sous-fonction 27, 28 ) GROUP BY F.ID ); -- Requete recuperant les individus ayant une de ces fonctions "actives" SELECT * FROM INDIVIDU_FONCTION IFO WHERE IFO.FONCTION_ID IN (SELECT * FROM V_EMC2_FONCTION_RESPONSABLE) WHERE IFO.FONCTION_ID IN (SELECT ID FROM V_EMC2_FONCTION_RESPONSABLE) AND DATE_DEBUT <= sysdate AND (DATE_FIN IS NULL OR DATE_FIN >= sysdate) AND IFO.HISTO_DESTRUCTION IS NULL Loading @@ -37,7 +45,7 @@ CREATE OR REPLACE VIEW V_EMC2_STRUCTURE_RESPONSABLE AS TO_CHAR(IFO.DATE_FIN, 'YYYY-MM-DD HH:MM:SS') AS DATE_FIN FROM INDIVIDU_FONCTION IFO join V_EMC2_STRUCTURE VS ON VS.ID = IFO.STRUCTURE_ID WHERE IFO.FONCTION_ID IN (SELECT * FROM V_EMC2_FONCTION_RESPONSABLE) WHERE IFO.FONCTION_ID IN (SELECT ID FROM V_EMC2_FONCTION_RESPONSABLE) AND IFO.HISTO_DESTRUCTION IS NULL AND IFO.DATE_DEBUT <= sysdate AND (IFO.DATE_FIN IS NULL OR IFO.DATE_FIN >= sysdate) Loading
module/Application/src/Application/Entity/Db/Agent.php +1 −1 Changes for module/Application/src/Application/Entity/Db/Agent.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -211,7 +211,7 @@ class Agent implements $prenom = $this->getPrenom(); $prenom = str_replace("É", "é", $prenom); $prenom = str_replace("È", "è", $prenom); return ucwords(strtolower($prenom), "-") . ' ' . $this->getNomUsuel(); return ucwords(strtolower($prenom), "- ") . ' ' . ($this->getNomUsuel())??('<em>'.$this->getNomFamille().'</em>'); } Loading