Commit a5a76223 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

MAJ filtres & doc import

parent c2ffc53c
Loading
Loading
Loading
Loading
+2 −1
Changes for data/import_tables.php: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -15,7 +15,8 @@ return [
        'SYNC_HOOK_BEFORE'     => "UNICAEN_IMPORT.REFRESH_MV('MV_INTERVENANT');",
        'SYNC_NON_IMPORTABLES' => true,
        'SYNC_FILTRE'          => "WHERE (import_action <> 'delete' OR (
      (NOT exists(SELECT intervenant_id FROM intervenant_dossier WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id))
  source_id <> ose_divers.get_ose_source_id 
  AND (NOT exists(SELECT intervenant_id FROM intervenant_dossier WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id))
  AND (NOT exists(SELECT intervenant_id FROM piece_jointe WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id))
  AND (NOT exists(SELECT intervenant_id FROM service WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id))
))",
+19 −0
Changes for doc/Connecteurs-Import/Connecteurs-IMPORT.md: 19 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -662,6 +662,25 @@ SELECT * FROM v_diff_etape WHERE annee_id > 2019;

Le filtre est ici `WHERE annee_id > 2019`.

### Utilisation pour contrôler la synchronisation des intervenants.

La synchronisation des intervenants est alimentée par la [src_intervenant](Générique/SRC_INTERVENANT.md).

Il est nécessaire de mettre en place un filtre portant sur la table INTERVENANT afin de ne pas historiser de fiches si :
 - elles ont été créées localement
 - si des données ont déjà été saisies dessus

Voici le filtre, à copier/coller :

```sql
WHERE (import_action <> 'delete' OR (
  source_id <> ose_divers.get_ose_source_id 
  AND (NOT exists(SELECT intervenant_id FROM intervenant_dossier WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id))
  AND (NOT exists(SELECT intervenant_id FROM piece_jointe WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id))
  AND (NOT exists(SELECT intervenant_id FROM service WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id))
))
```

### Utilisation pour contrôler la synchronisation de l'offre de formation

Prenons l'exemple d'une offre de formation importée à la fois d'Apogée et de FCA Manager. Dans OSE ainsi que dans FCA Manager,
+1 −1
Changes for doc/Connecteurs-Import/Générique/SRC_INTERVENANT.md: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ Pour pouvoir fonctionner, il faut pouvoir gérer simultanément:
 - l'annualisation des fiches (en se basant sur les informations de validité fournies par la MV_INTERVENANT)
 - La synchronisation partielle dans certains cas

SRC_INTERVENANT se base sur MV_INTERVENANT, puis confronte les données à la table INTERVENANT pour présenter à la vue différentielle
[SRC_INTERVENANT](SRC_INTERVENANT.sql) se base sur MV_INTERVENANT, puis confronte les données à la table INTERVENANT pour présenter à la vue différentielle
un ensemble de données prêt à synchroniser.

Concrètement, on part de MV_INTERVENANT, on fait une jointure sur la table des années et on confronte les dates de validité de début et de fin