From f43597de7c1320b12a75d5246b379c1a45c9659f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr>
Date: Fri, 22 Oct 2021 10:15:16 +0200
Subject: [PATCH] =?UTF-8?q?Nouvelles=20tables=20connect=C3=A9es=20pour=20s?=
 =?UTF-8?q?ynchroniser=20les=20effectifs/=C3=A9tape=20niveau=20charges.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

DOC à jour
---
 .../Apog\303\251e/Connecteur.md"              | 19 +++++++
 .../Apog\303\251e/SRC_SCENARIO_NOEUD.sql"     | 16 ++++++
 .../SRC_SCENARIO_NOEUD_EFFECTIF.sql"          | 33 ++++++++++++
 doc/Connecteurs-Import/Connecteurs-IMPORT.md  | 54 ++++++++++++++++++-
 4 files changed, 120 insertions(+), 2 deletions(-)
 create mode 100644 "doc/Connecteurs-Import/Apog\303\251e/SRC_SCENARIO_NOEUD.sql"
 create mode 100644 "doc/Connecteurs-Import/Apog\303\251e/SRC_SCENARIO_NOEUD_EFFECTIF.sql"

diff --git "a/doc/Connecteurs-Import/Apog\303\251e/Connecteur.md" "b/doc/Connecteurs-Import/Apog\303\251e/Connecteur.md"
index 9acb48c053..f2ff4657e4 100644
--- "a/doc/Connecteurs-Import/Apog\303\251e/Connecteur.md"
+++ "b/doc/Connecteurs-Import/Apog\303\251e/Connecteur.md"
@@ -143,4 +143,23 @@ Créez la vue [SRC_LIEN](SRC_LIEN.sql).
 
 Créez la vue [SRC_SCENARIO_LIEN](SRC_SCENARIO_LIEN.sql).
 
+[Activez-là, puis tentez une synchronisation](../activer-synchroniser.md).
+
+## Récupération des paramétrages par scénarios pour les noeuds
+
+Créez la vue [SRC_SCENARIO_NOEUD](SRC_SCENARIO_NOEUD.sql).
+
+Cette vue ne peuple que les noeuds correspondant aux étapes.
+Il sont injectés sans aucun paramètre.
+L'objectif est de pouvoir s'appuyer dessus pour injecter plus tard les effectifs.
+
+[Activez-là, puis tentez une synchronisation](../activer-synchroniser.md).
+
+## Récupération des paramétrages des effectifs par scénarios pour les noeuds d'étapes
+
+Créez la vue [SRC_SCENARIO_NOEUD_EFFECTIF](SRC_SCENARIO_NOEUD_EFFECTIF.sql).
+
+Les effectifs ne sont pas mis à jour si un quelqu'un les a modifié manuellement dans OSE.
+La synchronisation ne modifie jamais des données saisies à la main.
+
 [Activez-là, puis tentez une synchronisation](../activer-synchroniser.md).
\ No newline at end of file
diff --git "a/doc/Connecteurs-Import/Apog\303\251e/SRC_SCENARIO_NOEUD.sql" "b/doc/Connecteurs-Import/Apog\303\251e/SRC_SCENARIO_NOEUD.sql"
new file mode 100644
index 0000000000..63f29b7271
--- /dev/null
+++ "b/doc/Connecteurs-Import/Apog\303\251e/SRC_SCENARIO_NOEUD.sql"
@@ -0,0 +1,16 @@
+CREATE OR REPLACE FORCE VIEW SRC_SCENARIO_NOEUD AS
+SELECT
+  s.id                         scenario_id,
+  n.id                         noeud_id,
+  src.id                       source_id,
+  n.source_code || '_' || s.id source_code
+FROM
+            noeud            n
+       JOIN scenario         s ON s.histo_destruction IS NULL
+       JOIN source         src ON src.code = 'Apogee'
+  LEFT JOIN scenario_noeud sno ON sno.scenario_id = s.id AND sno.noeud_id = n.id
+  LEFT JOIN source         sns ON sns.id = sno.source_id
+WHERE
+  n.etape_id IS NOT NULL
+  AND n.histo_destruction IS NULL
+  AND COALESCE(sns.importable,1) = 1
\ No newline at end of file
diff --git "a/doc/Connecteurs-Import/Apog\303\251e/SRC_SCENARIO_NOEUD_EFFECTIF.sql" "b/doc/Connecteurs-Import/Apog\303\251e/SRC_SCENARIO_NOEUD_EFFECTIF.sql"
new file mode 100644
index 0000000000..68f9e27fb8
--- /dev/null
+++ "b/doc/Connecteurs-Import/Apog\303\251e/SRC_SCENARIO_NOEUD_EFFECTIF.sql"
@@ -0,0 +1,33 @@
+CREATE OR REPLACE FORCE VIEW SRC_SCENARIO_NOEUD_EFFECTIF AS
+WITH a AS (
+            SELECT z_etape_id, annee_id, 'fi' z_type_heures_id, effectif_fi effectif FROM OSE_ETAPE_EFFECTIFS@apoprod etp WHERE effectif_fi > 0
+  UNION ALL SELECT z_etape_id, annee_id, 'fa' z_type_heures_id, effectif_fa effectif FROM OSE_ETAPE_EFFECTIFS@apoprod etp WHERE effectif_fa > 0
+  UNION ALL SELECT z_etape_id, annee_id, 'fc' z_type_heures_id, effectif_fc effectif FROM OSE_ETAPE_EFFECTIFS@apoprod etp WHERE effectif_fc > 0
+), snem as (
+  SELECT
+    scenario_noeud_id
+  FROM
+    scenario_noeud_effectif sne
+    JOIN source src ON src.id = sne.source_id
+  WHERE
+    src.importable = 0
+    AND sne.histo_destruction IS NULL
+)
+SELECT
+  sn.id scenario_noeud_id,
+  th.id type_heures_id,
+  a.effectif,
+  e.id etape_id,
+  src.id source_id,
+  e.annee_id || '_' || e.source_code || '_' || th.code || '_' || s.id source_code
+FROM
+  a
+  JOIN source src ON src.code = 'Apogee'
+  JOIN scenario        s ON s.histo_destruction IS NULL
+  JOIN type_heures th ON th.code = a.z_type_heures_id
+  JOIN etape e ON e.source_code = a.z_etape_id AND e.annee_id = a.annee_id AND e.histo_destruction IS NULL
+  JOIN noeud n ON n.etape_id = e.id
+  LEFT JOIN scenario_noeud sn ON sn.noeud_id = n.id AND sn.scenario_id = s.id
+  LEFT JOIN snem ON snem.scenario_noeud_id = sn.id
+WHERE
+  snem.scenario_noeud_id IS NULL
\ No newline at end of file
diff --git a/doc/Connecteurs-Import/Connecteurs-IMPORT.md b/doc/Connecteurs-Import/Connecteurs-IMPORT.md
index 469a47d573..5cd58b422b 100644
--- a/doc/Connecteurs-Import/Connecteurs-IMPORT.md
+++ b/doc/Connecteurs-Import/Connecteurs-IMPORT.md
@@ -113,6 +113,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <th>Table</th>
     <th>Apogée</th>
+    <th>ActUL</th>
     <th>FCA Manager</th> 
     <th>Harpège</th>
     <th>Siham</th>
@@ -130,6 +131,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>PAYS</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td>Oui</td> <!-- Harpège -->
     <td>Oui</td> <!-- Siham -->
@@ -142,6 +144,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>DEPARTEMENT</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td>Oui</td> <!-- Harpège -->
     <td>Oui</td> <!-- Siham -->
@@ -154,6 +157,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>VOIRIE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td>Oui</td> <!-- Harpège -->
     <td>Oui</td> <!-- Siham -->
@@ -166,6 +170,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>ETABLISSEMENT</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -178,6 +183,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>STRUCTURE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td>Oui</td> <!-- Harpège -->
     <td>Oui</td> <!-- Siham -->
@@ -190,6 +196,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>DISCIPLINE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -207,6 +214,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>AFFECTATION</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -219,6 +227,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>EMPLOYEUR</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -230,7 +239,8 @@ présentées dans l'ordre où il faut les traiter.
   </tr>
   <tr>
     <td>CORPS</td> <!-- Table -->
-     <td></td> <!-- Apogée -->
+    <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td>Oui</td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -243,6 +253,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>GRADE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td>Oui</td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -255,6 +266,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>INTERVENANT</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td>Oui</td> <!-- Harpège -->
     <td>Oui</td> <!-- Siham -->
@@ -267,6 +279,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>AFFECTATION_RECHERCHE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td>Oui</td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -284,6 +297,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>DOMAINE_FONCTIONNEL</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -296,6 +310,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>CENTRE_COUT</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -308,6 +323,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>CENTRE_COUT_EP</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -320,6 +336,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>CENTRE_COUT_STRUCTURE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -337,6 +354,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>GROUPE_TYPE_FORMATION</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -349,6 +367,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>TYPE_FORMATION</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -361,6 +380,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>ETAPE</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
     <td>Oui</td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -373,6 +393,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>ELEMENT_PEDAGOGIQUE</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
     <td>Oui</td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -385,6 +406,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>CHEMIN_PEDAGOGIQUE</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
     <td>Oui</td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -397,6 +419,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>VOLUME_HORAIRE_ENS</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
     <td>Oui</td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -409,6 +432,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>EFFECTIFS</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -421,6 +445,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>EFFECTIFS_ETAPE</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -433,6 +458,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>ELEMENT_TAUX_REGIMES</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -445,6 +471,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>NOEUD</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -457,6 +484,7 @@ présentées dans l'ordre où il faut les traiter.
     <tr>
     <td>LIEN</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -468,7 +496,8 @@ présentées dans l'ordre où il faut les traiter.
   </tr>  
   <tr>
     <td>SCENARIO_NOEUD</td> <!-- Table -->
-    <td></td> <!-- Apogée -->
+    <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -477,10 +506,24 @@ présentées dans l'ordre où il faut les traiter.
     <td></td> <!-- Sifac -->
     <td></td> <!-- Calcul -->
     <td>Paramétrage des noeuds. Utile uniquement pour le module Charges.</td> <!-- Description -->
+  </tr>
+    <tr>
+    <td>SCENARIO_NOEUD_EFFECTIF</td> <!-- Table -->
+    <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
+    <td></td> <!-- FCA Manager -->
+    <td></td> <!-- Harpège -->
+    <td></td> <!-- Siham -->
+    <td></td> <!-- Octopus -->
+    <td></td><!-- Mangue -->
+    <td></td> <!-- Sifac -->
+    <td></td> <!-- Calcul -->
+    <td>Paramétrage des effectifs des noeuds d'étapes. Utile uniquement pour le module Charges.</td> <!-- Description -->
   </tr>
   <tr>
     <td>SCENARIO_LIEN</td> <!-- Table -->
     <td>Oui</td> <!-- Apogée -->
+    <td>Oui</td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -498,6 +541,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>SERVICE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -510,6 +554,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>SERVICE_REFERENTIEL</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -522,6 +567,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>VOLUME_HORAIRE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -534,6 +580,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>VOLUME_HORAIRE_REF</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -546,6 +593,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>TYPE_INTERVENTION_EP</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -558,6 +606,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>TYPE_MODULATEUR_EP</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
@@ -570,6 +619,7 @@ présentées dans l'ordre où il faut les traiter.
   <tr>
     <td>VOLUME_HORAIRE_CHARGE</td> <!-- Table -->
     <td></td> <!-- Apogée -->
+    <td></td> <!-- ActUL -->
     <td></td> <!-- FCA Manager -->
     <td></td> <!-- Harpège -->
     <td></td> <!-- Siham -->
-- 
GitLab