From 2c2a23dfe90ccaaf3834e06b57ffdf6cdb349403 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Thu, 28 Nov 2019 17:18:51 +0100 Subject: [PATCH 1/2] Bugfix Studentencheck MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Verbesserungen Studentenmeldung: - Select zum Wechseln der Studiengänge für Admins - Studiensemester als GET-Param für vergangene Meldungen --- system/checkStudenten.php | 16 ++++---- vilesci/bis/studentenmeldung.php | 64 +++++++++++++++++++++++++++++--- 2 files changed, 65 insertions(+), 15 deletions(-) diff --git a/system/checkStudenten.php b/system/checkStudenten.php index ee1089f86..2590574db 100644 --- a/system/checkStudenten.php +++ b/system/checkStudenten.php @@ -244,8 +244,9 @@ FROM 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') - AND get_rolle_prestudent (prestudent_id, ".$db->db_add_param($aktSem).")='Student'"; + 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); @@ -256,11 +257,8 @@ if ($db->db_query($qry)) { $student_uid = $row->student_uid; - if ($row->ausbildungssemester != $row->semester) - { - $ausgabe[$row->studiengang][5][] = $student_uid; - $text .= "Studenten-uid: ".$student_uid."
"; - } + $ausgabe[$row->studiengang][5][] = $student_uid; + $text .= "Studenten-uid: ".$student_uid."
"; } } @@ -623,7 +621,7 @@ 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_person.matr_nr is null OR tbl_person.matr_nr = '') AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem); if ($studiengang_kz != '') @@ -655,7 +653,7 @@ if ($result = $db->db_query($qry)) while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang_kz][15][] = $row->vorname.' '.$row->nachname. - ' ('.$row->prestudent_id.')'; + ' (Prestudent ID: '.$row->prestudent_id.')'; $text .= $row->vorname.' '.$row->nachname. ' ('.$row->prestudent_id.')'; } diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index eab717bea..7f86ca8b9 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -37,6 +37,7 @@ require_once('../../include/studiengang.class.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/bisio.class.php'); +require_once('../../include/prestudent.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -56,8 +57,18 @@ $fehler=''; $maxsemester=0; $v=''; $studiensemester=new studiensemester(); -$ssem=$studiensemester->getaktorNext(); -$psem=$studiensemester->getPrevious(); +// Wenn Studiensemester als GET übergeben wird, dieses laden, sonst getaktorNext() +if (isset($_GET['studiensemester'])) +{ + $ssem = $_GET['studiensemester']; + $psem = $studiensemester->getPreviousFrom($ssem); +} +else +{ + $ssem = $studiensemester->getaktorNext(); + $psem = $studiensemester->getPrevious(); +} + $anzahl_fehler=0; $erhalter=''; $stgart=''; @@ -350,7 +361,46 @@ echo ' '; -echo "

BIS - Studentendaten werden überprüft! Studiengang: ".$db->convert_html_chars($stg_kz)."

\n"; +if ($rechte->isBerechtigt('admin')) +{ + echo '
'; + echo 'Studiengang: '; + echo '
'; +} +$studiengang = new studiengang($stg_kz); +$typ = new studiengang($stg_kz); +$typ->getStudiengangTyp($studiengang->typ); +echo "

BIS - Studentendaten werden überprüft! Studiengang: ".$db->convert_html_chars($stg_kz)." - ".$typ->bezeichnung." ".$studiengang->bezeichnung."

\n"; echo "

Nicht plausible BIS-Daten (für Meldung ".$db->convert_html_chars($ssem)."):


"; echo nl2br($v."\n\n"); @@ -564,6 +614,9 @@ function GenerateXMLStudentBlock($row) $datei = ''; $datumobj = new datum(); + $laststatus = new prestudent(); + $laststatus->getLastStatus($row->prestudent_id); + //Pruefen ob Ausserordnetlicher Studierender (4.Stelle in Personenkennzeichen = 9) if(mb_substr($row->matrikelnr,3,1)=='9') $ausserordentlich=true; @@ -839,7 +892,6 @@ function GenerateXMLStudentBlock($row) } } //Wenn im Status keine Organisationsform eingetragen ist, wird die des Studienganges uebernommen - //echo '
', var_dump($storgform), '
'; if($storgform=='') { // Wenn FHTW und studiengang_kz 10006 (Campus International) wird die OrgForm des Studiengangs vom Incoming ermittelt @@ -893,7 +945,7 @@ function GenerateXMLStudentBlock($row) if($gserror!='') { - $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; + $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($laststatus->status_kurzbz): \n"; $v.=$gserror."\n"; return ''; } @@ -997,7 +1049,7 @@ function GenerateXMLStudentBlock($row) if($error_log!='' OR $error_log1!='') { - $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; + $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($laststatus->status_kurzbz): \n"; if($error_log!='') { $v.="     Fehler: ".$error_log."\n"; From fc54fcb049b4967146867cef498075a0ccbf9293 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Thu, 28 Nov 2019 17:21:43 +0100 Subject: [PATCH 2/2] Anpassung Statistik an zentrale RT --- content/statistik/bewerberstatistik.php | 36 ++++++++++++++++++------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/content/statistik/bewerberstatistik.php b/content/statistik/bewerberstatistik.php index ff61e92f4..766a7d143 100644 --- a/content/statistik/bewerberstatistik.php +++ b/content/statistik/bewerberstatistik.php @@ -288,7 +288,13 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + AND ( + anmeldedatum<=".$db->db_add_param($datum)." + OR + (anmeldedatum is null + AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).") + ) + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ ) ) AS interessentenrtanmeldung, (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) @@ -304,7 +310,13 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + AND ( + anmeldedatum<=".$db->db_add_param($datum)." + OR + (anmeldedatum is null + AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).") + ) + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ ) ) AS interessentenrtanmeldung_m, (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) @@ -320,7 +332,13 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + AND ( + anmeldedatum<=".$db->db_add_param($datum)." + OR + (anmeldedatum is null + AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).") + ) + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ ) ) AS interessentenrtanmeldung_w, @@ -823,7 +841,7 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ AND ( anmeldedatum<=".$db->db_add_param($datum)." OR @@ -845,7 +863,7 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ AND (anmeldedatum<=".$db->db_add_param($datum)." OR (anmeldedatum is null @@ -866,7 +884,7 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ AND (anmeldedatum<=".$db->db_add_param($datum)." OR (anmeldedatum is null @@ -1344,7 +1362,7 @@ else //im Kopf des Mails Links zu den anderen Statistiken anzeigen $content .= 'Dies ist ein automatisches Mail!

'; $content .= 'Links zu den Statistiken:
- - LektorInnenstatisitk
+ - LektorInnenstatistik
- MitarbeiterInnenstatistik
- BewerberInnenstatistik
- Studierendenstatistik
@@ -1437,7 +1455,7 @@ else } $content .= ' -

BewerberInnenstatistik '.$stsem.''.date('d.m.Y').'


+

BewerberInnenstatistik '.$stsem.' '.date('d.m.Y').'


'; if ($stsem != '') { @@ -1891,7 +1909,7 @@ else $content .= '

-

BewerberInnenstatistik '.$stsem.''.$datum_obj->formatDatum($datum, 'd.m.Y').'


+

BewerberInnenstatistik '.$stsem.' '.$datum_obj->formatDatum($datum, 'd.m.Y').'


'; //Bewerberdaten holen $qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,