From 9e4c19a2920456db10e4dfdf18f8b8d9ee843633 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Fri, 18 Feb 2022 12:12:16 +0100 Subject: [PATCH 1/3] Fix: coefs absents en formations classiques plantaient bonus sport nouvelle formule --- app/comp/res_classic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/comp/res_classic.py b/app/comp/res_classic.py index 2caf515c..543772d3 100644 --- a/app/comp/res_classic.py +++ b/app/comp/res_classic.py @@ -60,7 +60,7 @@ class ResultatsSemestreClassic(NotesTableCompat): ) self.modimpl_inscr_df = inscr_mod.df_load_modimpl_inscr(self.formsemestre) self.modimpl_coefs = np.array( - [m.module.coefficient for m in self.formsemestre.modimpls_sorted] + [m.module.coefficient or 0.0 for m in self.formsemestre.modimpls_sorted] ) self.modimpl_idx = { m.id: i for i, m in enumerate(self.formsemestre.modimpls_sorted) From 89db5cf85894cad7b3780aafb2535a777b28eed4 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Fri, 18 Feb 2022 13:59:39 +0100 Subject: [PATCH 2/3] Pour tests: modif calcul bonus DUT : UE vers moy. gen. --- app/comp/res_classic.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/comp/res_classic.py b/app/comp/res_classic.py index 543772d3..007654d2 100644 --- a/app/comp/res_classic.py +++ b/app/comp/res_classic.py @@ -113,11 +113,19 @@ class ResultatsSemestreClassic(NotesTableCompat): self.etud_moy_ue += self.bonus_ues # somme les dataframes self.etud_moy_ue.clip(lower=0.0, upper=20.0, inplace=True) bonus_mg = bonus.get_bonus_moy_gen() - if bonus_mg is not None: + if bonus_mg is None and self.bonus_ues is not None: + # pas de bonus explicite sur la moyenne générale + # on l'ajuste pour refléter les modifs d'UE, à l'aide des coefs d'UE. + self.etud_moy_gen -= (self.etud_coef_ue_df * self.bonus_ues).sum( + axis=1 + ) / self.etud_coef_ue_df.sum(axis=1) + elif bonus_mg: + # Applique le bonus moyenne générale renvoyé self.etud_moy_gen += bonus_mg - self.etud_moy_gen.clip(lower=0.0, upper=20.0, inplace=True) - # compat nt, utilisé pour l'afficher sur les bulletins: - self.bonus = bonus_mg + + self.etud_moy_gen.clip(lower=0.0, upper=20.0, inplace=True) + # compat nt, utilisé pour l'afficher sur les bulletins: + self.bonus = bonus_mg # --- UE capitalisées self.apply_capitalisation() From fffba011ea931a9e22d479837d271e3defc4a3d4 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Fri, 18 Feb 2022 14:05:48 +0100 Subject: [PATCH 3/3] Pour tests: modif calcul bonus DUT (corrige erreur de signe) --- app/comp/res_classic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/comp/res_classic.py b/app/comp/res_classic.py index 007654d2..28f3952b 100644 --- a/app/comp/res_classic.py +++ b/app/comp/res_classic.py @@ -116,7 +116,7 @@ class ResultatsSemestreClassic(NotesTableCompat): if bonus_mg is None and self.bonus_ues is not None: # pas de bonus explicite sur la moyenne générale # on l'ajuste pour refléter les modifs d'UE, à l'aide des coefs d'UE. - self.etud_moy_gen -= (self.etud_coef_ue_df * self.bonus_ues).sum( + self.etud_moy_gen += (self.etud_coef_ue_df * self.bonus_ues).sum( axis=1 ) / self.etud_coef_ue_df.sum(axis=1) elif bonus_mg: