betagouv / aplypro

Aplypro - Allocation pour les lycéens pro
6 stars 3 forks source link

Gestion du changement d'année #497

Closed AlainSN2 closed 4 months ago

AlainSN2 commented 8 months ago

Permettre au chef d'établissement de consulter l'historique par année scolaire : à préciser. Quels historiques : par année, classe, élève, PFMP, montant total ou par PFMP, statut paiement, les DA et les états liquidatifs ?

La DA est annuelle (année scolaire) et l'élève pourra (cas du report) faire des stages l'année scolaire suivante rattachés à la DA de l'année N-1 : cas du plafond max non atteint (report de PFMP) : possibilité d'accéder au calendrier N-1 dans ce cas. Dans ajout d'une PFMP individuelle : permettre de saisir sur l'année précédente uniquement dans ce cas en affichant le reliqua du plafond non atteint l'année précédente.

Définition d'un report : aléas (entreprise fermée en milieu de stage, absence de l'élève ...) qui a fait que l'élève n'a pas pu réaliser tous ses stages lors de l'année N-1

Besoin de rattacher ces stages à la DA de l'année précédente : consultation et réédition de cette DA. Quid du changement de CE : faut-il rééditer une DA sinon l'ordonnateur du paiement serait différent de l'ordonnateur figurant sur la DA ? A voir avec l'ASP ? Demander au chef d'établissement la possibilité de se déclarer à chaque début d'année et si changement de CE : mettre à jour la DA.

Sauf cas des reports : Empêcher la saisie de PFMP sur l'année scolaire précédente au démarrage de la nouvelle année scolaire (01/09 au 31/08) : empêcher d'antidater des PFMP. Gestion des campagnes : sans objet

Suite au changement d'année scolaire : Elèves sortis du lycée professionnel (changements d'établissement, fin de scolarité, MEF) : pouvoir accéder à N-1 en consultation. Elèves déja dans APLyPro l'année scolaire précédente : initialiser le RIB par défaut avec le RIB de l'année précédente et permettre de saisir un nouveau RIB : conservation des RIB et case à cocher pour choisir le RIB actif. Pour les élèves devenus majeurs l'année précédente après leur dernière PFMP : mentionner qu'il faut changer de RIB Dans tous les cas le RIB de l'année précédente ne doit pas être modifié.

Prévoir de rechercher un élève par nom prénom pour faciliter son suivi.

Solution SI à mettre en œuvre : rajouter une table avec une premier ligne pour l'année courante, rattacher toutes les scolarités actuelles à cette année là, et faire en sorte que chaque été une nouvelle année soit créée dans la table et que les nouvelles scolarités récupérées y soient automatiquement rattachées.

JeSuisUnCaillou commented 7 months ago

Techniquement

Il faut qu'on prépare une table school_year et un modèle SchoolYear qui contient les dates de début et de fin de l'année scolaire. La table avec une relation belongs_to entre Classe et SchoolYear pour "versionner" la classe.

Y'a aussi une relation entre Mef et SchoolYear peut-être, pour le versionning des mefs. Et je pense que c'est tout, les pfmps étant reliées aux schoolings, qui sont reliées au classes, on aurait tout rattaché à une année scolaire.

Et faudrait scoper quasi toutes les routes dansschool_year/:id/... Et ajouter un sélecteur de schoolyear dans la home, et/ou dans le bandeau d'établissement.

Et on aurait une méthode SchoolYear#current pour choper la current par défaut.

ATTENTION : vérifier quand se fait la bascule d'année dans SYGNE et FREGATA pour ne pas créer trop tôt plein d'élèves rattachés à l'année 2023-2024 alors qu'ils seront de l'année 2024-2025.

Les codes de budget ASP

Il y a aussi un sujet sur les codes de budgets à utiliser pour envoyer une demande à l'ASP. Il faudrait mettre ces codes en base et pouvoir les relier à l'année civile. Contacter Gaëtan de l'ASP pour déterminer ces nouveaux codes pour 2025.

Ces codes sont aujourd'hui stockés dans des variables d'env : APLYPRO_ASP_MASA_UNITE_SUIVI APLYPRO_ASP_MENJ_PRIVATE_UNITE_SUIVI APLYPRO_ASP_MENJ_PUBLIC_UNITE_SUIVI APLYPRO_ASP_MER_UNITE_SUIVI

AlainSN2 commented 7 months ago

A traiter avec carte #476

JeSuisUnCaillou commented 6 months ago

Idée pour gérer de manière souple la création de nouvelles classes rattachées à une nouvelle année scolaire :

Dans ce fichier : https://github.com/betagouv/aplypro/blob/stats_of_payments/app/models/student/mappers/sygne.rb On y parse le résultat de la liste des élèves d'un établissement (exemple de mock ici ). L'idée c'est de faire une requête supplémentaire par étudiant pour récupérer la date de début de sa scolarité pour savoir à quelle année scolaire doit être rattachée la classe.

Ca va rendre plus long la récupération d'élèves, mais l'avantage c'est qu'on récupèrera directement toutes les données complètes de chaque élève au passage (notamment les adresses et la codeSexe).

Ce la permettra aussi de récupérer directement les vraies dates de début et de fin de scolarité de chaque élève, plutôt que de les créer arbitrairement à chaque récupération de liste d'élèves.

Explication plus détaillée de cette mécanique de création de schooling

https://github.com/betagouv/aplypro/blob/stats_of_payments/app/models/student/mappers/sygne.rb/#L45-L54

Aujourd'hui, quand on récupère la liste des scolarités d'un établissement, on observe les scolarités existantes et celles qu'on récupères de SYGNE ou FREGATA. Si une existante n'est plus dans la liste de SYGNE, alors on la ferme (date de fin = today). Si une de la liste de SYGNE n'est pas dans les existantes, alors on la crée.

gtournadre commented 5 months ago

Analyse_Changement_Annee_Scolaire.pdf