[x] Affiches les moyennes
+ par modules + prendre les max(id_notes) + ignorer là ou aucune note pour avoir un aperçu du niveau + par UE + prendre les max(id_notes) + ignorer là ou aucune note pour avoir un aperçu du niveau - par semestres + prendre les max(id_notes) + ignorer là ou aucune note pour avoir un aperçu du niveau
This commit is contained in:
parent
5b1081633b
commit
9271b5ff88
|
@ -968,26 +968,74 @@ class DataBase{
|
||||||
|
|
||||||
|
|
||||||
$parcours = semestreRepo::getParcours($etudiantUID);
|
$parcours = semestreRepo::getParcours($etudiantUID);
|
||||||
|
/* [1] Chaque semestre
|
||||||
|
==========================*/
|
||||||
foreach($parcours as $iter_s=>$semestre){
|
foreach($parcours as $iter_s=>$semestre){
|
||||||
$parcours[$iter_s]['UEs'] = ueRepo::forStudent($etudiantUID, $semestre['id']);
|
$parcours[$iter_s]['UEs'] = ueRepo::forStudent($etudiantUID, $semestre['id']);
|
||||||
|
|
||||||
|
/* CALCUL DE MOYENNE DU SEMESTRE */
|
||||||
|
$moyenneSemestre = 0; // contiendra la somme des valeurs*coefficients
|
||||||
|
$totalSemestre = 0; // contiendra la somme des coefficients
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] Chaque UE
|
||||||
|
==========================*/
|
||||||
foreach($parcours[$iter_s]['UEs'] as $iter_ue=>$UE){
|
foreach($parcours[$iter_s]['UEs'] as $iter_ue=>$UE){
|
||||||
$parcours[$iter_s]['UEs'][$iter_ue]['modules'] = moduleRepo::forStudent($UE['id'], $semestre['id']);
|
$parcours[$iter_s]['UEs'][$iter_ue]['modules'] = moduleRepo::forStudent($UE['id'], $semestre['id']);
|
||||||
|
|
||||||
|
/* CALCUL DE MOYENNE DE L'UE */
|
||||||
|
$moyenneUE = 0; // contiendra la somme des valeurs*coefficients
|
||||||
|
$totalUE = 0; // contiendra la somme des coefficients
|
||||||
|
|
||||||
|
/* [3] Chaque module
|
||||||
|
==========================*/
|
||||||
foreach($parcours[$iter_s]['UEs'][$iter_ue]['modules'] as $iter_mod=>$MOD){
|
foreach($parcours[$iter_s]['UEs'][$iter_ue]['modules'] as $iter_mod=>$MOD){
|
||||||
$parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'] = controleRepo::forStudent($MOD['id'], $semestre['id']);
|
$parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'] = controleRepo::forStudent($MOD['id'], $semestre['id']);
|
||||||
|
|
||||||
$parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['moyenne'] = noteRepo::moyenneModule($etudiantUID, $MOD['id'], $semestre['id']);
|
$parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['moyenne'] = noteRepo::moyenneModule($etudiantUID, $MOD['id'], $semestre['id']);
|
||||||
|
|
||||||
|
|
||||||
foreach($parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'] as $iter_ct=>$CONTROLE){
|
|
||||||
|
|
||||||
|
// on complète la moyenne de l'UE si le module a une moyenne
|
||||||
|
$tmpModule = $parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod];
|
||||||
|
|
||||||
|
if( !is_bool($tmpModule['moyenne']) ){
|
||||||
|
$moyenneUE += $tmpModule['moyenne']['moyenne']/$tmpModule['moyenne']['base'] * $tmpModule['coefficient'];
|
||||||
|
$totalUE += $tmpModule['coefficient'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* [4] Chaque contrôle
|
||||||
|
==========================*/
|
||||||
|
foreach($parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'] as $iter_ct=>$CONTROLE)
|
||||||
$parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['notes'] = noteRepo::forStudent($etudiantUID, $CONTROLE['id']);
|
$parcours[$iter_s]['UEs'][$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['notes'] = noteRepo::forStudent($etudiantUID, $CONTROLE['id']);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ENREGISTREMENT DE LA MOYENNE DE L'UE */
|
||||||
|
if( $totalUE == 0 ) // si la somme vaut 0, on retourne FALSE
|
||||||
|
$parcours[$iter_s]['UEs'][$iter_ue]['moyenne'] = false;
|
||||||
|
else
|
||||||
|
$parcours[$iter_s]['UEs'][$iter_ue]['moyenne'] = array('moyenne' => 20*$moyenneUE/$totalUE, 'base' => 20 );
|
||||||
|
|
||||||
|
|
||||||
|
// on complète la moyenne du semestre si l'UE a une moyenne
|
||||||
|
$tmpUE = $parcours[$iter_s]['UEs'][$iter_ue];
|
||||||
|
|
||||||
|
if( !is_bool($tmpUE['moyenne']) ){
|
||||||
|
$moyenneSemestre += $tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] * $tmpUE['coefficient'];
|
||||||
|
$totalSemestre += $tmpUE['coefficient'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ENREGISTREMENT DE LA MOYENNE DU SEMESTRE */
|
||||||
|
if( $totalSemestre == 0 ) // si la somme vaut 0, on retourne FALSE
|
||||||
|
$parcours[$iter_s]['moyenne'] = false;
|
||||||
|
else
|
||||||
|
$parcours[$iter_s]['moyenne'] = array('moyenne' => 20*$moyenneSemestre/$totalSemestre, 'base' => 20 );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $parcours;
|
return $parcours;
|
||||||
|
|
|
@ -244,7 +244,7 @@ class noteRepo{
|
||||||
AND app.id_etudiant = :etudiant
|
AND app.id_etudiant = :etudiant
|
||||||
AND mcc_m.id_module = :module
|
AND mcc_m.id_module = :module
|
||||||
AND app.id_semestre = :semestre
|
AND app.id_semestre = :semestre
|
||||||
AND note.id_note in (SELECT max(id_note) FROM note GROUP BY id_controle, id_appartenance)
|
AND note.id_note in (SELECT max(id_note) FROM note WHERE id_controle=ctrl.id_controle AND id_appartenance=app.id_appartenance GROUP BY id_controle, id_appartenance)
|
||||||
GROUP BY mcc_m.id_mcc_module");
|
GROUP BY mcc_m.id_mcc_module");
|
||||||
$getMoyenneModule->execute(array( ':etudiant' => $etudiant, ':module' => $module, ':semestre' => $semestre ));
|
$getMoyenneModule->execute(array( ':etudiant' => $etudiant, ':module' => $module, ':semestre' => $semestre ));
|
||||||
|
|
||||||
|
|
|
@ -1096,7 +1096,7 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
|
||||||
echo '</thead></table>';
|
echo '</thead></table>';
|
||||||
foreach($UE['modules'] as $module){ // pour chaque module
|
foreach($UE['modules'] as $module){ // pour chaque module
|
||||||
echo '<table class=basic><thead>';
|
echo '<table class=basic><thead>';
|
||||||
echo '<tr><th colspan=5>'.$module['nom'].' - '.$module['libelle'].'</th></tr></thead><tbody>';
|
echo "<tr><th colspan=5>".$module['nom']." - ".$module['libelle']." <span class='unstressed' style='font-weight:normal'>(coeff. ".$module['coefficient'].")</span></th></tr></thead><tbody>";
|
||||||
|
|
||||||
foreach($module['controles'] as $controle){ // pour chaque contrôle
|
foreach($module['controles'] as $controle){ // pour chaque contrôle
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
|
@ -1114,10 +1114,25 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
|
||||||
// moyenne du module
|
// moyenne du module
|
||||||
// echo "<td colspan=4><span class='stressed'>Moyenne du module</span></td>";
|
// echo "<td colspan=4><span class='stressed'>Moyenne du module</span></td>";
|
||||||
echo "<tr class='transparentbg noborder'>";
|
echo "<tr class='transparentbg noborder'>";
|
||||||
|
|
||||||
|
/* MOYENNE MODULE */
|
||||||
if( is_bool($module['moyenne']) ) // si aucune note pour ce controle on affiche 'Pas de note'
|
if( is_bool($module['moyenne']) ) // si aucune note pour ce controle on affiche 'Pas de note'
|
||||||
echo "<td colspan=4><span class='link stressed' style='padding:1em; background:white;'>Pas de moyenne</span></td>";
|
echo "<td colspan=1><span class='link stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
||||||
else // si une note, alors on l'affiche
|
else // si une note, alors on l'affiche
|
||||||
echo "<td colspan=4><span class='link stressed' style='padding:1em; background:white;'>moyenne de ".number_format($module['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$module['moyenne']['base']."</span></td>";
|
echo "<td colspan=1><span class='link' style='padding:.5em 1em; background:white;'>Moyenne module: <strong>".number_format($module['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$module['moyenne']['base']."</span></strong></td>";
|
||||||
|
|
||||||
|
/* MOYENNE UE */
|
||||||
|
if( is_bool($UE['moyenne']) ) // si aucune note pour cet UE on affiche 'Pas de moyenne'
|
||||||
|
echo "<td colspan=1><span class='link stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
||||||
|
else // si un moyenne, alors on l'affiche
|
||||||
|
echo "<td colspan=1><span class='link' style='padding:.5em 1em; background:white;'>Moyenne UE: <strong>".number_format($UE['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$UE['moyenne']['base']."</span></strong></td>";
|
||||||
|
|
||||||
|
/* MOYENNE SEMESTRE */
|
||||||
|
if( is_bool($semestre['moyenne']) ) // si aucune note pour ce semestre on affiche 'Pas de moyenne'
|
||||||
|
echo "<td colspan=1><span class='link stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
||||||
|
else // si un moyenne, alors on l'affiche
|
||||||
|
echo "<td colspan=1><span class='link' style='padding:.5em 1em; background:white;'>Moyenne semestre: <strong>".number_format($semestre['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$semestre['moyenne']['base']."</span></strong></td>";
|
||||||
|
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue