Commit 50c38ded authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

Ajout de la synchro des effectifs par étape au connecteur Apogée

parent d0c475ee
......@@ -70,6 +70,22 @@ grant select on ose_etape to ose
create public synonym ose_etape for apogee.ose_etape
;
--
-- Effectifs par annee par etape et par regime d inscription
--
create table ose_etape_effectifs (
z_etape_id varchar2(20) not null,
annee_id varchar2(4) not null,
effectif_FI number(5) default 0 not null,
effectif_FA number(5) default 0 not null,
effectif_FC number(5) default 0 not null,
primary key (z_etape_id, annee_id)
)
;
grant select on ose_etape_effectifs to ose
;
create public synonym ose_etape_effectifs for apogee.ose_etape_effectifs
;
--
-- Chemins pedagogiques
-- Relations entre les etapes et les elements pedagogiques les plus fins
--
......
......@@ -6,7 +6,8 @@
-- 04/10/2019 Plafonnement de la charge d enseignement liee a l'encadrement individuel (decision d etablissement unicaen) : 1 heure maxi par etudiant
-- 04/10/2019 Mise en coherence entre les heures de type EAD et le flag a_distance : s il existe une charge EAD alors a_distance = Oui sinon a_distance = Non
-- 31/03/2021 Exclusion des ELP fictifs en testant le temoin TEM_FICTIF de leur nature et non plus leur code nature
-- 01/06/2021 Alimentation nouvelle table des effectifs par etape par annee et par regime d inscription
--
-- Reinitialisation des tables
--
delete from ose_volume_horaire_ens
......@@ -19,6 +20,8 @@ delete from ose_chemin_pedagogique
;
delete from ose_offre_de_formation
;
delete from ose_etape_effectifs
;
delete from ose_etape
;
delete from ose_type_formation
......@@ -115,7 +118,7 @@ with
-- Determiner si la notion de niveau a du sens pour le type de formation
min (
case gtf.pertinence_niveau
when 0 then null
when 0 then null
else vde.cod_sis_daa_min
end
) keep ( dense_rank first order by anu.cod_anu, vde.cod_etp, vde.cod_vrs_vet ) as niveau,
......@@ -197,6 +200,23 @@ group by
tmp.specifique_echanges
;
--
-- Constatation des effectifs par annee par etape et par regime d inscription
--
insert into ose_etape_effectifs
select
source_code as z_etape_id,
cod_anu as annee_id,
sum( case when iae.cod_rge in ('1', '3', '7') then 1 else 0 end ) as effectif_FI,
sum( case when iae.cod_rge in ('4') then 1 else 0 end ) as effectif_FA,
sum( case when iae.cod_rge in ('2', '5', '6') then 1 else 0 end ) as effectif_FC
from ose_etape etp
join ins_adm_etp iae on iae.cod_anu = etp.annee_id and iae.cod_etp = etp.cod_etp and iae.cod_vrs_vet = etp.cod_vrs_vet
where iae.eta_iae = 'E'
and iae.eta_pmt_iae = 'P'
group by source_code,
cod_anu
;
--
-- Table recursive de l offre de formation
-- L offre de formation est reconstituee sous forme d arbre :
-- en ignorant les elements feuilles de nature technique (elements miroirs, elements utiles uniquement pour le calcul de notes...)
......@@ -680,4 +700,4 @@ using (
) tmp
on ( odf.annee_id = tmp.annee_id and odf.noeud_inf_id = tmp.z_element_pedagogique_id )
when matched then update set odf.taux_foad = 1
;
;
\ No newline at end of file
......@@ -57,6 +57,10 @@ La table ose_element_effectifs permet :
- de définir quels régimes d'inscription correspondent à la FI, à la FC, ou à l'apprentissage (FA) (A ADAPTER)
- de calculer les effectifs par année, par élément pédagogique et par régime d'inscription
La table ose_etape_effectifs permet :
- de définir quels régimes d'inscription correspondent à la FI, à la FC, ou à l'apprentissage (FA) (A ADAPTER)
- de calculer les effectifs par année, par étape et par régime d'inscription
La table ose_volume_horaire_ens permet :
- d'associer à chaque enseignement ses volumes horaires par type d'intervention enregistrés dans le module Charges, la saisie de services dans OSE n'étant possible que si une charge existe pour l'enseignement
- si l'année est en cours ou terminée, d'observer la charge réelle en dénombrant le nombre de groupes ouverts dans lesquels des étudiants sont inscrits, le type de groupe étant assimilé au type d'heure défini dans le module Charges ; en l'absence de groupes modélisés, un groupe unique sera pris en compte pour l'enseignement.
......
......@@ -117,6 +117,12 @@ Créez la vue [SRC_EFFECTIFS](SRC_EFFECTIFS.sql).
[Activez-là, puis tentez une synchronisation](../activer-synchroniser.md).
## Récupération des effectifs par étape
Créez la vue [SRC_EFFECTIFS_ETAPE](SRC_EFFECTIFS_ETAPE.sql).
[Activez-là, puis tentez une synchronisation](../activer-synchroniser.md).
## Récupération des noeuds
La table NOEUD, ainsi que les deux tables suivantes, doit être peuplée si vous utilisez le module
......
CREATE OR REPLACE FORCE VIEW SRC_EFFECTIFS_ETAPE AS
SELECT
e.id etape_id,
to_number(etp.annee_id) annee_id,
etp.effectif_fi fi,
etp.effectif_fc fc,
etp.effectif_fa fa,
s.id source_id,
e.annee_id || '-' || etp.z_etape_id source_code
FROM
OSE_ETAPE_EFFECTIFS@apoprod etp
JOIN source s ON s.code = 'Apogee'
LEFT JOIN etape e ON e.source_code = etp.z_etape_id
AND e.annee_id = to_number(etp.annee_id)
\ No newline at end of file
......@@ -420,7 +420,7 @@ présentées dans l'ordre où il faut les traiter.
</tr>
<tr>
<td>EFFECTIFS_ETAPE</td> <!-- Table -->
<td></td> <!-- Apogée -->
<td>Oui</td> <!-- Apogée -->
<td></td> <!-- FCA Manager -->
<td></td> <!-- Harpège -->
<td></td> <!-- Siham -->
......@@ -659,6 +659,20 @@ WHERE
OR source_id = source.id
```
- Effectifs/étapes (table EFFECTIFS_ETAPE)
On synchronise toutes les données issues de FCA Manager et les autres données si leur année n'est
pas inférieure à l'année d'import ou à l'année minimale d'import de l'ODF.
```sql
JOIN source ON source.code = 'FCAManager'
JOIN etape e ON e.id = v_diff_effectifs_etape.etape_id
JOIN parametre amio ON amio.nom = 'annee_minimale_import_odf'
WHERE
(e.annee_id >= OSE_PARAMETRE.GET_ANNEE_IMPORT AND e.annee_id >= to_number(amio.valeur))
OR v_diff_effectifs_etape.source_id = source.id
```
- Chemins pédagogiques et volumes horaires d'enseignement (tables CHEMIN_PEDAGOGIQUE et VOLUME_HORAIRE_ENS)
Ces tables ne sont pas annualisées. En revanche on peut se baser sur l'année de l'élément pédagogique dont elles dépendent. Le
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment