forked from ScoDoc/DocScoDoc
Modif bonus Tarbes, qui a la même logique que celui de Rennes 1
This commit is contained in:
parent
1dc6dd3d6d
commit
c890e21ed0
@ -730,7 +730,7 @@ class BonusIUTRennes1(BonusSportAdditif):
|
|||||||
seuil_moy_gen = 10.0
|
seuil_moy_gen = 10.0
|
||||||
proportion_point = 1 / 20.0
|
proportion_point = 1 / 20.0
|
||||||
classic_use_bonus_ues = False
|
classic_use_bonus_ues = False
|
||||||
# Adapté de BonusTarbes, mais s'applique aussi en classic
|
# S'applique aussi en classic, sur la moy. gen.
|
||||||
def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan):
|
def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan):
|
||||||
"""calcul du bonus"""
|
"""calcul du bonus"""
|
||||||
# Prend la note de chaque modimpl, sans considération d'UE
|
# Prend la note de chaque modimpl, sans considération d'UE
|
||||||
@ -1067,14 +1067,15 @@ class BonusStNazaire(BonusSportMultiplicatif):
|
|||||||
factor_max = 0.1 # 10% max
|
factor_max = 0.1 # 10% max
|
||||||
|
|
||||||
|
|
||||||
class BonusTarbes(BonusSportAdditif):
|
class BonusTarbes(BonusIUTRennes1):
|
||||||
"""Calcul bonus optionnels (sport, culture), règle IUT de Tarbes.
|
"""Calcul bonus optionnels (sport, culture), règle IUT de Tarbes.
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Les étudiants opeuvent suivre un ou plusieurs activités optionnelles notées.
|
<li>Les étudiants opeuvent suivre un ou plusieurs activités optionnelles notées.
|
||||||
La meilleure des notes obtenue est prise en compte, si elle est supérieure à 10/20.
|
La meilleure des notes obtenue est prise en compte, si elle est supérieure à 10/20.
|
||||||
</li>
|
</li>
|
||||||
<li>Le trentième des points au dessus de 10 est ajouté à la moyenne des UE.
|
<li>Le trentième des points au dessus de 10 est ajouté à la moyenne des UE en BUT,
|
||||||
|
ou à la moyenne générale en DUT et LP.
|
||||||
</li>
|
</li>
|
||||||
<li> Exemple: un étudiant ayant 16/20 bénéficiera d'un bonus de (16-10)/30 = 0,2 points
|
<li> Exemple: un étudiant ayant 16/20 bénéficiera d'un bonus de (16-10)/30 = 0,2 points
|
||||||
sur chaque UE.
|
sur chaque UE.
|
||||||
@ -1088,29 +1089,6 @@ class BonusTarbes(BonusSportAdditif):
|
|||||||
proportion_point = 1 / 30.0
|
proportion_point = 1 / 30.0
|
||||||
classic_use_bonus_ues = True
|
classic_use_bonus_ues = True
|
||||||
|
|
||||||
def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan):
|
|
||||||
"""calcul du bonus"""
|
|
||||||
# Prend la note de chaque modimpl, sans considération d'UE
|
|
||||||
if len(sem_modimpl_moys_inscrits.shape) > 2: # apc
|
|
||||||
sem_modimpl_moys_inscrits = sem_modimpl_moys_inscrits[:, :, 0]
|
|
||||||
# ici sem_modimpl_moys_inscrits est nb_etuds x nb_mods_bonus, en APC et en classic
|
|
||||||
note_bonus_max = np.max(sem_modimpl_moys_inscrits, axis=1) # 1d, nb_etuds
|
|
||||||
ues = self.formsemestre.query_ues(with_sport=False).all()
|
|
||||||
ues_idx = [ue.id for ue in ues]
|
|
||||||
|
|
||||||
if self.formsemestre.formation.is_apc(): # --- BUT
|
|
||||||
bonus_moy_arr = np.where(
|
|
||||||
note_bonus_max > self.seuil_moy_gen,
|
|
||||||
(note_bonus_max - self.seuil_moy_gen) * self.proportion_point,
|
|
||||||
0.0,
|
|
||||||
)
|
|
||||||
self.bonus_ues = pd.DataFrame(
|
|
||||||
np.stack([bonus_moy_arr] * len(ues)).T,
|
|
||||||
index=self.etuds_idx,
|
|
||||||
columns=ues_idx,
|
|
||||||
dtype=float,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class BonusTours(BonusDirect):
|
class BonusTours(BonusDirect):
|
||||||
"""Calcul bonus sport & culture IUT Tours.
|
"""Calcul bonus sport & culture IUT Tours.
|
||||||
|
Loading…
Reference in New Issue
Block a user