Tâche #30366
Scénario #30092: Étude : import AAF Thot et AAF 1er degré V2003 (SDET V6.3)
Différences élèves 1D/2D (Eleve)
100%
Historique
#1 Mis à jour par Joël Cuissinat il y a presque 4 ans
- ENTEleveAutoriteParentale
- ENTEleveINE
- ENTEleveTransport
- ENTPersonAutresPrenoms
- ENTPersonDateNaissance
- ENTPersonJointure
- ENTPersonNomPatro
- ENTPersonStructRattach
#2 Mis à jour par Joël Cuissinat il y a presque 4 ans
Attributs spécifiques 1D (fichier fourni)
ENTEleveCycle (exemple : "2$CYCLE II")
ENTEleveDateEntreeClasses
ENTEleveDateSortieClasses
ENTEleveEtudesSurveillees
ENTEleveGarderieMatin
ENTEleveGarderieSoir
ENTEleveNiveau (exemple : "1123$CE2")
ENTEleveRestaurantScolaire (O/N)
ENTEleveTypeClasse (exemple : "11$ORDINAIRE")ENTPersonCivilite
ENTPersonClasses (exemple : "8$11$ORDINAIRE$73196$Classe 5 CM1 CM2")
ENTPersonGroupes (exemple : "544$40$REGROUPEMENT$70800$UPE2A Mme NomMaitresse")ENTPersonNomENTPersonPrenom
#3 Mis à jour par Joël Cuissinat il y a presque 4 ans
Attributs spécifiques 2D (archive)
ENTEleveBoursier
ENTEleveClasses (exemple : "4931$3C")
ENTEleveCodeEnseignements
ENTEleveEnseignements
ENTEleveFiliere (exemples : "3EME" ou "4EME (NC 4E AES)")
ENTEleveGroupes (exemple : "2585$4A ESP L")
ENTEleveLibelleMEF (exemple : "3EME")
ENTEleveMEF (code MEF)
ENTEleveMere
ENTEleveNivFormation (exemples : "3EME" ou "4EME (NC 4E AES)")
ENTEleveParents
ENTElevePere
ENTElevePersRelEleve
ENTElevePersRelEleve1
ENTElevePersRelEleve2
ENTEleveQualitePersRelEleve1
ENTEleveQualitePersRelEleve2
ENTEleveRegime (exemples : "EXTERNE LIBRE", "DEMI-PENSIONNAIRE DANS L'ETABLISSEMENT")
ENTEleveStatutEleve
ENTEleveStructRattachIdgivenNamepersonalTitlesn
#4 Mis à jour par Joël Cuissinat il y a presque 4 ans
Attributs équivalents (possibilité de renommage à l'export ?)
- ENTPersonNom = sn
- ENTPersonPrenom = givenName
- ENTPersonCivilite = personalTitle
Autres rapprochements possibles
- ENTEleveCycle : à copier dans ENTEleveFiliere et/ou ENTEleveNivFormation
- ENTEleveNiveau : à découper en ENTEleveMEF + ENTEleveLibelleMEF
- ENTPersonClasses : copier les deux derniers champs dans ENTEleveClasses (+ étudier la signification des autres éléments)
- ENTPersonGroupes : copier les deux derniers champs dans ENTEleveGroupes
#5 Mis à jour par Joël Cuissinat il y a presque 4 ans
- Statut changé de Nouveau à En cours
#6 Mis à jour par Joël Cuissinat il y a presque 4 ans
- Assigné à mis à Joël Cuissinat
#7 Mis à jour par Joël Cuissinat il y a presque 4 ans
- Statut changé de En cours à Résolu
- % réalisé changé de 0 à 100
#8 Mis à jour par Joël Cuissinat il y a presque 4 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0
#9 Mis à jour par Joël Cuissinat il y a presque 4 ans
- "Quelques" attributs ignorés
unused_fields.extend(['ENTEleveDateEntreeClasses', 'ENTEleveDateSortieClasses', 'ENTEleveEtudesSurveillees', 'ENTEleveGarderieMatin', 'ENTEleveGarderieSoir', 'ENTEleveRestaurantScolaire', 'ENTEleveTypeClasse', 'ENTPersonClasses', 'ENTPersonGroupes', ])
- Quelques attributs renommés (code à placer dans la partie "commune" car ils sont utilisés pour générer les logins)
mapping = ( ('ENTPersonNom', 'sn'), ('ENTPersonPrenom', 'givenName'), ('ENTPersonCivilite', 'personalTitle'), ('ENTPersonMail', 'mail'), ) for k1d, k2d in mapping: if k1d in userdata: userdata[k2d] = userdata[k1d] del userdata[k1d]
- Gérer l'absence de 'ENTElevePersRelEleve' + niveau & classe (à placer sous le test spécifique
if usertype == 'eleve':
)if 'ENTEleveCycle' in userdata: # hack 1D userdata['ENTElevePersRelEleve'] = '' userdata['ENTEleveFiliere'] = userdata['ENTEleveCycle'] userdata['ENTEleveNivFormation'] = userdata['ENTEleveCycle'] (userdata['ENTEleveMEF'], userdata['ENTEleveLibelleMEF']) = userdata['ENTEleveNiveau'].split('$') userdata['ENTEleveClasses'] = '$'.join(userdata['ENTPersonClasses'].split('$')[-2:]) del userdata['ENTEleveCycle'] del userdata['ENTEleveNiveau'] del userdata['ENTPersonClasses'] userdata['ENTEleveStatutEleve'] = 'SCOLAIRE'
- TODO : ENTEleveClasses & ENTEleveGroupes (non bloquant à ce stade)