diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index 4a64ca0ca..e432a980a 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -31,6 +31,8 @@ require_once('../include/prestudent.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(); @@ -90,7 +92,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $semesterNumberStart = $prestudent->ausbildungssemester; echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; echo ' '.$prestudent->ausbildungssemester.''; - $prestudent->getLastStatus($row->prestudent_id, null, 'Student'); + $prestudent->getLastStatus($row->prestudent_id, null); $semesterNumberEnd = $prestudent->ausbildungssemester; echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; echo ' '.$prestudent->ausbildungssemester.''; @@ -173,7 +175,6 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } echo ' '.$sprache_deutsch.''; echo ' '.$sprache_englisch.''; - echo ' '.$row->max_semester.''; echo ' '.($row->max_semester/2.0).''; echo ' '.($row->max_semester*30+$angerechnete_sws).''; @@ -204,7 +205,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } if($row->typ=='d') - { +{ echo ' '; echo ' '; echo ' studiengang_kz).' genehmigten Antrag.]]>'; @@ -260,20 +261,22 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") { if($row_titel = $db->db_fetch_object()) { - $titel_de = $row_titel->titel.', abgekürzt '.$row_titel->akadgrad_kurzbz; - $titel_en = $row_titel->titel.', abbreviated '.$row_titel->akadgrad_kurzbz; + $titel_de = $row_titel->titel.', ('.$row_titel->akadgrad_kurzbz.')'; + $titel_en = $row_titel->titel.', ('.$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='".$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; } } @@ -288,8 +291,16 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo "Auslandssemester/International semester ".$datum->convertISODate($row1->von)." - ".$datum->convertISODate($row1->bis); } echo ""; + $auslandssemester=true; } } + // Wenn keine zusätzlichen Angaben -> "nicht zutreffend" anzeigen + if(!$praktikum && !$auslandssemester) + { + echo "Nicht zutreffend"; + echo "Not applicable"; + } + $stg_oe_obj = new studiengang($row->studiengang_kz); $stgleiter = $stg_oe_obj->getLeitung($row->studiengang_kz); $stgl=''; @@ -309,7 +320,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo " $row1->telefonklappe"; } } - echo ' '.date('d.m.Y').''; + echo ' '.date('d.m.Y').''; /* @@ -429,7 +440,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $ects_total = 0; /* $anzahl_fussnoten=0; - $fussnotenzeichen=array('¹)','²)','³)'); + $fussnotenzeichen=array('��)','��)','��)'); $xml_fussnote = '';*/ echo ""; for($start = $semesterNumberStart; $start <= $semesterNumberEnd; $start++) @@ -437,15 +448,19 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") //$thesis_beschreibung = ''; echo ""; + + // alle semester für das ausbildungssemester holen + // Semester wo Unterbrecher nicht holen $qry_semester=" Select distinct(status.studiensemester_kurzbz) - 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 = '$uid_arr[$i]' and zeugnis = true and - status.ausbildungssemester = '$start'"; + where student_uid = '$uid_arr[$i]' AND + zeugnis = true AND + status.ausbildungssemester = '$start' AND + status.status_kurzbz != 'Unterbrecher'"; $semester_kurzbz = array(); if($result_semester = $db->db_query($qry_semester)) @@ -456,6 +471,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } } + // Array der Semester $aktuellesSemester = $semester_kurzbz; $semester = mb_substr($semester_kurzbz[0],0,2); @@ -466,7 +482,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") else if($semester == 'WS') { $helpyear = mb_substr($year, 2,2); - $helpyear +=1; + $helpyear +=1; $helpyear = sprintf("%02d",$helpyear); $semester_kurzbz = 'Winter Semester '.$year.'/'.$helpyear; } @@ -475,19 +491,68 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo " Semester $start | $semester_kurzbz"; - $qry ="Select distinct(tbl_lehrveranstaltung.lehrveranstaltung_id), tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.kurzbz, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.semesterstunden, tbl_lehrveranstaltung.ects, zeugnis.studiensemester_kurzbz, zeugnis.note, note.bezeichnung note_bezeichnung, note.anmerkung + // alle lvs im semester holen + $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, sort from lehre.tbl_zeugnisnote zeugnis join lehre.tbl_note note using(note) join lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) where student_uid = '$uid_arr[$i]' and zeugnis = true and - studiensemester_kurzbz in (".$sqlStudent->implode4SQL($aktuellesSemester).");"; + 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]['studiensemester_kurzbz'] = $row_stud->studiensemester_kurzbz; + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note'] = $row_stud->anmerkung; + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sort'] = $row_stud->sort; + $ects_total += $row_stud->ects; + } + else + { + $note_alt = $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note']; + $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]['studiensemester_kurzbz'] = $row_stud->studiensemester_kurzbz; + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note'] = $row_stud->anmerkung; + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sort'] = $row_stud->sort; + } + + + } $test = false; $qry_sws = "SELECT wochen from public.tbl_semesterwochen where studiengang_kz = '".addslashes($row_stud->studiengang_kz)."' and semester = '".addslashes($row_stud->semester)."';"; @@ -500,7 +565,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } } $ssp = $row_stud->semesterstunden / $wochen; - + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sws']= $ssp; + /* Fussnote nicht mehr notwendig -> Thesisbezeichnung wird gleich in LV geschrieben if(array_key_exists($row_stud->lehrveranstaltung_id, $projektarbeit)) { @@ -531,7 +597,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $xml_fussnote .=" $typ"; $xml_fussnote .=" lehrveranstaltung_id]['titel'].$nl2."]]>"; $xml_fussnote .=" lehrveranstaltung_id]['titel_en'].$nl2."]]>"; - $thesis_beschreibung .= "¹) ".$projektarbeit[$row_stud->lehrveranstaltung_id]['titel']." + $thesis_beschreibung .= "��) ".$projektarbeit[$row_stud->lehrveranstaltung_id]['titel']." ".(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.""; //$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; $note = $projektarbeit[$row_stud->lehrveranstaltung_id]['note']; @@ -546,7 +612,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $test = true; }*/ - echo " "; +// echo " "; // hole lehrform_kz von aktueller LV $qry_lehrform = "SELECT distinct(lehrform_kurzbz) FROM @@ -565,8 +631,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $y++; } } - - echo " $lehrform_kurzbz"; + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['lehrform_kurzbz']= $lehrform_kurzbz; +// echo " $lehrform_kurzbz"; // hole benotungsdatum von aktueller LV $qry_benotung = "SELECT benotungsdatum FROM @@ -583,9 +649,33 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $datum = new datum(); $benotungsdatum = $datum->formatDatum($benotungsdatum,'d/m/Y'); - - $bezeichnung = $row_stud->bezeichnung; + $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 lehrveranstaltung_id, firma_id + FROM lehre.tbl_projektarbeit + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE student_uid='".$uid_arr[$i]."' + AND projekttyp_kurzbz in('Praktikum', 'Praxis') + AND firma_id is not null + ORDER BY beginn ASC, projektarbeit_id ASC;"; + + if($result_praktikum = $db->db_query($qry)) + { + if($row_praktikum = $db->db_fetch_object($result_praktikum)) + { + if($row_praktikum->lehrveranstaltung_id == $row_stud->lehrveranstaltung_id) + { + $firma = new firma(); + $firma->load($row_praktikum->firma_id); + $bezeichnung.= ' absolviert in: '.$firma->name; + $bezeichnung_englisch .= ' written at: '.$firma->name; + } + } + } // Check ob an Lehrveranstaltung eine Thesis hängt $qry = "SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english @@ -607,60 +697,160 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } } +// echo " $benotungsdatum"; +// echo " ".number_format($ssp,2).""; - echo " $benotungsdatum"; - echo " ".number_format($ssp,2).""; - echo " $row_stud->semester"; - echo " $row_stud->kurzbz"; - echo " $row_stud->studiensemester_kurzbz"; - echo " "; - echo " "; +// echo " $row_stud->semester"; +// echo " $row_stud->kurzbz"; +// echo " $row_stud->studiensemester_kurzbz"; + + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['bezeichnung']= $bezeichnung; + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['bezeichnung_englisch']=$bezeichnung_englisch; + +// echo " "; +// echo " "; /* if($test == true) - echo " bezeichnung_english]]>¹)"; + echo " bezeichnung_english]]>��)"; else echo " bezeichnung_english]]>"; */ - echo " $row_stud->ects"; - $ects_total += $row_stud->ects; - echo " $row_stud->semesterstunden"; - $note = $row_stud->note; - switch ($note) - { - case 6: $note = 'ar'; - break; - case 7: $note = 'nb'; - break; - case 8: $note = 'tg'; - break; - case 12: $note = 'ea'; - break; - case 13: $note = 'nea'; - break; - case 14: $note = 'nbe'; - break; - } - echo " $note"; - echo " $row_stud->note_bezeichnung"; - echo " $row_stud->anmerkung"; - echo " $row_stud->lehrveranstaltung_id"; - echo " "; +// echo " $row_stud->ects"; + +// echo " $row_stud->semesterstunden"; + $note_eintragen = new note(); + $note_eintragen->load($row_stud->note); + +// echo " $row_stud->anmerkung"; +// echo " $row_stud->note_bezeichnung"; +// echo " $row_stud->anmerkung"; +// echo " $row_stud->lehrveranstaltung_id"; +// echo " "; $test = false; - + } } - /*echo ""; - echo $thesis_beschreibung; - echo "";*/ + + foreach($arrayLvAusbildungssemester as $lv_test) + { + echo ' + '.$lv_test['lehrform_kurzbz'].' + '.$lv_test['benotungsdatum'].' + '.number_format($lv_test['sws'],2).' + '.$lv_test['semester'].' + '.$lv_test['kurzbz'].' + '.$lv_test['studiensemester_kurzbz'].' + + + '.$lv_test['ects'].' + '.$lv_test['semesterstunden'].' + '.$lv_test['note'].' + '.$lv_test['lehrveranstaltung_id'].' + '; + } + + // Ist er Outgoing in diesem semester + $qry_outgoing = "SELECT studiensemester_kurzbz, ort, ects, semesterstunden, von, bis, universitaet, lehrveranstaltung_id + FROM bis.tbl_bisio + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE student_uid = '$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 anmerkung, benotungsdatum, lehrform_kurzbz + FROM lehre.tbl_zeugnisnote + JOIN tbl_lehrveranstaltung using(lehrveranstaltung_id) + JOIN tbl_note using(note) + WHERE lehrveranstaltung_id = '".$row_outgoing->lehrveranstaltung_id."' and student_uid = '".$uid_arr[$i]."'"; + + + if($result_outgoing_note = $db->db_query($qry_outgoing_note)) + { + if($row_outgoing_note = $db->db_fetch_object($result_outgoing_note)) + { + $note_outgoing = $row_outgoing_note->anmerkung; + $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'); + echo ' + + '.$benotungsdatum_outgoing.' + + + '.$lehrform_kurzbz_outgoing.' + + + ort.', '.$row_outgoing->universitaet.'. All credits earned during the International Semester Abroad (ISA) are fully credited for the '.$start.'th semester at the UAS Fachhochschule Technikum Wien.]]> + '.$row_outgoing->ects.' + '.$row_outgoing->semesterstunden/$wochen.' + '.$note_outgoing.' + + '; + } + } + } + echo ""; } + echo ""; + echo " $ects_total"; + echo ' '; } - echo ""; + //echo $xml_fussnote; - echo " $ects_total"; + - echo ' '; - } - 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) +{ + $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; +} + ?> \ No newline at end of file