Project

General

Profile

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)

Added by Joël Cuissinat 3 months ago. Updated 2 months ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
06/23/2020
Due date:
% Done:

100%

Estimated time:
0.00 h
Remaining (hours):
0.0

History

#1 Updated by Joël Cuissinat 3 months ago

Attributs communs
  • ENTEleveAutoriteParentale
  • ENTEleveINE
  • ENTEleveTransport
  • ENTPersonAutresPrenoms
  • ENTPersonDateNaissance
  • ENTPersonJointure
  • ENTPersonNomPatro
  • ENTPersonStructRattach

#2 Updated by Joël Cuissinat 3 months ago

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")
ENTPersonNom
ENTPersonPrenom

#3 Updated by Joël Cuissinat 3 months ago

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
ENTEleveStructRattachId
givenName
personalTitle
sn

#4 Updated by Joël Cuissinat 3 months ago

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 Updated by Joël Cuissinat 3 months ago

  • Status changed from Nouveau to En cours

#6 Updated by Joël Cuissinat 3 months ago

  • Assigned To set to Joël Cuissinat

#7 Updated by Joël Cuissinat 3 months ago

  • Status changed from En cours to Résolu
  • % Done changed from 0 to 100

#8 Updated by Joël Cuissinat 3 months ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) set to 0.0

#9 Updated by Joël Cuissinat 2 months ago

Adaptations possibles pour l'importation :
  • "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)

Also available in: Atom PDF