From 776d448fbaece82548868086de5141130ca654e4 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Tue, 2 Nov 2021 10:41:41 +0100 Subject: [PATCH] Erweiterung Gesamtnotenliste um Double Degree Program --- .../benotungstool/lvgesamtnoteverwalten.php | 36 +++++++++++++++-- include/prestudent.class.php | 39 +++++++++++++++++++ 2 files changed, 71 insertions(+), 4 deletions(-) diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 407502178..beca444ec 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -45,6 +45,8 @@ require_once ('../../../../include/note.class.php'); require_once ('../../../../include/notenschluessel.class.php'); require_once ('../../../../include/studienplan.class.php'); require_once ('../../../../include/addon.class.php'); +require_once ('../../../../include/mobilitaet.class.php'); +require_once ('../../../../include/prestudent.class.php'); $summe_stud = 0; $summe_t2 = 0; @@ -80,6 +82,8 @@ if (! $lv_obj->load($lvid)) // Studiengang laden $stg_obj = new studiengang($lv_obj->studiengang_kz); +$stg_obj->studiengang_kz; + $datum_obj = new datum(); if (isset($_GET['stsem'])) @@ -901,7 +905,7 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1)) if ($neuenoten > 0) { $lv = new lehrveranstaltung($lvid); - $sg = new studiengang($lv->studiengang_kz); + echo $sg = new studiengang($lv->studiengang_kz); $lektor_adresse = $user . "@" . DOMAIN; $adressen = $sg->email . ", " . $user . "@" . DOMAIN; @@ -1113,8 +1117,8 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG campus.vw_student_lehrveranstaltung JOIN campus.vw_student USING(uid) WHERE - studiensemester_kurzbz = " . $db->db_add_param($stsem) . " - AND lehrveranstaltung_id = " . $db->db_add_param($lvid) . " + studiensemester_kurzbz = ". $db->db_add_param($stsem). " + AND lehrveranstaltung_id = ". $db->db_add_param($lvid). " ORDER BY nachname, vorname "; if ($result_stud = $db->db_query($qry_stud)) @@ -1122,11 +1126,28 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG $i = 1; $errorshown = false; $summe_stud = $db->db_num_rows($result_stud); + + //Ergänzung um Mobility-Eintrag (d.d.) while ($row_stud = $db->db_fetch_object($result_stud)) { $grades[$row_stud->uid]['vorname'] = $row_stud->vorname; $grades[$row_stud->uid]['nachname'] = $row_stud->nachname; + $ps = new prestudent(); + $prestudent_id = $ps->getPrestudentFromBenutzer($row_stud->uid, $stg_obj->studiengang_kz, $stsem); + $mobility = new mobilitaet(); + $mobility->loadPrestudent($prestudent_id); + $output = $mobility->result; + $eintrag = ''; + + foreach ($output as $k) + { + if($k->mobilitaetstyp_kurzbz == 'GS') + $eintrag = ' (d.d.)'; + } + + $grades[$row_stud->uid]['mobility'] = $eintrag; + // Noten aus Uebungstool $le = new lehreinheit(); $le->load_lehreinheiten($lvid, $stsem); @@ -1167,12 +1188,13 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG $anzahlChanged = 0; foreach ($grades as $uid => $data) + //Ausgabe Array { $htmlstring .= ' ' . $db->convert_html_chars($uid) . ' ' . $db->convert_html_chars($data['nachname']) . ' - ' . $db->convert_html_chars($data['vorname']) . ''; + ' . $db->convert_html_chars($data['vorname']) . $db->convert_html_chars($data['mobility']) .''; // Bereits eingetragene Note ermitteln if ($lvgesamtnote = new lvgesamtnote($lvid, $uid, $stsem)) @@ -1619,5 +1641,11 @@ echo $htmlstring;
+
+
+

Legende

+

(d.d.)... Double Degree Program

+
+ diff --git a/include/prestudent.class.php b/include/prestudent.class.php index ab1e329dd..b5f9912d9 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2463,4 +2463,43 @@ class prestudent extends person return false; } } + + /** + * Ermittelt den Prestudenten mithilfe der UID, des Studiengangs und des Semesters + * @param string $uid UID des Benutzers (zum Beispiel se15m007). + * @param int $stg_kz Kennzeichen Studiengang (zum Beispiel 299). + * @param string $stsem Semesterkurzbezeichnung (zum Beispiel WS2021). + * @return int prestudent_id + */ + public function getPrestudentFromBenutzer($uid, $stg_kz, $stsem) + { + $qry = "SELECT + prestudent_id + FROM public.tbl_benutzer + JOIN public.tbl_prestudent USING (person_id) + JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE uid = ".$this->db_add_param($uid)." + AND studiengang_kz = ".$this->db_add_param($stg_kz, FHC_INTEGER)." + AND studiensemester_kurzbz = ".$this->db_add_param($stsem)." + AND status_kurzbz = 'Student';"; + + if ($this->db_query($qry)) + { + if ($row = $this->db_fetch_object()) + { + $prestudent_id = $row->prestudent_id; + return $prestudent_id; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } }