Récupère un coefficient dans la table des coefficients (le plus grand) pour calculer les moyennes par tag.

This commit is contained in:
Yann Leboulanger 2022-12-13 14:33:08 +01:00
parent 0fe80696d5
commit 939c18d602
1 changed files with 5 additions and 4 deletions

View File

@ -118,11 +118,12 @@ class SemestreTag(pe_tagtable.TableTag):
for modimpl in self.nt.formsemestre.modimpls_sorted
if modimpl.module.ue.type == sco_codes_parcours.UE_STANDARD
] # la liste des modules (objet modimpl)
self.res: ResultatsSemestreBUT = res_sem.load_formsemestre_results(self.nt.formsemestre)
self.somme_coeffs = sum(
[
modimpl.module.coefficient
if modimpl.module.coefficient is not None else max(self.res.modimpl_coefs_df[modimpl.id])
for modimpl in self.modimpls
if modimpl.module.coefficient is not None
]
)
@ -184,7 +185,7 @@ class SemestreTag(pe_tagtable.TableTag):
# Ajout du modimpl au tagname considéré
tagdict[tagname][modimpl_id] = {
"module_id": modimpl.module.id, # les données sur le module
"coeff": modimpl.module.coefficient, # le coeff du module dans le semestre
"coeff": modimpl.module.coefficient if modimpl.module.coefficient is not None else max(self.res.modimpl_coefs_df[modimpl.id]), # le coeff du module dans le semestre
"ponderation": ponderation, # la pondération demandée pour le tag sur le module
"module_code": modimpl.module.code, # le code qui doit se retrouver à l'identique dans des ue capitalisee
"ue_id": modimpl.module.ue.id, # les données sur l'ue
@ -256,7 +257,7 @@ class SemestreTag(pe_tagtable.TableTag):
# Si le module ne fait pas partie des UE capitalisées
if modimpl.module.ue.id not in ue_capitalisees_id:
note = self.nt.get_etud_mod_moy(modimpl_id, etudid) # lecture de la note
coeff = modimpl.module.coefficient # le coeff
coeff = modimpl.module.coefficient if modimpl.module.coefficient is not None else max(self.res.modimpl_coefs_df[modimpl.id]) # le coeff
coeff_norm = (
coeff / self.somme_coeffs if self.somme_coeffs != 0 else 0
) # le coeff normalisé
@ -298,7 +299,7 @@ class SemestreTag(pe_tagtable.TableTag):
note = self.nt.get_etud_mod_moy(
modimpl_id, etudid
) # lecture de la note
coeff = modimpl.module.coefficient # le coeff
coeff = modimpl.module.coefficient if modimpl.module.coefficient is not None else max(self.res.modimpl_coefs_df[modimpl.id]) # le coeff
coeff_norm = (
coeff / self.somme_coeffs if self.somme_coeffs != 0 else 0
) # le coeff normalisé