, * Andreas Oesterreicher and * Karl Burkhart */ require_once('../config/vilesci.config.inc.php'); require_once('../include/basis_db.class.php'); require_once('../include/studiensemester.class.php'); require_once('../include/organisationsform.class.php'); require_once('../include/prestudent.class.php'); require_once('../include/student.class.php'); require_once('../include/studiengang.class.php'); require_once('../include/functions.inc.php'); require_once('../include/datum.class.php'); require_once('../include/benutzerberechtigung.class.php'); $db = new basis_db(); $datum = new datum(); $uid = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); if (!$rechte->isBerechtigt('student/stammdaten', null, 's')) die($rechte->errormsg); if (isset($_REQUEST['stg_kz'])) $studiengang_kz = $_REQUEST['stg_kz']; else $studiengang_kz = null; $studiensemester = new studiensemester(); $aktSem = $studiensemester->getaktorNext(); $nextSem = $studiensemester->getNextFrom($aktSem); $ausgabe = array(); $text = ''; echo ' Check Studenten

Studenten Checkskript für BIS-Meldung

'; /* * Studiengang muss beim Prestudenten und beim Studenten gleich sein */ $qry = " SELECT stud.student_uid, pre.studiengang_kz, stud.studiengang_kz studiengang FROM public.tbl_prestudent pre JOIN public.tbl_student stud using(prestudent_id) WHERE stud.studiengang_kz != pre.studiengang_kz"; if ($studiengang_kz != '') { $qry .= " AND ( stud.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." OR pre.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." )"; } $text .= "Suche Studiengänge die bei Prestudenten und Studenten nicht gleich sind ...

"; if ($db->db_query($qry)) { while ($row = $db->db_fetch_object()) { $ausgabe[$row->studiengang][1][] = $row->student_uid; $text .= "Studenten-uid: ".$row->student_uid."
"; } } else $text .= "Fehler bei der Abfrage aufgetreten.
"; /* * Abbrecher dürfen nicht mehr aktiv sein */ $text .= "
Suche alle Abbrecher die noch aktiv sind ...

"; $qry = " SELECT pre_status.status_kurzbz, benutzer.aktiv, benutzer.uid, student.studiengang_kz studiengang FROM public.tbl_prestudentstatus pre_status JOIN public.tbl_prestudent pre using(prestudent_id) JOIN public.tbl_student student using(prestudent_id) JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid) WHERE pre_status.status_kurzbz ='Abbrecher' and benutzer.aktiv=true"; if ($studiengang_kz != '') $qry .= " AND pre.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($db->db_query($qry)) { while ($row = $db->db_fetch_object()) { $ausgabe[$row->studiengang][2][] = $row->uid; $text .= "Studenten-uid: ".$row->uid."
"; } } else $text .= "Fehler bei der Abfrage aufgetreten.
"; /* * Organisationsform eines Studienganges, sollte mit den Organisationsformen der Studenten übereinstimmen */ $text .= "
Suche Studenten mit ungleichen Organisationsformeinträgen (Studiengang <--> Prestudentstatus) ...

"; $orgArray = array(); $orgForm = new organisationsform(); $qry = " SELECT studiengang.orgform_kurzbz as studorgkz, student.student_uid, prestudentstatus.orgform_kurzbz as studentorgkz, student.studiengang_kz studiengang FROM public.tbl_studiengang studiengang JOIN public.tbl_student student using(studiengang_kz) JOIN public.tbl_prestudent prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus prestudentstatus using(prestudent_id) JOIN public.tbl_benutzer benutzer on(benutzer.uid = student.student_uid) WHERE benutzer.aktiv = true AND prestudentstatus.status_kurzbz='Student' AND studiengang.studiengang_kz < 10000 AND prestudentstatus.studiensemester_kurzbz = ".$db->db_add_param($aktSem)." AND NOT EXISTS( SELECT 1 FROM lehre.tbl_studienplan JOIN lehre.tbl_studienordnung USING(studienordnung_id) WHERE tbl_studienordnung.studiengang_kz = prestudent.studiengang_kz AND tbl_studienplan.orgform_kurzbz = prestudentstatus.orgform_kurzbz)"; if ($studiengang_kz != '') $qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); $qry .= " ORDER BY student_uid"; if ($db->db_query($qry)) { while ($row = $db->db_fetch_object()) { $studOrgform = $row->studorgkz; $student_uid = $row->student_uid; $studentOrgform = $row->studentorgkz; $orgArray = $orgForm->checkOrgForm($studOrgform); if (is_array($orgArray)) { if (!in_array($studentOrgform, $orgArray)) { $ausgabe[$row->studiengang][3][] = $row->student_uid; $text .= "Student_uid: $student_uid
"; } } } } else $text .= "Fehler bei der Abfrage aufgetreten.
"; /* * Abbrecher dürfen nicht wieder einen Status bekommen */ $prestudentAbbrecher = new prestudent(); $prestudentLast = new prestudent(); $text .= "
Suche alle Abbrecher die wieder einen Status bekommen haben...

"; $qry = " SELECT student.student_uid, prestudent.prestudent_id, student.studiengang_kz studiengang FROM public.tbl_student student JOIN public.tbl_prestudent prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus prestatus using(prestudent_id) WHERE prestatus.status_kurzbz = 'Abbrecher'"; if ($studiengang_kz != '') $qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($db->db_query($qry)) { while ($row = $db->db_fetch_object()) { $student_uid = $row->student_uid; $prestudent_id = $row->prestudent_id; $prestudentLast->result = array(); $prestudentLast->getLastStatus($prestudent_id); if ($prestudentLast->status_kurzbz != 'Abbrecher') { $ausgabe[$row->studiengang][4][] = $student_uid; $text .= "Studenten-uid: ".$student_uid."
"; } } } /* * Aktuelles Semester beim Studenten stimmt nicht mit dem Ausbildungssemester des aktuellen Status überein */ $text .= "

Suche Studenten deren Semstern nicht mit dem Ausbildungssemesters des aktuellen Status übereinstimmt ...

"; $student = new student(); $prestudent = new prestudent(); $qry = " SELECT distinct(student.student_uid), prestudent.prestudent_id, status.ausbildungssemester, lv.semester, student.studiengang_kz studiengang FROM public.tbl_student student JOIN public.tbl_studentlehrverband lv using(student_uid) JOIN public.tbl_prestudent prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus status using(prestudent_id) WHERE status.studiensemester_kurzbz = ".$db->db_add_param($aktSem)." AND lv.studiensemester_kurzbz = ".$db->db_add_param($aktSem)." AND status.status_kurzbz NOT IN ('Interessent','Bewerber','Aufgenommener','Wartender','Abgewiesener','Unterbrecher') AND get_rolle_prestudent (prestudent_id, ".$db->db_add_param($aktSem).")='Student' AND status.ausbildungssemester != lv.semester"; if ($studiengang_kz != '') $qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($db->db_query($qry)) { while ($row = $db->db_fetch_object()) { $student_uid = $row->student_uid; $ausgabe[$row->studiengang][5][] = $student_uid; $text .= "Studenten-uid: ".$student_uid."
"; } } /* * Inaktive Studenten sollen keinen "aktiven" Status haben (Diplomant, Student, Unterbrecher, Praktikant) */ $text .= "

Suche alle inaktiven Studenten mit einem aktiven Status ...

"; $qry = " SELECT distinct(student.student_uid), student.studiengang_kz studiengang FROM public.tbl_benutzer benutzer JOIN public.tbl_student student on(benutzer.uid = student.student_uid) JOIN public.tbl_prestudent prestudent using(prestudent_id) WHERE benutzer.aktiv=false AND get_rolle_prestudent(prestudent_id, ".$db->db_add_param($aktSem).") in ('Student', 'Diplomand', 'Unterbrecher', 'Praktikant')"; if ($studiengang_kz != '') $qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($db->db_query($qry)) { while ($row = $db->db_fetch_object()) { $ausgabe[$row->studiengang][6][] = $row->student_uid; $text .= "Studenten-uid: ".$row->student_uid."
"; } } /* * Das Datum der Inskription darf nicht vor der letzten BIS-Meldung liegen * zB. Wenn Student im WS2009 studiert darf Studentenstatus nicht vor 15.4.2009 liegen * zB. Wenn Student im SS2010 studiert darf Studentenstatus nicht vor 15.11.2009 liegen */ $text .= "

Suche alle Studenten deren Inskription im aktuellen Semester vor der letzten BIS-Meldung liegt ...

"; $qry = " SELECT distinct(student.student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang FROM public.tbl_benutzer benutzer JOIN public.tbl_student student on(benutzer.uid = student.student_uid) JOIN public.tbl_prestudent prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus prestatus using(prestudent_id) WHERE benutzer.aktiv=true"; if ($studiengang_kz != '') $qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($db->db_query($qry)) { while ($row = $db->db_fetch_object()) { $prestudent = new prestudent(); $prestudent->getFirstStatus($row->prestudent_id, 'Student'); // wenn Student im aktuellen Semester zum ersten Mal den Status Student bekommt if ($prestudent->studiensemester_kurzbz == $aktSem) { $datumBIS = getDateForInscription($aktSem); $datumInscription = $datum->formatDatum($prestudent->datum, 'Y-m-d'); // Wenn Inscriptionsdatum vor der letzten BIS Meldung liegt if ($datumInscription < $datumBIS) { $ausgabe[$row->studiengang][7][] = $row->student_uid; $text .= $row->student_uid." Inskribiert am: ".$datumInscription." BIS Meldung: ".$datumBIS."
"; } } } } /* * Datum und Studiensemester bei den Stati sind in falscher Reihenfolge */ $text .= "

Suche alle Studenten die Datum und Studiensemester in deren Stati in falscher Reihenfolge haben ...

"; $prestudentFirst = new prestudent(); $prestudentSecond = new prestudent(); $i = 0; // alle aktiven Studenten die im aktuellen Semster den Status Student haben $qry_student = " SELECT distinct(student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang FROM public.tbl_student student JOIN public.tbl_benutzer benutzer on(student.student_uid = benutzer.uid) JOIN public.tbl_prestudent prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus status using(prestudent_id) WHERE benutzer.aktiv=true AND status.status_kurzbz='Student' AND status.studiensemester_kurzbz=".$db->db_add_param($aktSem); if ($studiengang_kz != '') $qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry_student)) { while ($student = $db->db_fetch_object($result)) { $qry_orderSemester = " SELECT status.* FROM public.tbl_prestudentstatus status JOIN public.tbl_studiensemester semester using(studiensemester_kurzbz) WHERE prestudent_id = ".$db->db_add_param($student->prestudent_id, FHC_INTEGER)." ORDER BY semester.start DESC, status.datum DESC;"; if ($result1 = $db->db_query($qry_orderSemester)) { $prestudentSecond->result = array(); $prestudentFirst->result = array(); while ($row = $db->db_fetch_object($result1)) { $prestudentStatus = new prestudent(); $prestudentStatus->prestudent_id = $row->prestudent_id; $prestudentStatus->status_kurzbz = $row->status_kurzbz; $prestudentStatus->studiensemester_kurzbz = $row->studiensemester_kurzbz; $prestudentStatus->ausbildungssemester = $row->ausbildungssemester; $prestudentStatus->datum = $row->datum; $prestudentStatus->insertamum = $row->insertamum; $prestudentStatus->insertvon = $row->insertvon; $prestudentStatus->updateamum = $row->updateamum; $prestudentStatus->updatevon = $row->updatevon; $prestudentStatus->ext_id = $row->ext_id; $prestudentStatus->orgform_kurzbz = $row->orgform_kurzbz; $prestudentFirst->result[] = $prestudentStatus; } } else $text .= "Fehler"; if (!$prestudentSecond->getPrestudentRolle($student->prestudent_id, null, null, 'Datum DESC, insertamum DESC')) $text .= "ERROR:".$prestudentSecond->errormsg; $anzahl_stati = count($prestudentFirst->result); for ($i = 0; $i < $anzahl_stati; $i++) { if ($prestudentFirst->result[$i]->studiensemester_kurzbz != $prestudentSecond->result[$i]->studiensemester_kurzbz) { $ausgabe[$student->studiengang][8][] = $student->student_uid; $text .= "Studenten-uid: ".$student->student_uid."
"; continue 2; } } } } /* * Aktive Studenten ohne Status in aktuellen Studiensemester */ $prestudent = new prestudent(); $text .= "

Suche alle aktiven Studenten die keinen Status im aktuellen Studiensemester haben.

"; $qry = " SELECT distinct (student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang FROM public.tbl_student student JOIN public.tbl_benutzer benutzer on (benutzer.uid = student.student_uid) JOIN public.tbl_prestudent prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus status using(prestudent_id) WHERE benutzer.aktiv=true"; if ($studiengang_kz != '') $qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { if (!$prestudent->getLastStatus($row->prestudent_id, $aktSem) && !$prestudent->getLastStatus($row->prestudent_id, $nextSem)) { $ausgabe[$row->studiengang][9][] = $row->student_uid; $text .= $row->student_uid."
"; } } } /* * Bewerber im aktuellen StSem die in Mischformstudiengängen keine Orgform eingetragen haben */ $text .= "

Suche alle Bewerber die keine Orgform eingetragen haben.

"; $qry = " SELECT tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) JOIN public.tbl_prestudentstatus USING(prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE tbl_prestudentstatus.status_kurzbz='Bewerber' AND tbl_studiengang.mischform AND (tbl_prestudentstatus.orgform_kurzbz='' OR tbl_prestudentstatus.orgform_kurzbz is null) AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem); if ($studiengang_kz != '') $qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang][10][] = $row->vorname.' '.$row->nachname.' '.$row->prestudent_id; $text .= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."
"; } } /* * Studierende im aktuellen StSem die in Mischformstudiengängen keine Orgform eingetragen haben */ $text .= "

Suche alle Studierenden die keine Orgform eingetragen haben.

"; $qry = " SELECT tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) JOIN public.tbl_prestudentstatus USING(prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE tbl_prestudentstatus.status_kurzbz='Student' AND tbl_studiengang.mischform AND (tbl_prestudentstatus.orgform_kurzbz='' OR tbl_prestudentstatus.orgform_kurzbz is null) AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem); if ($studiengang_kz != '') $qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang][11][] = $row->vorname.' '.$row->nachname.' '.$row->prestudent_id; $text .= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."
"; } } /* * Studiengang des Prestudenten passt nicht zu Studiengang des Studienplans */ $text .= "

Suche alle bei denen Studiengang des Prestudenten nicht zum Studiengang des Studienplans passt

"; $qry = " SELECT distinct tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang, tbl_prestudent.prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING(prestudent_id) JOIN lehre.tbl_studienplan USING(studienplan_id) JOIN lehre.tbl_studienordnung USING(studienordnung_id) JOIN public.tbl_person USING(person_id) WHERE tbl_prestudent.studiengang_kz<>tbl_studienordnung.studiengang_kz "; if ($studiengang_kz != '') $qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang][12][] = $row->vorname.' '.$row->nachname.' '.$row->prestudent_id; $text .= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."
"; } } /* * Studienplan ist nicht gueltig */ $text .= "

Studienplan ist im gewaehlten Ausbildungssemester nicht gueltig

"; $qry = " SELECT distinct tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id, tbl_studienplan.bezeichnung, tbl_prestudent.studiengang_kz as studiengang, tbl_prestudentstatus.status_kurzbz, tbl_prestudentstatus.studiensemester_kurzbz, tbl_prestudentstatus.ausbildungssemester FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING(prestudent_id) JOIN public.tbl_person USING(person_id) JOIN lehre.tbl_studienplan USING(studienplan_id) WHERE status_kurzbz in('Student', 'Interessent','Bewerber','Aufgenommener') AND NOT EXISTS ( SELECT 1 FROM lehre.tbl_studienplan_semester WHERE studienplan_id=tbl_prestudentstatus.studienplan_id AND tbl_studienplan_semester.semester = tbl_prestudentstatus.ausbildungssemester AND tbl_studienplan_semester.studiensemester_kurzbz = Tbl_prestudentstatus.studiensemester_kurzbz ) AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem); if ($studiengang_kz != '') $qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang][13][] = $row->vorname.' '.$row->nachname. ' ('.$row->studiensemester_kurzbz.' '.$row->status_kurzbz.' '.$row->ausbildungssemester.'.Sem) Studienplan:'.$row->bezeichnung; $text .= $row->vorname.' '.$row->nachname. ' ('.$row->studiensemester_kurzbz.' '.$row->status_kurzbz.' '.$row->ausbildungssemester.".Sem) Studienplan:'.$row->bezeichnung.'
"; } } /* * Aktive Studierende ohne Matrikelnummer */ $text .= "

Studierender hat keine Matrikelnummer

"; $qry = " SELECT distinct on (tbl_person.person_id) tbl_student.student_uid, tbl_prestudent.prestudent_id, tbl_prestudent.studiengang_kz as studiengang FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING(prestudent_id) JOIN public.tbl_person USING(person_id) JOIN public.tbl_student USING(prestudent_id) JOIN public.tbl_benutzer ON(tbl_student.student_uid=tbl_benutzer.uid) WHERE status_kurzbz in('Student', 'Diplomand', 'Absolvent', 'Abbrecher') AND tbl_prestudent.bismelden AND tbl_benutzer.aktiv AND (tbl_person.matr_nr is null OR tbl_person.matr_nr = '') AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem); if ($studiengang_kz != '') $qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang][14][] = $row->student_uid; } } /* * Bewerber die nicht zum Reihungstest angetreten gesetzt sind */ $text .= "

Bewerber aber kein ReihungstestAngetreten gesetzt

"; $lastSem = $studiensemester->getPreviousFrom($aktSem); $qry="SELECT vorname, nachname, tbl_prestudent.prestudent_id, studiengang_kz FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) JOIN public.tbl_person USING(person_id) LEFT JOIN bis.tbl_orgform USING(orgform_kurzbz) WHERE (studiensemester_kurzbz=".$db->db_add_param($aktSem)." OR studiensemester_kurzbz=".$db->db_add_param($lastSem).") AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND status_kurzbz='Bewerber' AND reihungstestangetreten=false "; if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang_kz][15][] = $row->vorname.' '.$row->nachname. ' (Prestudent ID: '.$row->prestudent_id.')'; $text .= $row->vorname.' '.$row->nachname. ' ('.$row->prestudent_id.')'; } } /* * Nation der Adresse ist ungleich Österreich, die Gemeinde ist aber in der Gemeinde Tabelle enthalten */ $text .= "

Adressnation ausserhalb Österreich mit Gemeinde in Gemeindetabelle

"; $lastSem = $studiensemester->getPreviousFrom($aktSem); $qry="SELECT tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz, tbl_student.student_uid FROM public.tbl_adresse JOIN public.tbl_prestudent USING(person_id) JOIN public.tbl_person USING(person_id) JOIN public.tbl_student USING(prestudent_id) JOIN public.tbl_benutzer ON(uid=student_uid) WHERE tbl_adresse.nation!='A' AND tbl_benutzer.aktiv AND gemeinde NOT IN ('Münster') AND EXISTS(SELECT 1 FROM bis.tbl_gemeinde WHERE name = tbl_adresse.gemeinde) ORDER BY tbl_prestudent.studiengang_kz, tbl_person.nachname "; if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang_kz][16][] = $row->vorname.' '.$row->nachname. ' ('.$row->student_uid.')'; $text .= $row->vorname.' '.$row->nachname. ' ('.$row->student_uid.')'; } } /* * Personen ohne Abschlussstatus */ $text .= "

Suche Personen ohne Abschlussstatus.

"; $qry = " SELECT distinct tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE NOT EXISTS( SELECT 1 FROM public.tbl_prestudentstatus ps JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE prestudent_id=tbl_prestudent.prestudent_id AND tbl_studiensemester.ende>now() ) AND '2018-01-01'<(SELECT max(datum) FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus ps WHERE prestudent_id=tbl_prestudent.prestudent_id AND status_kurzbz IN('Abbrecher','Abgewiesener','Absolvent','Incoming') )"; if ($studiengang_kz != '') $qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang][17][] = $row->vorname.' '.$row->nachname.' (PreStudent '.$row->prestudent_id.')'; $text .= $row->vorname.' '.$row->nachname.' (PreStudent '.$row->prestudent_id.")
"; } } // Ausgabe der Studenten foreach ($ausgabe as $stg_kz => $value) { //Wenn eine Studiengangskennzahl uebergeben wird, nur diese anzeigen und die anderen ueberspringen if ($studiengang_kz != $stg_kz) continue; $studiengang = new studiengang(); $studiengang->load($stg_kz); echo "

".$studiengang->bezeichnung." (".$studiengang->kurzbzlang.")

"; echo ""; foreach ($value as $code => $uid) { switch ($code) { case 1: echo ' '; break; case 2: echo " "; break; case 3: echo " "; break; case 4: echo " "; break; case 5: echo " "; break; case 6: echo " "; break; case 7: echo " "; break; case 8: echo " "; break; case 9: echo " "; break; case 10: echo " "; break; case 11: echo " "; break; case 12: echo " "; break; case 13: echo " "; break; case 14: echo " "; break; case 15: echo " "; break; case 16: echo " "; break; case 17: echo " "; break; default: echo ""; break; } foreach ($uid as $student_id) { echo ""; $student = new student(); if ($student->load($student_id)) echo ''; else echo ''; echo ""; } } echo "
 
Studenten deren Studiengänge (Prestudent <-> Student) nicht gleich sind
 
Abbrecher die noch aktiv sind
 
Studenten mit nicht identischen Organisationsformeinträgen (Studiengang <-> Prestudentstatus)
 
Abbrecher die wieder einen Status bekommen haben
 
Studenten deren Semester nicht mit dem Ausbildungssemester des aktuellen Status übereinstimmt
 
Inaktive Studenten mit einem aktiven Status
 
Studenten deren Inskription im aktuellen Semester vor der letzten BIS-Meldung liegt
 
Studenten die Datum und Studiensemester in deren Status in falscher Reihenfolge haben
 
Aktive Studenten die keinen Status im aktuellen oder nächsten Studiensemester haben
 
Bewerberstati die keiner Organisationsform zugeordnet sind
 
Studierendenstati die keiner Organisationsform zugeordnet sind
 
Studienplan passt nicht zum Studiengang des Studierenden
 
Studienplan ist in diesem Semester nicht gültig (nicht BIS relevant)
 
Aktive Studierende ohne Matrikelnummer
 
Folgende Personen wurden zu Bewerbern gemacht, sind aber nicht zum Reihungstest angetreten.
 
Folgende Personen haben eine Adresse mit einer Nation außerhalb Österreichs, die Gemeinde liegt aber in Österreich
 
Folgende Personen haben keinen Endstatus (Absolvent, Abbrecher oder Abgewiesener) (nicht BIS relevant)
 
Ungültiger Code
'.$student->vorname.''.$student->nachname.''.$student->uid.''.$student_id.'
"; } /** * Gibt das Datum der BIS Meldung des übergebenen Semesters zurück * @param string $semester Studiensemester_kurzbz. * @return Datum der BIS-Meldung des uebergebeben Semesters. */ function getDateForInscription($semester) { global $datum; $semesterYear = substr($semester, 2, 6); $semesterType = substr($semester, 0, 2); if ($semesterType == 'SS') { $date = "15.11.".($semesterYear - 1); $date = $datum->formatDatum($date, 'Y-m-d'); return $date; } if ($semesterType == 'WS') { $date = '15.04'.$semesterYear; $date = $datum->formatDatum($date, 'Y-m-d'); return $date; } } echo ' ';