diff --git a/system/checkStudenten.php b/system/checkStudenten.php
index 14791d7d4..1278dc2f6 100644
--- a/system/checkStudenten.php
+++ b/system/checkStudenten.php
@@ -25,17 +25,17 @@ 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/student.class.php');
require_once('../include/studiengang.class.php');
require_once('../include/functions.inc.php');
require_once('../include/datum.class.php');
$db = new basis_db();
$datum = new datum();
-$studiensemester = new studiensemester();
+$studiensemester = new studiensemester();
$aktSem = $studiensemester->getaktorNext();
-$nextSem = $studiensemester->getNextFrom($aktSem);
-$ausgabe = array();
+$nextSem = $studiensemester->getNextFrom($aktSem);
+$ausgabe = array();
$text ="";
?>
@@ -44,22 +44,22 @@ $text ="";
Check Studenten
-
+
Studenten Checkskript für BIS-Meldung
- ";
@@ -67,21 +67,21 @@ if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
- $ausgabe[$row->studiengang][1][]= $row->student_uid;
- $text.="Studenten-uid: ".$row->student_uid." ";
+ $ausgabe[$row->studiengang][1][]= $row->student_uid;
+ $text.="Studenten-uid: ".$row->student_uid." ";
}
}
else
- $text.="Fehler bei der Abfrage aufgetreten. ";
+ $text.="Fehler bei der Abfrage aufgetreten. ";
-/*
- * Abbrecher dürfen nicht mehr aktiv sein
+/*
+ * 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
+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)
@@ -91,12 +91,12 @@ if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
- $ausgabe[$row->studiengang][2][]= $row->uid;
- $text .="Studenten-uid: ".$row->uid." ";
+ $ausgabe[$row->studiengang][2][]= $row->uid;
+ $text .="Studenten-uid: ".$row->uid." ";
}
}
else
- $text.= "Fehler bei der Abfrage aufgetreten. ";
+ $text.= "Fehler bei der Abfrage aufgetreten. ";
@@ -104,10 +104,10 @@ else
* Organisationsform eines Studienganges, sollte mit den Organisationsformen der Studenten übereinstimmen
*/
-$text.= " Suche Studenten mit ungleichen Organisationsformeinträgen (Studiengang <--> Prestudentstatus) ... ";
+$text.= " Suche Studenten mit ungleichen Organisationsformeinträgen (Studiengang <--> Prestudentstatus) ... ";
-$orgArray = array();
-$orgForm = new organisationsform();
+$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
@@ -117,62 +117,62 @@ 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 = '$aktSem'
-order by student_uid; ";
+and prestudentstatus.studiensemester_kurzbz = '$aktSem'
+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;
+ $studOrgform = $row->studorgkz;
+ $student_uid = $row->student_uid;
+ $studentOrgform = $row->studentorgkz;
- $orgArray = $orgForm->checkOrgForm($studOrgform);
+ $orgArray = $orgForm->checkOrgForm($studOrgform);
if(is_array($orgArray))
{
if(!in_array($studentOrgform, $orgArray))
{
- $ausgabe[$row->studiengang][3][]= $row->student_uid;
+ $ausgabe[$row->studiengang][3][]= $row->student_uid;
$text.= "Student_uid: $student_uid ";
}
}
}
}
else
- $text.="Fehler bei der Abfrage aufgetreten. ";
-
+ $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... ";
+$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'; ";
+join public.tbl_prestudentstatus prestatus using(prestudent_id)
+where prestatus.status_kurzbz = 'Abbrecher'; ";
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);
-
+ $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." ";
+ $ausgabe[$row->studiengang][4][]= $student_uid;
+ $text.= "Studenten-uid: ".$student_uid." ";
}
}
}
@@ -180,55 +180,55 @@ if($db->db_query($qry))
/*
* 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();
+$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 = '$aktSem'
+join public.tbl_prestudentstatus status using(prestudent_id)
+WHERE status.studiensemester_kurzbz = '$aktSem'
and lv.studiensemester_kurzbz = '$aktSem' AND status.status_kurzbz NOT IN ('Interessent','Bewerber')
-and get_rolle_prestudent (prestudent_id, '$aktSem')='Student';";
+and get_rolle_prestudent (prestudent_id, '$aktSem')='Student';";
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
$student_uid = $row->student_uid;
-
+
if($row->ausbildungssemester != $row->semester)
{
- $ausgabe[$row->studiengang][5][]= $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 ... ";
+$text.=" Suche alle inaktiven Studenten mit einem aktiven Status ... ";
-$qry = "Select distinct(student.student_uid), student.studiengang_kz studiengang
-from public.tbl_benutzer benutzer
+$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'
+where benutzer.aktiv = 'false'
and get_rolle_prestudent (prestudent_id, '$aktSem') in ('Student', 'Diplomand', 'Unterbrecher', 'Praktikant')";
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
- $ausgabe[$row->studiengang][6][]= $row->student_uid;
- $text.="Studenten-uid: ".$row->student_uid." ";
+ $ausgabe[$row->studiengang][6][]= $row->student_uid;
+ $text.="Studenten-uid: ".$row->student_uid." ";
}
}
@@ -240,31 +240,31 @@ if($db->db_query($qry))
$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
+$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'";
+join public.tbl_prestudentstatus prestatus using(prestudent_id)
+where benutzer.aktiv = 'true'";
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);
+ $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." ";
+ $ausgabe[$row->studiengang][7][]= $row->student_uid;
+ $text.= $row->student_uid ." Inskribiert am: ".$datumInscription." BIS Meldung: ".$datumBIS." ";
}
}
@@ -273,69 +273,69 @@ if($db->db_query($qry))
/*
- * Datum und Studiensemester bei den Stati sind in falscher Reihenfolge
+ * 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 ... ";
+$text.=" Suche alle Studenten die Datum und Studiensemester in deren Stati in falscher Reihenfolge haben ... ";
$prestudentFirst = new prestudent();
$prestudentSecond = new prestudent();
-$i = 0;
+$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
+$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'
+where benutzer.aktiv = 'true'
+and status.status_kurzbz ='Student'
and status.studiensemester_kurzbz = '$aktSem';";
if($result = $db->db_query($qry_student))
{
while($student = $db->db_fetch_object($result))
- {
- $qry_orderSemester ="SELECT * FROM public.tbl_prestudentstatus status
+ {
+ $qry_orderSemester ="SELECT * FROM public.tbl_prestudentstatus status
join public.tbl_studiensemester semester using(studiensemester_kurzbz)
- where prestudent_id = '$student->prestudent_id'
- order by start DESC, datum DESC;";
-
+ where prestudent_id = '$student->prestudent_id'
+ order by start DESC, datum DESC;";
+
if($result1 = $db->db_query($qry_orderSemester))
{
$prestudentSecond->result = array();
- $prestudentFirst->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 = 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;
+ $prestudentStatus->updateamum = $row->updateamum;
+ $prestudentStatus->updatevon = $row->updatevon;
+ $prestudentStatus->ext_id = $row->ext_id;
+ $prestudentStatus->orgform_kurzbz = $row->orgform_kurzbz;
+
+ $prestudentFirst->result[] = $prestudentStatus;
}
}
- else
+ else
$text.= "Fehler";
if(!$prestudentSecond->getPrestudentRolle($student->prestudent_id,null,null,'Datum DESC, insertamum DESC'))
- $text.= "ERROR:".$prestudentSecond->errormsg;
-
+ $text.= "ERROR:".$prestudentSecond->errormsg;
+
for($i=0; $iresult); $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;
+ $ausgabe[$student->studiengang][8][]= $student->student_uid;
+ $text.= "Studenten-uid: ".$student->student_uid." ";
+ continue 2;
}
}
}
@@ -345,33 +345,33 @@ if($result = $db->db_query($qry_student))
* Aktive Studenten ohne Status in aktuellen Studiensemester
*/
-$prestudent = new prestudent();
-$text.=" Suche alle aktiven Studenten die keinen Status im aktuellen Studiensemester haben. ";
+$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
+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'";
+where benutzer.aktiv = 'true'";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
- if(!$prestudent->getLastStatus($row->prestudent_id, $aktSem)
+ if(!$prestudent->getLastStatus($row->prestudent_id, $aktSem)
&& !$prestudent->getLastStatus($row->prestudent_id, $nextSem))
{
- $ausgabe[$row->studiengang][9][]= $row->student_uid;
+ $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. ";
+$text.=" Suche alle Bewerber die keine Orgform eingetragen haben. ";
$qry ="
SELECT
@@ -385,21 +385,21 @@ 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);
+ AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem);
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." ";
+ $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 Bewerber die keine Orgform eingetragen haben. ";
+$text.=" Suche alle Bewerber die keine Orgform eingetragen haben. ";
$qry ="
SELECT
@@ -413,28 +413,56 @@ 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);
+ AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem);
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." ";
+ $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.*,
+ 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($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." ";
+ }
+}
+
// Ausgabe der Studenten
foreach($ausgabe as $stg_kz=>$value)
{
//Wenn eine Studiengangskennzahl uebergeben wird, nur diese anzeigen und die anderen ueberspringen
if(isset($_REQUEST['stg_kz']) && $_REQUEST['stg_kz']!=$stg_kz)
continue;
-
- $studiengang = new studiengang();
- $studiengang->load($stg_kz);
-
- echo "".$studiengang->bezeichnung ." (".$studiengang->kurzbzlang.") ";
- echo "";
+
+ $studiengang = new studiengang();
+ $studiengang->load($stg_kz);
+
+ echo "".$studiengang->bezeichnung ." (".$studiengang->kurzbzlang.") ";
+ echo "";
foreach($value as $code=>$uid)
{
switch ($code) {
@@ -448,7 +476,7 @@ foreach($ausgabe as $stg_kz=>$value)
echo " Studenten mit nicht identischen Organisationsformeinträgen (Studiengang <-> Prestudentstatus) ";
break;
case 4:
- echo " Abbrecher die wieder einen Status bekommen haben ";
+ echo " Abbrecher die wieder einen Status bekommen haben ";
break;
case 5:
echo " Studenten deren Semester nicht mit dem Ausbildungssemester des aktuellen Status übereinstimmt ";
@@ -471,28 +499,31 @@ foreach($ausgabe as $stg_kz=>$value)
case 11:
echo " Studierendenstati die keiner Organisationsform zugeordnet sind ";
break;
-
+ case 12:
+ echo " Studienplan passt nicht zum Studiengang des Studierenden ";
+ break;
+
default:
echo " Ungültiger Code ";
break;
}
foreach ($uid as $student_id)
- {
- echo "";
- $student = new student();
+ {
+ echo " ";
+ $student = new student();
if($student->load($student_id))
echo ''.$student->vorname.' '.$student->nachname.' '.$student->uid.' ';
else
- echo ''.$student_id,' ';
- echo " ";
+ echo ''.$student_id,' ';
+ echo "";
}
-
+
}
- echo "
";
+ echo "
";
}
-//echo $text;
+//echo $text;
/*
* Gibt das Datum der BIS Meldung des übergebenen Semesters zurück
@@ -500,24 +531,24 @@ foreach($ausgabe as $stg_kz=>$value)
function getDateForInscription ($semester)
{
global $datum;
-
+
$semesterYear = substr($semester,2,6);
- $semesterType = substr($semester,0,2);
-
+ $semesterType = substr($semester,0,2);
+
if($semesterType == 'SS')
{
- $date = "15.11.".($semesterYear-1);
+ $date = "15.11.".($semesterYear-1);
$date = $datum->formatDatum($date, 'Y-m-d');
- return $date;
+ return $date;
}
-
+
if($semesterType == 'WS')
{
- $date = '15.04'.$semesterYear;
- $date = $datum->formatDatum($date, 'Y-m-d');
- return $date;
+ $date = '15.04'.$semesterYear;
+ $date = $datum->formatDatum($date, 'Y-m-d');
+ return $date;
}
}
-?>
+?>