From dca82ad1bdbcc9bbfb3e4f56a8f37b013c1f83bb Mon Sep 17 00:00:00 2001 From: oesi Date: Fri, 11 Dec 2015 08:21:22 +0100 Subject: [PATCH] =?UTF-8?q?Gewichtung=20f=C3=BCr=20Lehreinheiten=20hinzuge?= =?UTF-8?q?f=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../benotungstool/lvgesamtnoteverwalten.php | 80 +++++++++++++++++-- config/global.config-default.inc.php | 3 + content/lvplanung/lehrveranstaltungDBDML.php | 1 + .../lehrveranstaltungdetailoverlay.xul.php | 4 + .../lvplanung/lehrveranstaltungoverlay.js.php | 6 ++ include/lehreinheit.class.php | 16 +++- include/moodle24_course.class.php | 18 +++++ rdf/lehreinheit.rdf.php | 29 +++---- rdf/lehrveranstaltung_einheiten.rdf.php | 35 ++++---- system/dbupdate_3.2.php | 17 +++- 10 files changed, 164 insertions(+), 45 deletions(-) diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 9e6459271..9aa89fd81 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -837,6 +837,27 @@ echo " $moodle24_course_bezeichnung[$obj->mdl_course_id]=$moodle24course->mdl_shortname; } + + if(!isset($moodle24_course_gewicht[$obj->mdl_course_id])) + { + $mdl_obj = new moodle24_course(); + $mdl_lehreinheiten=$mdl_obj->getLeFromCourse($obj->mdl_course_id); + + foreach($mdl_lehreinheiten as $row_mdl_lehreinheit) + { + if($row_mdl_lehreinheit!='') + { + $lehreinheit_gewicht_obj = new lehreinheit(); + $lehreinheit_gewicht_obj->load($row_mdl_lehreinheit); + + if($lehreinheit_gewicht_obj->gewicht!='') + { + $moodle24_course_gewicht[$obj->mdl_course_id]=$lehreinheit_gewicht_obj->gewicht; + break; + } + } + } + } } } } @@ -870,6 +891,8 @@ echo " $note_les_str = ''; $le_anz = 0; $note_le = 0; + $note_le_gewichtet=0; + $gewichtsumme=0; $note=0; if($grade_from_moodle) { @@ -916,7 +939,9 @@ echo " if (is_numeric($note)) { $note_le += $note; - $le_anz += 1; + $note_le_gewichtet +=$note*$gewichtung; + $gewichtsumme+=$gewichtung; + $le_anz += 1; } if ($note == 5) $leneg = " style='color:red; font-weight:bold'"; @@ -966,7 +991,15 @@ echo " { if($moodle24_noten->uid==$row_stud->uid) { + $gewichtung=1; $note_le+=$moodle24_noten->note; + if(isset($moodle24_course_gewicht[$moodle24_noten->mdl_course_id])) + $gewichtung=$moodle24_course_gewicht[$moodle24_noten->mdl_course_id]; + + if($gewichtung=='') + $gewichtung=1; + $note_le_gewichtet+=$moodle24_noten->note*$gewichtung; + $gewichtsumme+=$gewichtung; $le_anz+=1; //if ($moodle24_noten->note == 5) // $leneg = " style='color:red; font-weight:bold'"; @@ -975,7 +1008,9 @@ echo " $title="Moodle KursID: ".$moodle24_noten->mdl_course_id. "\nKursbezeichnung: ".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id]. "\nUser: ".$moodle24_noten->uid. - "\nNote: $moodle24_noten->note"; + "\nNote: ".$moodle24_noten->note; + if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG) + $title.="\nGewichtung: ".$gewichtung; $note_les_str .= "
".$moodle24_noten->note." (".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].") "; } @@ -998,12 +1033,23 @@ echo " else { $note_le += $legesamtnote->note; - $le_anz += 1; + + $gewicht = $l->gewicht; + if($l->gewicht=='') + $gewicht = 1; + $note_le_gewichtet+=$legesamtnote->note*$gewicht; + $gewichtsumme+=$gewicht; + + $le_anz += 1; if ($legesamtnote->note == 5) $leneg = " style='color:red; font-weight:bold'"; else $leneg = ""; - $note_les_str .= "".$legesamtnote->note." (".$l->lehreinheit_id.") "; + if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG) + $title='Gewichtung: '.$l->gewicht; + else + $title=''; + $note_les_str .= ''.$legesamtnote->note.' ('.$l->lehreinheit_id.') '; } } } @@ -1026,13 +1072,31 @@ echo " { if(CIS_GESAMTNOTE_PUNKTE) { - $punkte_vorschlag = round($note_le/$le_anz,2); - $notenschluessel = new notenschluessel(); - $note_vorschlag = $notenschluessel->getNote($punkte_vorschlag, $lvid, $stsem); + if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG) + { + // Lehreinheitsgewichtung + $punkte_vorschlag = round($note_le_gewichtet/$gewichtsumme,2); + $notenschluessel = new notenschluessel(); + $note_vorschlag = $notenschluessel->getNote($punkte_vorschlag, $lvid, $stsem); + } + else + { + $punkte_vorschlag = round($note_le/$le_anz,2); + $notenschluessel = new notenschluessel(); + $note_vorschlag = $notenschluessel->getNote($punkte_vorschlag, $lvid, $stsem); + } } else { - $note_vorschlag = round($note_le/$le_anz); + if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG) + { + $note_vorschlag = round($note_le_gewichtet/$gewichtsumme); + } + else + { + $note_vorschlag = round($note_le/$le_anz); + } + } } else diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 7347901e2..9e301727e 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -56,6 +56,9 @@ define('CIS_GESAMTNOTE_PUNKTE',false); // Gibt an ob der Lektor erneut eine LVNote eintragen kann wenn bereits eine Zeugnisnote vorhanden ist (true | false) DEFAULT true define('CIS_GESAMTNOTE_UEBERSCHREIBEN',true); +// Gewichtung der Lehreinheiten bei Noteneintragung true|false +define('CIS_GESAMTNOTE_GEWICHTUNG', true); + // Gibt an ob im FAS bei den Lehrveranstaltungsnoten ein zusaetzliches Formular angezeigt wird um // Vertraege fuer Pruefungshonorare anzulegen define('FAS_GESAMTNOTE_PRUEFUNGSHONORAR',false); diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php index 2650401d3..6b3394ae2 100644 --- a/content/lvplanung/lehrveranstaltungDBDML.php +++ b/content/lvplanung/lehrveranstaltungDBDML.php @@ -1251,6 +1251,7 @@ if(!$error) $leDAO->lehrform_kurzbz=$_POST['lehrform']; $leDAO->stundenblockung=$_POST['stundenblockung']; $leDAO->wochenrythmus=$_POST['wochenrythmus']; + $leDAO->gewicht = $_POST['gewicht']; if (isset($_POST['start_kw'])) $leDAO->start_kw=$_POST['start_kw']; diff --git a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php index e77a5c86d..17c929b4b 100644 --- a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php +++ b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php @@ -26,6 +26,7 @@ header("Expires Mon, 26 Jul 1997 05:00:00 GMT"); header("Pragma: no-cache"); header("Content-type: application/vnd.mozilla.xul+xml"); require_once('../../config/vilesci.config.inc.php'); +require_once('../../config/global.config.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); $user = get_uid(); @@ -118,6 +119,9 @@ echo '';