, * Andreas Oesterreicher and * Rudolf Hangl and * Gerald Raab . */ // content type setzen header("Content-type: application/xhtml+xml"); require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/datum.class.php'); require_once('../include/basis_db.class.php'); require_once('../include/studiengang.class.php'); require_once('../include/prestudent.class.php'); require_once('../include/studienordnung.class.php'); require_once('../include/mitarbeiter.class.php'); require_once('../include/studiensemester.class.php'); require_once('../include/student.class.php'); require_once('../include/firma.class.php'); require_once('../include/note.class.php'); $datum = new datum(); $db = new basis_db(); if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") { if(isset($_GET['uid'])) $uid = $_GET['uid']; else $uid = null; $uid_arr = explode(";",$uid); echo " "; echo ""; for ($i = 0; $i < sizeof($uid_arr); $i++) { if($uid_arr[$i]=='') continue; $query = "SELECT vw_student.vorname, vw_student.nachname, vw_student.vornamen, vw_student.gebdatum, vw_student.matrikelnr, vw_student.prestudent_id, tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studiengang.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.mischform, tbl_studiengang.max_semester, tbl_studiengang.orgform_kurzbz FROM campus.vw_student JOIN public.tbl_studiengang USING(studiengang_kz) WHERE uid = ".$db->db_add_param($uid_arr[$i]); if($db->db_query($query)) { if(!$row = $db->db_fetch_object()) die('Student not found'.$uid_arr[$i]); } else die('Student not found'.$uid_arr[$i]); //Bei DEW und DPW werden 60 ECTS angerechnet if($row->studiengang_kz==92 || $row->studiengang_kz==91) $angerechnete_sws=60; else $angerechnete_sws=0; //Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen if ($row->studiengang_kz<0) { $stg = new studiengang(); $stg->load($row->studiengang_kz); $studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($row->studiengang_kz)); } else $studiengang_kz = sprintf("%04s", abs($row->studiengang_kz)); echo ' '; echo ' nachname.']]>'; echo ' vorname.']]>'; echo ' vornamen.']]>'; echo ' vorname.' '.$row->nachname.']]>'; echo ' convertISODate($row->gebdatum).']]>'; echo ' '.TRIM($row->matrikelnr).''; echo ' '.$studiengang_kz.''; $prestudent = new prestudent($row->prestudent_id); if ($prestudent->getLastStatus($row->prestudent_id, null, 'Student')) { $studienplan_id = $prestudent->studienplan_id; $studienordnung = new studienordnung(); if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id)) { $studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung'); $studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch'); } } $studiengang_bezeichnung = empty($studiengangbezeichnung) ? $row->bezeichnung : $studiengangbezeichnung; $studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $row->english : $studiengangbezeichnung_englisch; echo ' '; echo ' '; $prestudent = new prestudent(); $prestudent->getFirstStatus($row->prestudent_id, 'Student'); $semesterNumberStart = $prestudent->ausbildungssemester; //ECTS-Punkte die bei Quereinsteigern angerechnet werden if($semesterNumberStart>1) { $angerechneteECTS=($semesterNumberStart-1)*30; // 30 ECTS pro Semester echo ' '.$angerechneteECTS.''; } echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; echo ' '.$prestudent->ausbildungssemester.''; $prestudent->getLastStatus($row->prestudent_id, null); $semesterNumberEnd = $prestudent->ausbildungssemester; echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; echo ' '.$prestudent->ausbildungssemester.''; switch ($row->typ) { case 'b': $bezeichnung = 'Bachelor'; break; case 'm': $bezeichnung = 'Master'; break; case 'd': $bezeichnung = 'Diplom'; break; default: $bezeichnung = ''; break; } echo ' '.$bezeichnung.''; $bez = $row->typ; //Unterrichtssprache $sprache_deutsch=''; $sprache_englisch=''; if($row->mischform=='t') { //Bei Mischformen, die LVs auf Orgform filtern $prestudent = new prestudent(); $prestudent->getLastStatus($row->prestudent_id); if($prestudent->orgform_kurzbz!='') $orgform_kurzbz=$prestudent->orgform_kurzbz; else $orgform_kurzbz=$row->orgform_kurzbz; $qry_sprache = " SELECT sprache FROM lehre.tbl_lehrveranstaltung WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." AND aktiv AND orgform_kurzbz=".$db->db_add_param($orgform_kurzbz)." GROUP BY sprache ORDER BY sprache DESC"; } else { $qry_sprache = " SELECT sprache FROM lehre.tbl_lehrveranstaltung WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." AND aktiv GROUP BY sprache ORDER BY sprache DESC"; } if($result_sprache = $db->db_query($qry_sprache)) { while($row_sprache = $db->db_fetch_object($result_sprache)) { if($sprache_englisch!='') $sprache_englisch.=', '; if($sprache_deutsch!='') $sprache_deutsch.=', '; $sprache_englisch .= $row_sprache->sprache; switch ($row_sprache->sprache) { case 'German': $sprache_deutsch .= 'Deutsch'; break; case 'English': $sprache_deutsch .= 'Englisch'; break; } } } echo ' '.$sprache_deutsch.''; echo ' '.$sprache_englisch.''; //Wenn Lehrgang, kommen die max-semester nicht aus tbl_studiengang, // sondern aus dem höchsten prestudent-status-semester if($row->studiengang_kz<0) { $lastPrestudentSemester=new prestudent(); $lastPrestudentSemester->getLastStatus($row->prestudent_id,null,'Student'); $maxsemester=$lastPrestudentSemester->ausbildungssemester; } else $maxsemester=$row->max_semester; echo ' '.$maxsemester.''; echo ' '.($maxsemester/2.0).''; echo ' '.($maxsemester*30+$angerechnete_sws).''; if($angerechnete_sws!=0) echo ' ('.$angerechnete_sws.' ECTS angerechnet/credited)'; else echo ' '; //OrgForm aus dem Status nehmen $prestudent = new prestudent(); $prestudent->getLastStatus($row->prestudent_id); if($prestudent->orgform_kurzbz!='') $row->orgform_kurzbz=$prestudent->orgform_kurzbz; $anforderungen_praxis = 'Das Studium beinhaltet ein facheinschlägiges Berufspraktikum.'; $anforderungen_praxiseng = 'Included in the program is a relevant work placement.'; switch($row->orgform_kurzbz) { case 'BB': echo ' Berufsbegleitendes Studium / Part-time degree programm'; break; case 'VZ': echo ' Vollzeitstudium / Full-time degree programm'; break; case 'DL': echo ' Fernstudium / Distance Learning'; break; case 'DUA': // andere praxisanforderungen bei dualem Studium echo ' Duales Studium / Integrated work/study degree program'; $anforderungen_praxis = 'Das Studium ist als duales Studium konzipiert und weist einen hohen Anteil an Praxisphasen in Partnerunternehmen auf, die inhaltlich und organisatorisch im Studienplan verankert sind und die systematische Verschränkung von Wissen und Anwendung fördern.'; $anforderungen_praxiseng = 'The program is designed as integrated work study program and has a high proportion of practical phases in partner companies, which are embedded in the curriculum in terms of content and organisation and promote the systematic interconnection of knowledge and utilisation.'; break; default: echo ' '; break; } if($row->typ=='d') { echo ' UNESCO ISCED 7'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' Diplomstudium (UNESCO ISCED 7)'; echo ' Diploma degree program (UNESCO ISCED 7)'; } elseif($row->typ=='m') { echo ' UNESCO ISCED 7'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' Masterstudium (UNESCO ISCED 7)'; echo ' Master degree program (UNESCO ISCED 7)'; } elseif($row->typ=='b') { echo ' UNESCO ISCED 6'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' Bachelorstudium (UNESCO ISCED 6)'; echo ' Bachelor degree program (UNESCO ISCED 6)'; } elseif($row->typ=='r') { echo ' UNESCO ISCED 8'; echo ' Doktoratsstudium (UNESCO ISCED 8)'; echo ' University doctoral studies (UNESCO ISCED 8)'; } elseif($row->typ=='l' || $row->typ=='k' || $row->typ=='e') { echo ' UNESCO ISCED 7'; echo ' Lehrgang zur Weiterbildung nach §9 FHG idgF.'; echo ' Certificate Program for Further Education subjected to § 9 FHG'; echo ' '; echo ' '; echo ' '; echo ' '; } $akadgrad_id=''; $qry = "SELECT bezeichnung, akadgrad_id, bezeichnung_english FROM lehre.tbl_abschlusspruefung LEFT JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) WHERE student_uid=".$db->db_add_param($uid_arr[$i])." ORDER BY datum DESC LIMIT 1"; if($db->db_query($qry)) { if($row1 = $db->db_fetch_object()) { $akadgrad_id = $row1->akadgrad_id; } echo " In diesem Curriculum nicht zutreffend."; echo " Not applicable within this curriculum."; } $qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id=".$db->db_add_param($akadgrad_id); $titel_de = ''; $titel_en = ''; $titel_kurzbz = ''; if($akadgrad_id!='') { if($db->db_query($qry)) { if($row_titel = $db->db_fetch_object()) { $titel_de = $row_titel->titel.($row_titel->akadgrad_kurzbz!=''?', ('.$row_titel->akadgrad_kurzbz.')':''); $titel_en = $row_titel->titel.($row_titel->akadgrad_kurzbz!=''?', ('.$row_titel->akadgrad_kurzbz.')':''); } } } echo ' '.$titel_de.''; echo ' '.$titel_en.''; $praktikum = false; $auslandssemester = false; $qry = "SELECT projektarbeit_id FROM lehre.tbl_projektarbeit WHERE student_uid=".$db->db_add_param($uid_arr[$i])." AND (projekttyp_kurzbz='Praxis' OR projekttyp_kurzbz='Praktikum')"; if($db->db_query($qry)) { if($row1 = $db->db_fetch_object()) { echo " Berufspraktikum/Internship: absolviert/completed"; $praktikum = true; } } $qry = "SELECT tbl_bisio.bisio_id, von, bis, lehreinheit_id, (SELECT STRING_AGG ( tbl_zweck.bezeichnung, ', ' ORDER BY tbl_zweck.zweck_code ) FROM bis.tbl_bisio_zweck JOIN bis.tbl_zweck USING(zweck_code) WHERE tbl_bisio_zweck.bisio_id = tbl_bisio.bisio_id ) zweck, ort, universitaet FROM bis.tbl_bisio WHERE student_uid=".$db->db_add_param($uid_arr[$i]); if($db->db_query($qry)) { if($db->db_num_rows()>0) { echo ""; while($row1 = $db->db_fetch_object()) { echo ""; echo "".$datum->convertISODate($row1->von).""; echo "".$datum->convertISODate($row1->bis).""; echo "$row1->zweck"; echo "$row1->ort"; echo "universitaet]]>"; echo ""; } echo ""; $auslandssemester=true; } } $stg_oe_obj = new studiengang($row->studiengang_kz); $stgleiter = $stg_oe_obj->getLeitung($row->studiengang_kz); $stgl=''; foreach ($stgleiter as $stgleiter_uid) { $stgl_ma = new mitarbeiter($stgleiter_uid); $stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost); } echo " $stgl"; $abschlussbeurteilung=''; // Hole Datum der Sponsion -> wenn keine vorhanden nimm aktuelles datum $qry = "SELECT sponsion, tbl_abschlussbeurteilung.bezeichnung_english, datum, pruefungstyp_kurzbz FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) WHERE student_uid=".$db->db_add_param($uid_arr[$i])." ORDER BY datum DESC LIMIT 1"; $sponsion_datum = date('d.m.Y'); $abschlusspruefungsdatum = ''; $abschlussbeurteilung=''; $pruefungstyp_kurzbz=''; if($db->db_query($qry)) { if($row1= $db->db_fetch_object()) { $sponsion_datum = $datum->formatDatum($row1->sponsion, 'd.m.Y'); $abschlusspruefungsdatum = $datum->formatDatum($row1->datum, 'd.m.Y'); $abschlussbeurteilung = $row1->bezeichnung_english; $pruefungstyp_kurzbz = $row1->pruefungstyp_kurzbz; } } echo " $pruefungstyp_kurzbz"; echo " $abschlussbeurteilung"; echo " $abschlusspruefungsdatum"; echo " $sponsion_datum"; $qry = "SELECT telefonklappe FROM public.tbl_mitarbeiter JOIN tbl_benutzerfunktion ON(uid=mitarbeiter_uid) WHERE funktion_kurzbz='ass' AND oe_kurzbz=".$db->db_add_param($stg_oe_obj->oe_kurzbz); if($db->db_query($qry)) { if($row1 = $db->db_fetch_object()) { echo " $row1->telefonklappe"; } } echo ' '.date('d.m.Y').''; /* * Hole Notendurchschnitt vom Jahr nach dem letzten Status und 2 Jahre davor, */ $student = new student(); $student->load($uid_arr[$i]); $prestudent = new prestudent(); $prestudent->getLastStatus($student->prestudent_id, null, 'Student'); $lastStatusSemester = $prestudent->studiensemester_kurzbz; $studiensemester = new studiensemester(); $studiensemesterPrev = $studiensemester->getPreviousFrom($lastStatusSemester); $noteArrayPrev = array(); $noteArrayPrev[1] = 0; $noteArrayPrev[2] = 0; $noteArrayPrev[3] = 0; $noteArrayPrev[4] = 0; $noteArrayPrev[5] = 0; $noteArrayPrev[6] = 0; $noteArrayPrev[7] = 0; $noteArrayPrev[12] = 0; // letztes Jahr $qry_prevYear = " SELECT note, count(note) FROM lehre.tbl_zeugnisnote WHERE lehrveranstaltung_id IN( SELECT distinct(lehrveranstaltung_id) FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) WHERE studiensemester_kurzbz IN (".$db->db_add_param($lastStatusSemester).",".$db->db_add_param($studiensemesterPrev).") AND studiengang_kz = ".$db->db_add_param($row->studiengang_kz, FHC_INTEGER)." ) AND studiensemester_kurzbz IN (".$db->db_add_param($lastStatusSemester).",".$db->db_add_param($studiensemesterPrev).") GROUP BY note ORDER BY note"; if($result_prevYear = $db->db_query($qry_prevYear)) { while($row_prevYear = $db->db_fetch_object($result_prevYear)) { $noteArrayPrev[$row_prevYear->note] = $row_prevYear->count; } } $noten_anzahl =0; $noten_anzahl += $noteArrayPrev[1]; $noten_anzahl += $noteArrayPrev[2]; $noten_anzahl += $noteArrayPrev[3]; $noten_anzahl += $noteArrayPrev[4]; $noten_anzahl += $noteArrayPrev[5]; $noten_anzahl += $noteArrayPrev[6]; $noten_anzahl += $noteArrayPrev[7]; $noten_anzahl += $noteArrayPrev[12]; // Division durch 0 verhindern if($noten_anzahl==0) $noten_anzahl=1; // Noten: 1-5, angerechnet, nicht beurteilt, erfolgreich absolviert anzeigen echo " ".sprintf("%01.1f",($noteArrayPrev[1]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[2]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[3]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[4]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[5]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[6]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[7]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[12]/$noten_anzahl*100)).""; // vorletztes Jahr $studiensemester = new studiensemester(); $lastStatusSemester = $studiensemester->getPreviousFrom($studiensemesterPrev); $studiensemesterPrev = $studiensemester->getPreviousFrom($lastStatusSemester); $qry_prevYear = " SELECT note, count(note) FROM lehre.tbl_zeugnisnote WHERE lehrveranstaltung_id IN( SELECT distinct(lehrveranstaltung_id) FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) WHERE studiensemester_kurzbz IN (".$db->db_add_param($lastStatusSemester).",".$db->db_add_param($studiensemesterPrev).") AND studiengang_kz = ".$db->db_add_param($row->studiengang_kz, FHC_INTEGER).") AND studiensemester_kurzbz IN (".$db->db_add_param($lastStatusSemester).",".$db->db_add_param($studiensemesterPrev).") GROUP BY note ORDER BY note"; if($result_prevYear = $db->db_query($qry_prevYear)) { while($row_prevYear = $db->db_fetch_object($result_prevYear)) { $noteArrayPrev[$row_prevYear->note] = $row_prevYear->count; } } $noten_anzahl =0; $noten_anzahl += $noteArrayPrev[1]; $noten_anzahl += $noteArrayPrev[2]; $noten_anzahl += $noteArrayPrev[3]; $noten_anzahl += $noteArrayPrev[4]; $noten_anzahl += $noteArrayPrev[5]; $noten_anzahl += $noteArrayPrev[6]; $noten_anzahl += $noteArrayPrev[7]; $noten_anzahl += $noteArrayPrev[12]; // Division durch 0 verhindern if($noten_anzahl==0) $noten_anzahl=1; // Noten: 1-5, angerechnet, nicht beurteilt, erfolgreich absolviert anzeigen echo " ".sprintf("%01.1f",($noteArrayPrev[1]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[2]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[3]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[4]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[5]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[6]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[7]/$noten_anzahl*100)).""; echo " ".sprintf("%01.1f",($noteArrayPrev[12]/$noten_anzahl*100)).""; $ects_total = 0; $ects_total_positiv = 0; echo ""; for($start = $semesterNumberStart; $start <= $semesterNumberEnd; $start++) { $semester_ects = 0; $semester_ects_positiv = 0; echo ""; // alle semester für das ausbildungssemester holen // Semester wo Unterbrecher nicht holen $qry_semester=" SELECT distinct(status.studiensemester_kurzbz), datum FROM lehre.tbl_zeugnisnote zeugnis JOIN lehre.tbl_note note USING(note) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) JOIN public.tbl_student student USING(student_uid) JOIN public.tbl_prestudentstatus status USING(prestudent_id) WHERE student_uid = ".$db->db_add_param($uid_arr[$i])." AND zeugnis = true AND status.ausbildungssemester = ".$db->db_add_param($start)." AND status.status_kurzbz NOT IN('Unterbrecher', 'Interessent','Bewerber','Aufgenommener','Abgewiesener','Wartender') ORDER BY datum ASC"; $semester_kurzbz = array(); if($result_semester = $db->db_query($qry_semester)) { while($row_semester = $db->db_fetch_object($result_semester)) { $semester_kurzbz[] = $row_semester->studiensemester_kurzbz; } } // Array der Semester $aktuellesSemester = $semester_kurzbz; $semester = mb_substr($semester_kurzbz[0],0,2); $year = mb_substr($semester_kurzbz[0], 2,4); if($semester == 'SS') $semester_kurzbz = 'Summer Semester '.$year; else if($semester == 'WS') { $helpyear = mb_substr($year, 2,2); $helpyear +=1; $helpyear = sprintf("%02d",$helpyear); $semester_kurzbz = 'Winter Semester '.$year.'/'.$helpyear; } $sqlStudent = new student(); echo " Semester $start"; // alle lvs im semester holen // Ohne LVs an denen ein Auslandssemester haengt. Diese werden spaeter separat geholt $qry =" SELECT distinct(tbl_lehrveranstaltung.lehrveranstaltung_id), tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.kurzbz, tbl_lehrveranstaltung.bezeichnung, COALESCE(tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.bezeichnung) as bezeichnung_english, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.semesterstunden, tbl_lehrveranstaltung.ects, zeugnis.studiensemester_kurzbz, zeugnis.note, note.bezeichnung note_bezeichnung, note.anmerkung, note.offiziell, note.positiv, sort, tbl_lehrveranstaltung.sws FROM lehre.tbl_zeugnisnote zeugnis JOIN lehre.tbl_note note USING(note) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE student_uid = ".$db->db_add_param($uid_arr[$i])." AND zeugnis = true AND studiensemester_kurzbz in (".$sqlStudent->implode4SQL($aktuellesSemester).")"; if (defined('ZEUGNISNOTE_NICHT_ANZEIGEN')) { $qry .=" AND note.anmerkung NOT IN (".$sqlStudent->implode4SQL(unserialize(ZEUGNISNOTE_NICHT_ANZEIGEN)).") "; }; $qry .= " AND NOT EXISTS(SELECT 1 FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND student_uid=".$db->db_add_param($uid_arr[$i])." AND tbl_lehreinheit.studiensemester_kurzbz in(".$sqlStudent->implode4SQL($aktuellesSemester).")) ORDER BY sort, tbl_lehrveranstaltung.bezeichnung;"; $arrayLvAusbildungssemester= array(); $j = 0; $wochen = 15; if($result_stud = $db->db_query($qry)) { while($row_stud = $db->db_fetch_object($result_stud)) { // wenn es lv noch nicht gibt dann hinzufügen if(!isset($arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id])) { $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['lehrveranstaltung_id'] = $row_stud->lehrveranstaltung_id; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['studiengang_kz'] = $row_stud->studiengang_kz; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['kurzbz'] = $row_stud->kurzbz; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['bezeichnung'] = $row_stud->bezeichnung; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['bezeichnung_english'] = $row_stud->bezeichnung_english; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['semester'] = $row_stud->semester; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['semesterstunden'] = $row_stud->semesterstunden; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['ects'] = $row_stud->ects; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sws_lv'] = $row_stud->sws; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['studiensemester_kurzbz'] = $row_stud->studiensemester_kurzbz; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note'] = $db->db_parse_bool($row_stud->offiziell) ? $row_stud->anmerkung : ""; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note_positiv'] = $db->db_parse_bool($row_stud->positiv); $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sort'] = $row_stud->sort; $ects_total += $row_stud->ects; $semester_ects +=$row_stud->ects; if ($arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note_positiv'] === true) { $ects_total_positiv += $row_stud->ects; $semester_ects_positiv += $row_stud->ects; } } else { $note_alt = $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note']; $note_alt_positiv = $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note_positiv']; $note_neu = $row_stud->anmerkung; // alte oder neue note besser if(checkNote($note_alt, $note_neu)) { $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['lehrveranstaltung_id'] = $row_stud->lehrveranstaltung_id; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['studiengang_kz'] = $row_stud->studiengang_kz; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['kurzbz'] = $row_stud->kurzbz; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['bezeichnung'] = $row_stud->bezeichnung; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['bezeichnung_english'] = $row_stud->bezeichnung_english; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['semester'] = $row_stud->semester; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['semesterstunden'] = $row_stud->semesterstunden; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['ects'] = $row_stud->ects; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sws_lv'] = $row_stud->sws; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['studiensemester_kurzbz'] = $row_stud->studiensemester_kurzbz; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note'] = $db->db_parse_bool($row_stud->offiziell) ? $row_stud->anmerkung : ""; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note_positiv'] = $db->db_parse_bool($row_stud->positiv); $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sort'] = $row_stud->sort; // ects dazuzählen wenn alte Note negativ, neue positiv if ($arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note_positiv'] === true && $note_alt_positiv !== true) { $ects_total_positiv += $row_stud->ects; $semester_ects_positiv += $row_stud->ects; } } } $test = false; $qry_sws = " SELECT wochen FROM public.tbl_semesterwochen WHERE studiengang_kz = ".$db->db_add_param($row_stud->studiengang_kz)." AND semester = ".$db->db_add_param($row_stud->semester).";"; if($result_sws = $db->db_query($qry_sws)) { if($row_sws = $db->db_fetch_object($result_sws)) { $wochen = $row_sws->wochen; } } $ssp = $row_stud->semesterstunden / $wochen; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sws']= $ssp; $qry_lehrform = " SELECT distinct(lehrform_kurzbz) FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id = ".$db->db_add_param($row_stud->lehrveranstaltung_id)." ORDER BY lehrform_kurzbz"; $lehrform_kurzbz = ''; $y = 0; if($result_lehrform = $db->db_query($qry_lehrform)) { while($row_lehrform = $db->db_fetch_object($result_lehrform)) { if($y != 0) $lehrform_kurzbz = $lehrform_kurzbz.', '.$row_lehrform->lehrform_kurzbz; else $lehrform_kurzbz = $row_lehrform->lehrform_kurzbz; $y++; } } $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['lehrform_kurzbz']= $lehrform_kurzbz; // hole benotungsdatum von aktueller LV $qry_benotung = " SELECT benotungsdatum FROM lehre.tbl_zeugnisnote WHERE lehrveranstaltung_id = ".$db->db_add_param($row_stud->lehrveranstaltung_id)." AND studiensemester_kurzbz = ".$db->db_add_param($row_stud->studiensemester_kurzbz)." AND student_uid = ".$db->db_add_param($uid_arr[$i]).";"; if($result_benotung = $db->db_query($qry_benotung)) { if($row_benotung = $db->db_fetch_object($result_benotung)) { $benotungsdatum = $row_benotung->benotungsdatum; } } $datum = new datum(); $benotungsdatum = $datum->formatDatum($benotungsdatum,'d/m/Y'); $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['benotungsdatum']= $benotungsdatum; $bezeichnung_englisch = $row_stud->bezeichnung_english; $bezeichnung = $row_stud->bezeichnung; // Check ob Lehrveranstaltung ein Praktikum mit eingetragener Firma besitzt $qry = " SELECT tbl_firma.name, lehrveranstaltung_id, firma_id FROM lehre.tbl_projektarbeit JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN public.tbl_firma USING(firma_id) WHERE student_uid=".$db->db_add_param($uid_arr[$i])." AND projekttyp_kurzbz in('Praktikum', 'Praxis') AND tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($row_stud->lehrveranstaltung_id)." ORDER BY beginn ASC, projektarbeit_id ASC;"; if($result_praktikum = $db->db_query($qry)) { if($row_praktikum = $db->db_fetch_object($result_praktikum)) { $bezeichnung.= ' absolviert in: '.$row_praktikum->name; $bezeichnung_englisch .= ' at: '.$row_praktikum->name; } } // Check ob an Lehrveranstaltung eine Thesis hängt // Aber kein Auslandssemester war, sonst wirds spaeter hinzugefügt $qry = " SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english FROM lehre.tbl_projektarbeit JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE student_uid=".$db->db_add_param($uid_arr[$i])." AND projekttyp_kurzbz in('Bachelor', 'Diplom') AND lehrveranstaltung_id=".$db->db_add_param($row_stud->lehrveranstaltung_id)." AND NOT EXISTS(SELECT 1 FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE lehrveranstaltung_id=".$db->db_add_param($row_stud->lehrveranstaltung_id)." AND student_uid=".$db->db_add_param($uid_arr[$i]).") ORDER BY beginn DESC, projektarbeit_id DESC LIMIT 1;"; if($result_thesis = $db->db_query($qry)) { while($row_thesis = $db->db_fetch_object($result_thesis)) { $bezeichnung.= ": \"".$row_thesis->titel."\""; $bezeichnung_englisch.= ": \"".$row_thesis->titel."\""; } } $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['bezeichnung']= $bezeichnung; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['bezeichnung_englisch']=$bezeichnung_englisch; $note_eintragen = new note(); $note_eintragen->load($row_stud->note); $test = false; } } foreach($arrayLvAusbildungssemester as $lv_test) { $sws = number_format(sprintf('%.1F',$lv_test['sws']),2); $sws_lv = number_format(sprintf('%.1F',$lv_test['sws_lv']),2); if($sws == '0.0') $sws = ''; if($sws_lv == '0.0') $sws_lv = ''; echo ' '.$lv_test['lehrform_kurzbz'].' '.$lv_test['benotungsdatum'].' '.$sws.' '.$sws_lv.' '.$lv_test['semester'].' '.$lv_test['kurzbz'].' '.$lv_test['studiensemester_kurzbz'].' '.$lv_test['ects'].' '.$lv_test['semesterstunden'].' '.$lv_test['note'].' '.$lv_test['note_positiv'].' '.$lv_test['lehrveranstaltung_id'].' '; } // Ist er Outgoing in diesem semester $qry_outgoing = " SELECT studiensemester_kurzbz, ort, ects, semesterstunden, von, bis, universitaet, lehrveranstaltung_id, tbl_lehrveranstaltung.sws, (SELECT titel_english FROM lehre.tbl_projektarbeit WHERE lehreinheit_id=tbl_bisio.lehreinheit_id AND student_uid = ".$db->db_add_param($uid_arr[$i])." limit 1) as projektarbeitstitel FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE student_uid = ".$db->db_add_param($uid_arr[$i]); if($result_outgoing = $db->db_query($qry_outgoing)) { if($row_outgoing = $db->db_fetch_object($result_outgoing)) { // Outgoing eintrag ist vorhanden if(in_array($row_outgoing->studiensemester_kurzbz, $aktuellesSemester)) { $note_outgoing = 'ar'; $benotungsdatum_outgoing = ''; $lehrform_kurzbz_outgoing = ''; $qry_outgoing_note = " SELECT tbl_note.anmerkung, tbl_note.offiziell, tbl_note.positiv, tbl_zeugnisnote.benotungsdatum, tbl_lehrveranstaltung.lehrform_kurzbz FROM lehre.tbl_zeugnisnote JOIN lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id) JOIN lehre.tbl_note using(note) WHERE lehrveranstaltung_id = ".$db->db_add_param($row_outgoing->lehrveranstaltung_id)." AND student_uid = ".$db->db_add_param($uid_arr[$i]); if (defined('ZEUGNISNOTE_NICHT_ANZEIGEN')) { $qry_outgoing_note .= " AND tbl_note.anmerkung NOT IN (".$db->implode4SQL(unserialize(ZEUGNISNOTE_NICHT_ANZEIGEN)).") "; }; if($result_outgoing_note = $db->db_query($qry_outgoing_note)) { if($row_outgoing_note = $db->db_fetch_object($result_outgoing_note)) { $note_outgoing = $db->db_parse_bool($row_outgoing_note->offiziell) ? $row_outgoing_note->anmerkung : ""; $note_positiv_outgoing = $db->db_parse_bool($row_outgoing_note->positiv); $benotungsdatum_outgoing = $datum->formatDatum($row_outgoing_note->benotungsdatum,'d/m/Y'); $lehrform_kurzbz_outgoing = $row_outgoing_note->lehrform_kurzbz; } } $datum = new datum(); $datum_von = $datum->formatDatum($row_outgoing->von, 'Y.m.d'); $datum_bis = $datum->formatDatum($row_outgoing->bis, 'Y.m.d'); $auslandssemester_start = 'th'; //Zur englischen Nummerierung der Semester (1st, 2nd, 3rd, 4th, ...) $sws = number_format(sprintf('%.1F',($row_outgoing->semesterstunden/$wochen)),2); if($sws == '0.0') $sws = ''; $sws_lv = number_format(sprintf('%.1F',($row_outgoing->sws)),2); if($sws_lv == '0.0') $sws_lv = ''; switch ($start) { case '1': $auslandssemester_start = 'st'; break; case '2': $auslandssemester_start = 'nd'; break; case '3': $auslandssemester_start = 'rd'; break; default: $auslandssemester_start = 'th'; break; } if($row_outgoing->projektarbeitstitel != '') { $projektarbeitszusatz = 'Thesis: "'.$row_outgoing->projektarbeitstitel.'"'; } else $projektarbeitszusatz = ''; echo ' '.$benotungsdatum_outgoing.' '.$sws.' '.$sws_lv.' '.$lehrform_kurzbz_outgoing.' ort.', '.$row_outgoing->universitaet.'. All credits earned during the International Semester Abroad (ISA) are fully credited for the '.$start.$auslandssemester_start.' semester at the UAS Technikum Wien. '.$projektarbeitszusatz.']]> '.$row_outgoing->ects.' '.$row_outgoing->semesterstunden.' '.$note_outgoing.' '.$note_positiv_outgoing.' '; $ects_total +=$row_outgoing->ects; $semester_ects+=$row_outgoing->ects; if ($note_positiv_outgoing === true) { $ects_total_positiv += $row_outgoing->ects; $semester_ects_positiv += $row_outgoing->ects; } } } } echo ''.$semester_ects.''; echo ''.$semester_ects_positiv.''; echo ""; } echo ""; echo " $ects_total"; echo " $ects_total_positiv"; echo ' '; } } echo ""; // die beiden noten werden verglichen und die mit höherer priorität(niedrigerer index) wird genommen // return true wenn neue note genommen werden soll function checkNote($note_alt, $note_neu) { $priority_neu = 9999; $priority_alt = 9999; $arrayNotenPriority = array( '0' => '1', '1' => '2', '2' => '3', '3' => '4', '4' => 'ea', '5' => 'tg', '6' => 'met', '7' => 'ar', '8' => 'nb', '9' => '5', '10' => 'nea'); for($i = 0; $i<=9; $i++) { if($note_alt == $arrayNotenPriority[$i]) $priority_alt = $i; if($note_neu == $arrayNotenPriority[$i]) $priority_neu = $i; } if($priority_neu <= $priority_alt) return true; else return false; } ?>