Skip to content
Snippets Groups Projects
Commit 39f4c30e authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Corrections bugs doc import

parent ccd50514
No related branches found
No related tags found
1 merge request!55Ll bug report services
...@@ -123,7 +123,7 @@ DELETE FROM CORPS; ...@@ -123,7 +123,7 @@ DELETE FROM CORPS;
Ensuite, créez la vue source [SRC_CORPS](SRC_CORPS.sql), puis la vue source [SRC_GRADE](SRC_GRADE.sql). Ensuite, créez la vue source [SRC_CORPS](SRC_CORPS.sql), puis la vue source [SRC_GRADE](SRC_GRADE.sql).
[Activez-là, puis tentez une synchronisation](../activer-synchroniser.md). [Activez-les, puis tentez les synchronisations](../activer-synchroniser.md).
## Import des intervenants ## Import des intervenants
......
CREATE MATERIALIZED VIEW MV_INTERVENANT AS CREATE MATERIALIZED VIEW MV_INTERVENANT AS
WITH WITH
i AS ( i AS (
SELECT
ca.no_dossier_pers code,
ct.c_type_contrat_trav z_statut_id_contrat_trav,
NULL z_statut_id_type_pop,
ca.c_section_cnu z_discipline_id_cnu,
ca.c_sous_section_cnu z_discipline_id_sous_cnu,
ca.c_specialite_cnu z_discipline_id_spe_cnu,
ca.c_disc_second_degre z_discipline_id_dis2deg,
MAX(COALESCE(ca.d_fin_execution,ca.d_fin_contrat_trav)) date_fin
FROM
contrat_avenant@harpprod ca
JOIN contrat_travail@harpprod ct ON ct.no_dossier_pers = ca.no_dossier_pers AND ct.no_contrat_travail = ca.no_contrat_travail
WHERE -- on sélectionne les données même 6 mois avant et plus d'un an après
SYSDATE BETWEEN ca.d_deb_contrat_trav-184 AND COALESCE(ca.d_fin_execution,ca.d_fin_contrat_trav,SYSDATE)+400
GROUP BY
ca.no_dossier_pers, ct.c_type_contrat_trav, ca.c_section_cnu, ca.c_sous_section_cnu, ca.c_specialite_cnu, ca.c_disc_second_degre
UNION ALL
SELECT SELECT
a.no_dossier_pers code, a.no_dossier_pers code,
NULL z_statut_id_contrat_trav, NULL z_statut_id_contrat_trav,
...@@ -28,19 +9,40 @@ i AS ( ...@@ -28,19 +9,40 @@ i AS (
psc.c_sous_section_cnu z_discipline_id_sous_cnu, psc.c_sous_section_cnu z_discipline_id_sous_cnu,
psc.c_specialite_cnu z_discipline_id_spe_cnu, psc.c_specialite_cnu z_discipline_id_spe_cnu,
pss.c_disc_second_degre z_discipline_id_dis2deg, pss.c_disc_second_degre z_discipline_id_dis2deg,
MAX(a.d_fin_affectation) date_fin MAX(a.d_fin_affectation) date_fin,
30 poids
FROM FROM
affectation@harpprod a affectation@harpprod a
LEFT JOIN carriere@harpprod c ON c.no_dossier_pers = a.no_dossier_pers AND c.no_seq_carriere = a.no_seq_carriere LEFT JOIN carriere@harpprod c ON c.no_dossier_pers = a.no_dossier_pers AND c.no_seq_carriere = a.no_seq_carriere
LEFT JOIN periodes_sp_cnu@harpprod psc ON psc.no_dossier_pers = a.no_dossier_pers AND psc.no_seq_carriere = a.no_seq_carriere AND COALESCE(a.d_fin_affectation,SYSDATE) BETWEEN COALESCE(psc.d_deb,a.d_fin_affectation,SYSDATE) AND COALESCE(psc.d_fin,a.d_fin_affectation,SYSDATE) LEFT JOIN periodes_sp_cnu@harpprod psc ON psc.no_dossier_pers = a.no_dossier_pers AND psc.no_seq_carriere = a.no_seq_carriere AND COALESCE(a.d_fin_affectation,SYSDATE) BETWEEN COALESCE(psc.d_deb,a.d_fin_affectation,SYSDATE) AND COALESCE(psc.d_fin,a.d_fin_affectation,SYSDATE)
LEFT JOIN periodes_sp_sd_deg@harpprod pss ON pss.no_dossier_pers = a.no_dossier_pers AND pss.no_seq_carriere = a.no_seq_carriere AND COALESCE(a.d_fin_affectation,SYSDATE) BETWEEN COALESCE(pss.d_deb,a.d_fin_affectation,SYSDATE) AND COALESCE(pss.d_fin,a.d_fin_affectation,SYSDATE) LEFT JOIN periodes_sp_sd_deg@harpprod pss ON pss.no_dossier_pers = a.no_dossier_pers AND pss.no_seq_carriere = a.no_seq_carriere AND COALESCE(a.d_fin_affectation,SYSDATE) BETWEEN COALESCE(pss.d_deb,a.d_fin_affectation,SYSDATE) AND COALESCE(pss.d_fin,a.d_fin_affectation,SYSDATE)
WHERE -- on sélectionne les données même 6 mois avant et plus d'un an après WHERE -- on sélectionne les données même 6 mois avant et plus d'un an après
SYSDATE BETWEEN a.d_deb_affectation-184 AND COALESCE(a.d_fin_affectation,SYSDATE)+400 SYSDATE BETWEEN a.d_deb_affectation-184 AND COALESCE(a.d_fin_affectation,SYSDATE)+1
GROUP BY GROUP BY
a.no_dossier_pers, c.c_type_population, psc.c_section_cnu, psc.c_sous_section_cnu, psc.c_specialite_cnu, pss.c_disc_second_degre a.no_dossier_pers, c.c_type_population, psc.c_section_cnu, psc.c_sous_section_cnu, psc.c_specialite_cnu, pss.c_disc_second_degre
UNION ALL UNION ALL
SELECT
ca.no_dossier_pers code,
ct.c_type_contrat_trav z_statut_id_contrat_trav,
NULL z_statut_id_type_pop,
ca.c_section_cnu z_discipline_id_cnu,
ca.c_sous_section_cnu z_discipline_id_sous_cnu,
ca.c_specialite_cnu z_discipline_id_spe_cnu,
ca.c_disc_second_degre z_discipline_id_dis2deg,
MAX(COALESCE(ca.d_fin_execution,ca.d_fin_contrat_trav)) date_fin,
20 poids
FROM
contrat_avenant@harpprod ca
JOIN contrat_travail@harpprod ct ON ct.no_dossier_pers = ca.no_dossier_pers AND ct.no_contrat_travail = ca.no_contrat_travail
WHERE -- on sélectionne les données même 6 mois avant et plus d'un an après
SYSDATE BETWEEN ca.d_deb_contrat_trav-184 AND COALESCE(ca.d_fin_execution,ca.d_fin_contrat_trav,SYSDATE)+1
GROUP BY
ca.no_dossier_pers, ct.c_type_contrat_trav, ca.c_section_cnu, ca.c_sous_section_cnu, ca.c_specialite_cnu, ca.c_disc_second_degre
UNION ALL
SELECT SELECT
ch.no_individu code, ch.no_individu code,
NULL z_statut_id_contrat_trav, NULL z_statut_id_contrat_trav,
...@@ -49,11 +51,12 @@ i AS ( ...@@ -49,11 +51,12 @@ i AS (
ch.c_sous_section_cnu z_discipline_id_sous_cnu, ch.c_sous_section_cnu z_discipline_id_sous_cnu,
NULL z_discipline_id_spe_cnu, NULL z_discipline_id_spe_cnu,
ch.c_disc_second_degre z_discipline_id_dis2deg, ch.c_disc_second_degre z_discipline_id_dis2deg,
ch.d_fin_str_trav date_fin ch.d_fin_str_trav date_fin,
10 poids
FROM FROM
chercheur@harpprod ch chercheur@harpprod ch
WHERE -- on sélectionne les données même 6 mois avant et plus d'un an après WHERE -- on sélectionne les données même 6 mois avant et plus d'un an après
SYSDATE BETWEEN ch.d_deb_str_trav-184 AND COALESCE(ch.d_fin_str_trav,SYSDATE)+400 SYSDATE BETWEEN ch.d_deb_str_trav-184 AND COALESCE(ch.d_fin_str_trav,SYSDATE)+1
), ),
comptes (no_individu, rank_compte, nombre_comptes, IBAN, BIC) AS ( comptes (no_individu, rank_compte, nombre_comptes, IBAN, BIC) AS (
SELECT -- récupération des comptes en banque SELECT -- récupération des comptes en banque
...@@ -143,10 +146,8 @@ SELECT DISTINCT ...@@ -143,10 +146,8 @@ SELECT DISTINCT
/* Employeur */ /* Employeur */
CAST(NULL AS varchar2(255)) z_employeur_id, CAST(NULL AS varchar2(255)) z_employeur_id,
i.date_fin,
/* Chaîne de caractères "réduite" pour optimiser les recherches */ i.poids
utl_raw.cast_to_varchar2((nlssort(to_char(individu.nom_usuel || ' ' || individu.nom_patronymique || ' ' || individu.prenom), 'nls_sort=binary_ai'))) critere_recherche,
date_fin
FROM FROM
i i
JOIN individu@harpprod individu ON individu.no_individu = i.code JOIN individu@harpprod individu ON individu.no_individu = i.code
......
...@@ -40,10 +40,9 @@ WITH srci AS ( ...@@ -40,10 +40,9 @@ WITH srci AS (
i.autre_4 autre_4, i.autre_4 autre_4,
i.autre_5 autre_5, i.autre_5 autre_5,
empl.id employeur_id, empl.id employeur_id,
i.critere_recherche critere_recherche,
src.id source_id, src.id source_id,
i.code || '-' || COALESCE(si.id,sautre.id) source_code i.code || '-' || COALESCE(si.id,sautre.id) source_code
,RANK() OVER (PARTITION BY i.code || '-' || COALESCE(si.id,sautre.id) ORDER BY i.poids DESC, i.date_fin DESC) filtre1 ,ROW_NUMBER() OVER (PARTITION BY i.code || '-' || COALESCE(si.id,sautre.id) ORDER BY i.poids DESC, i.date_fin DESC) filtre1
FROM FROM
mv_intervenant i mv_intervenant i
JOIN source src ON src.code = 'Harpege' JOIN source src ON src.code = 'Harpege'
...@@ -129,7 +128,6 @@ SELECT ...@@ -129,7 +128,6 @@ SELECT
srci.autre_4, srci.autre_4,
srci.autre_5, srci.autre_5,
srci.employeur_id, srci.employeur_id,
srci.critere_recherche,
srci.source_id, srci.source_id,
srci.source_code srci.source_code
FROM FROM
...@@ -182,7 +180,6 @@ SELECT ...@@ -182,7 +180,6 @@ SELECT
srci.autre_4, srci.autre_4,
srci.autre_5, srci.autre_5,
srci.employeur_id, srci.employeur_id,
srci.critere_recherche,
srci.source_id, srci.source_id,
srci.source_code srci.source_code
FROM FROM
......
...@@ -34,7 +34,7 @@ Ces vues sont nommées V_DIFF_*nom-de-la-table* ...@@ -34,7 +34,7 @@ Ces vues sont nommées V_DIFF_*nom-de-la-table*
Par exemple, Par exemple,
```sql ```sql
SELECT * from V_DIFF_PAYS SELECT * FROM V_DIFF_PAYS
``` ```
va vous afficher le différentiel existant entre la vue source et la table PAYS. va vous afficher le différentiel existant entre la vue source et la table PAYS.
Attention : ce différentiel ne prend en compte que les données synchronisables. Si vous ajoutez un pays à la main dans la base de données avec OSE comme source, celui-ci n'apparaitra pas dans cette vue. Attention : ce différentiel ne prend en compte que les données synchronisables. Si vous ajoutez un pays à la main dans la base de données avec OSE comme source, celui-ci n'apparaitra pas dans cette vue.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment