Loading doc/Connecteurs Import/Octopus/MV_OCTO_INTERVENANT.sql +35 −34 Changes for doc/Connecteurs Import/Octopus/MV_OCTO_INTERVENANT.sql: 35 added lines, 34 removed lines. Original line number Diff line number Diff line Loading @@ -9,7 +9,8 @@ WITH i AS ( MIN(validite_debut) OVER (partition by code, z_statut_id) validite_debut, MAX(validite_fin) OVER (partition by code, z_statut_id) validite_fin FROM (SELECT aff.id id_affectation, uni.c_src_individu code, --Le code de l'intervenant est maintenant le id unique octopus uni.c_individu_chaine code, s.code structure_code, CASE WHEN icto.code_ose IS NOT NULL THEN icto.code_ose ELSE 'AUTRES' END z_statut_id, COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut, Loading @@ -17,13 +18,13 @@ WITH i AS ( --Le source code n'est plus utilisé par SRC_INTERVENANT on met donc la même valeur que code uni.c_individu_chaine || '-a' source_code, aff.t_principale affectation_principale FROM octo.individu_affectation@octodev aff JOIN octo.individu_affectation_type@octodev aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP') LEFT JOIN octo.v_individu_contrat_type_ose@octodev icto FROM octo.individu_affectation@octoprod aff JOIN octo.individu_affectation_type@octoprod aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octoprod uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source IN ('HARP')) LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON icto.individu_id = uni.c_individu_chaine AND COALESCE(icto.d_fin, SYSDATE) >= SYSDATE LEFT JOIN octo.STRUCTURE@octodev s ON s.id = aff.structure_id LEFT JOIN octo.STRUCTURE@octoprod s ON s.id = aff.structure_id WHERE aff.date_debut - 184 <= SYSDATE AND aft.nom = 'AFFECTATION' --Uniquement si on veut que les affectations principales Loading @@ -32,7 +33,7 @@ WITH i AS ( UNION ALL --AFFECTATION ENSEIGNEMENT SELECT aff.id id_affectation, uni.c_src_individu code, uni.c_individu_chaine code, s.code structure_code, CASE WHEN icto.code_ose IS NOT NULL THEN icto.code_ose ELSE 'AUTRES' END z_statut_id, COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut, Loading @@ -40,13 +41,13 @@ WITH i AS ( --Le source code n'est plus utilisé par SRC_INTERVENANT on met donc la même valeur que code uni.c_individu_chaine || '-c' source_code, aff.t_principale affectation_principale FROM octo.individu_affectation@octodev aff JOIN octo.individu_affectation_type@octodev aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP') LEFT JOIN octo.v_individu_contrat_type_ose@octodev icto FROM octo.individu_affectation@octoprod aff JOIN octo.individu_affectation_type@octoprod aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octoprod uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source IN ('HARP')) LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON icto.individu_id = uni.c_individu_chaine AND COALESCE(icto.d_fin, SYSDATE) >= SYSDATE LEFT JOIN octo.STRUCTURE@octodev s ON s.id = aff.structure_id LEFT JOIN octo.STRUCTURE@octoprod s ON s.id = aff.structure_id WHERE aff.date_debut - 184 <= SYSDATE AND aft.nom = 'ENSEIGNEMENT' --Uniquement si on veut que les affectations principales Loading @@ -55,7 +56,7 @@ WITH i AS ( UNION ALL --AFFECTATION RECHERCHE SELECT aff.id id_affectation, uni.c_src_individu code, uni.c_individu_chaine code, s.code structure_code, CASE WHEN icto.code_ose IS NOT NULL THEN icto.code_ose ELSE 'AUTRES' END z_statut_id, COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut, Loading @@ -63,13 +64,13 @@ WITH i AS ( --Le source code n'est plus utilisé par SRC_INTERVENANT on met donc la même valeur que code uni.c_individu_chaine || '-r' source_code, aff.t_principale affectation_principale FROM octo.individu_affectation@octodev aff JOIN octo.individu_affectation_type@octodev aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP') LEFT JOIN octo.v_individu_contrat_type_ose@octodev icto FROM octo.individu_affectation@octoprod aff JOIN octo.individu_affectation_type@octoprod aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octoprod uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source IN ('HARP')) LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON icto.individu_id = uni.c_individu_chaine AND COALESCE(icto.d_fin, SYSDATE) >= SYSDATE LEFT JOIN octo.STRUCTURE@octodev s ON s.id = aff.structure_id LEFT JOIN octo.STRUCTURE@octoprod s ON s.id = aff.structure_id WHERE aff.date_debut - 184 <= SYSDATE AND aft.nom = 'RECHERCHE' --Uniquement si on veut que les affectations principales Loading @@ -79,12 +80,12 @@ WITH i AS ( telephone_pro_principal AS ( SELECT indtel.individu_id individu_id, tel.numero numero FROM octo.individu_telephone@octodev indtel JOIN octo.telephone@octodev tel ON (tel.id = indtel.telephone_id AND tel.t_principal = 'O') FROM octo.individu_telephone@octoprod indtel JOIN octo.telephone@octoprod tel ON (tel.id = indtel.telephone_id AND tel.t_principal = 'O') ) SELECT /*Octopus id, id unique pour un individu immuable dans le temps, remplace le code harpege*/ induni.c_individu_chaine code, i.code code, /* Code RH */ ltrim(TO_CHAR(induni.c_src_individu, '99999999')) code_rh, i.source_code source_code, Loading @@ -94,8 +95,6 @@ SELECT str2.code z_structure_code_n2, i.structure_code z_structure_code, i.z_statut_id z_statut_id, /* Récupération du grade actuel */ --pbs_divers__cicg.c_grade@harpprod(individu.no_individu, COALESCE(i.validite_fin,SYSDATE) ) z_grade_id, indg.grade_id z_grade_id, /* Données nécessaires pour calculer la discipline */ indg.cnu_id z_discipline_id_cnu, Loading @@ -111,7 +110,6 @@ SELECT /* Données identifiantes complémentaires */ initcap(ind.nom_famille) nom_patronymique, --Pour le moment les communes ne sont pas dans OCTOPUS commune.libelle_commune ind.ville_de_naissance commune_naissance, ind.c_pays_naissance z_pays_naissance_id, ind.c_dept_naissance z_departement_naissance_id, Loading Loading @@ -153,20 +151,23 @@ SELECT CASE WHEN i.validite_fin = to_date('01/01/9999', 'dd/mm/YYYY') THEN NULL ELSE i.validite_fin END validite_fin FROM i JOIN octo.individu_unique@octodev induni ON (i.code = induni.c_src_individu AND induni.c_source = 'HARP') LEFT JOIN octo.individu@octodev ind ON ind.c_individu_chaine = induni.c_individu_chaine LEFT JOIN octo.individu_grade@octodev indg ON induni.c_individu_chaine = indg.individu_id LEFT JOIN octo.v_individu_adresse_perso@octodev adr JOIN octo.individu_unique@octoprod induni ON (i.code = induni.c_individu_chaine AND induni.c_source IN ('HARP')) LEFT JOIN octo.individu@octoprod ind ON ind.c_individu_chaine = induni.c_individu_chaine LEFT JOIN octo.individu_grade@octoprod indg ON induni.c_individu_chaine = indg.individu_id LEFT JOIN octo.v_individu_adresse_perso@octoprod adr ON adr.individu_id = induni.c_individu_chaine AND t_principale = 'O' LEFT JOIN telephone_pro_principal telpro ON telpro.individu_id = induni.c_individu_chaine -- On ne prend que les comptes qui ne sont pas étudiants LEFT JOIN octo.individu_compte@octodev indc LEFT JOIN octo.individu_compte@octoprod indc ON indc.individu_id = induni.c_individu_chaine AND not regexp_like(ldap_uid, 'e[0-9]{8}') LEFT JOIN v_structure@octodev str ON str.code = i.structure_code LEFT JOIN v_structure@octodev str2 ON str.niv2_id = str2.id LEFT JOIN v_structure@octoprod str ON str.code = i.structure_code LEFT JOIN v_structure@octoprod str2 ON str.niv2_id = str2.id WHERE i.validite_fin + 1 >= (SYSDATE - (365 * 2)) --AND ind.nom_usage LIKE 'HEARD%' --AND i.structure_code = '13A' --AND induni.c_individu_chaine = 1239 --Filtre octopus id --AND induni.c_src_individu = 52958 --Filtre code rh (harpége) Loading
doc/Connecteurs Import/Octopus/MV_OCTO_INTERVENANT.sql +35 −34 Changes for doc/Connecteurs Import/Octopus/MV_OCTO_INTERVENANT.sql: 35 added lines, 34 removed lines. Original line number Diff line number Diff line Loading @@ -9,7 +9,8 @@ WITH i AS ( MIN(validite_debut) OVER (partition by code, z_statut_id) validite_debut, MAX(validite_fin) OVER (partition by code, z_statut_id) validite_fin FROM (SELECT aff.id id_affectation, uni.c_src_individu code, --Le code de l'intervenant est maintenant le id unique octopus uni.c_individu_chaine code, s.code structure_code, CASE WHEN icto.code_ose IS NOT NULL THEN icto.code_ose ELSE 'AUTRES' END z_statut_id, COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut, Loading @@ -17,13 +18,13 @@ WITH i AS ( --Le source code n'est plus utilisé par SRC_INTERVENANT on met donc la même valeur que code uni.c_individu_chaine || '-a' source_code, aff.t_principale affectation_principale FROM octo.individu_affectation@octodev aff JOIN octo.individu_affectation_type@octodev aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP') LEFT JOIN octo.v_individu_contrat_type_ose@octodev icto FROM octo.individu_affectation@octoprod aff JOIN octo.individu_affectation_type@octoprod aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octoprod uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source IN ('HARP')) LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON icto.individu_id = uni.c_individu_chaine AND COALESCE(icto.d_fin, SYSDATE) >= SYSDATE LEFT JOIN octo.STRUCTURE@octodev s ON s.id = aff.structure_id LEFT JOIN octo.STRUCTURE@octoprod s ON s.id = aff.structure_id WHERE aff.date_debut - 184 <= SYSDATE AND aft.nom = 'AFFECTATION' --Uniquement si on veut que les affectations principales Loading @@ -32,7 +33,7 @@ WITH i AS ( UNION ALL --AFFECTATION ENSEIGNEMENT SELECT aff.id id_affectation, uni.c_src_individu code, uni.c_individu_chaine code, s.code structure_code, CASE WHEN icto.code_ose IS NOT NULL THEN icto.code_ose ELSE 'AUTRES' END z_statut_id, COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut, Loading @@ -40,13 +41,13 @@ WITH i AS ( --Le source code n'est plus utilisé par SRC_INTERVENANT on met donc la même valeur que code uni.c_individu_chaine || '-c' source_code, aff.t_principale affectation_principale FROM octo.individu_affectation@octodev aff JOIN octo.individu_affectation_type@octodev aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP') LEFT JOIN octo.v_individu_contrat_type_ose@octodev icto FROM octo.individu_affectation@octoprod aff JOIN octo.individu_affectation_type@octoprod aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octoprod uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source IN ('HARP')) LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON icto.individu_id = uni.c_individu_chaine AND COALESCE(icto.d_fin, SYSDATE) >= SYSDATE LEFT JOIN octo.STRUCTURE@octodev s ON s.id = aff.structure_id LEFT JOIN octo.STRUCTURE@octoprod s ON s.id = aff.structure_id WHERE aff.date_debut - 184 <= SYSDATE AND aft.nom = 'ENSEIGNEMENT' --Uniquement si on veut que les affectations principales Loading @@ -55,7 +56,7 @@ WITH i AS ( UNION ALL --AFFECTATION RECHERCHE SELECT aff.id id_affectation, uni.c_src_individu code, uni.c_individu_chaine code, s.code structure_code, CASE WHEN icto.code_ose IS NOT NULL THEN icto.code_ose ELSE 'AUTRES' END z_statut_id, COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut, Loading @@ -63,13 +64,13 @@ WITH i AS ( --Le source code n'est plus utilisé par SRC_INTERVENANT on met donc la même valeur que code uni.c_individu_chaine || '-r' source_code, aff.t_principale affectation_principale FROM octo.individu_affectation@octodev aff JOIN octo.individu_affectation_type@octodev aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP') LEFT JOIN octo.v_individu_contrat_type_ose@octodev icto FROM octo.individu_affectation@octoprod aff JOIN octo.individu_affectation_type@octoprod aft ON (aff.type_id = aft.id) JOIN octo.individu_unique@octoprod uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source IN ('HARP')) LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON icto.individu_id = uni.c_individu_chaine AND COALESCE(icto.d_fin, SYSDATE) >= SYSDATE LEFT JOIN octo.STRUCTURE@octodev s ON s.id = aff.structure_id LEFT JOIN octo.STRUCTURE@octoprod s ON s.id = aff.structure_id WHERE aff.date_debut - 184 <= SYSDATE AND aft.nom = 'RECHERCHE' --Uniquement si on veut que les affectations principales Loading @@ -79,12 +80,12 @@ WITH i AS ( telephone_pro_principal AS ( SELECT indtel.individu_id individu_id, tel.numero numero FROM octo.individu_telephone@octodev indtel JOIN octo.telephone@octodev tel ON (tel.id = indtel.telephone_id AND tel.t_principal = 'O') FROM octo.individu_telephone@octoprod indtel JOIN octo.telephone@octoprod tel ON (tel.id = indtel.telephone_id AND tel.t_principal = 'O') ) SELECT /*Octopus id, id unique pour un individu immuable dans le temps, remplace le code harpege*/ induni.c_individu_chaine code, i.code code, /* Code RH */ ltrim(TO_CHAR(induni.c_src_individu, '99999999')) code_rh, i.source_code source_code, Loading @@ -94,8 +95,6 @@ SELECT str2.code z_structure_code_n2, i.structure_code z_structure_code, i.z_statut_id z_statut_id, /* Récupération du grade actuel */ --pbs_divers__cicg.c_grade@harpprod(individu.no_individu, COALESCE(i.validite_fin,SYSDATE) ) z_grade_id, indg.grade_id z_grade_id, /* Données nécessaires pour calculer la discipline */ indg.cnu_id z_discipline_id_cnu, Loading @@ -111,7 +110,6 @@ SELECT /* Données identifiantes complémentaires */ initcap(ind.nom_famille) nom_patronymique, --Pour le moment les communes ne sont pas dans OCTOPUS commune.libelle_commune ind.ville_de_naissance commune_naissance, ind.c_pays_naissance z_pays_naissance_id, ind.c_dept_naissance z_departement_naissance_id, Loading Loading @@ -153,20 +151,23 @@ SELECT CASE WHEN i.validite_fin = to_date('01/01/9999', 'dd/mm/YYYY') THEN NULL ELSE i.validite_fin END validite_fin FROM i JOIN octo.individu_unique@octodev induni ON (i.code = induni.c_src_individu AND induni.c_source = 'HARP') LEFT JOIN octo.individu@octodev ind ON ind.c_individu_chaine = induni.c_individu_chaine LEFT JOIN octo.individu_grade@octodev indg ON induni.c_individu_chaine = indg.individu_id LEFT JOIN octo.v_individu_adresse_perso@octodev adr JOIN octo.individu_unique@octoprod induni ON (i.code = induni.c_individu_chaine AND induni.c_source IN ('HARP')) LEFT JOIN octo.individu@octoprod ind ON ind.c_individu_chaine = induni.c_individu_chaine LEFT JOIN octo.individu_grade@octoprod indg ON induni.c_individu_chaine = indg.individu_id LEFT JOIN octo.v_individu_adresse_perso@octoprod adr ON adr.individu_id = induni.c_individu_chaine AND t_principale = 'O' LEFT JOIN telephone_pro_principal telpro ON telpro.individu_id = induni.c_individu_chaine -- On ne prend que les comptes qui ne sont pas étudiants LEFT JOIN octo.individu_compte@octodev indc LEFT JOIN octo.individu_compte@octoprod indc ON indc.individu_id = induni.c_individu_chaine AND not regexp_like(ldap_uid, 'e[0-9]{8}') LEFT JOIN v_structure@octodev str ON str.code = i.structure_code LEFT JOIN v_structure@octodev str2 ON str.niv2_id = str2.id LEFT JOIN v_structure@octoprod str ON str.code = i.structure_code LEFT JOIN v_structure@octoprod str2 ON str.niv2_id = str2.id WHERE i.validite_fin + 1 >= (SYSDATE - (365 * 2)) --AND ind.nom_usage LIKE 'HEARD%' --AND i.structure_code = '13A' --AND induni.c_individu_chaine = 1239 --Filtre octopus id --AND induni.c_src_individu = 52958 --Filtre code rh (harpége)