* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); $uid = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); if(!$rechte->isBerechtigt('student/stammdaten', null, 'suid')) die('Sie haben keine Berechtigung für diese Seite'); $error_log=''; $error_log_hinweis=''; $error_log1=''; $error_log_all=""; $fehler=''; $maxsemester=0; $v=''; $studiensemester=new studiensemester(); if (isset($_GET['studiensemester'])) { $ssem = $_GET['studiensemester']; $psem = $studiensemester->getPreviousFrom($ssem); } else { $ssem=$studiensemester->getaktorNext(); $psem=$studiensemester->getPrevious(); } $datei=''; $zaehl=0; $lehrgangsname = ''; $standortcode = null; $stsem_obj = new studiensemester(); $stsem_obj->load($ssem); //Beginn- und Endedatum des aktuellen Semesters $beginn=$stsem_obj->start; $ende=$stsem_obj->ende; //Ermittlung aktuelles und letztes BIS-Meldedatum if(mb_strstr($ssem,"WS")) { $bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); $bisprevious=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); } elseif(mb_strstr($ssem,"SS")) { $bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); $bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1)); } else { echo "Ungültiges Semester!"; } //ausgewählter Lehrgang if(isset($_GET['stg_kz'])) { if($_GET['stg_kz']<0) { $stg_kz=$_GET['stg_kz']; } else { echo "

Es wurde kein Lehrgang ausgewählt!

"; $stg_kz = ''; } } else { echo "

Es wurde kein Lehrgang ausgewählt!

"; $stg_kz = ''; exit; } //plausicheck if(isset($_GET['plausi'])) { $plausi=$_GET['plausi']; } // Select für Lehrgänge if ($rechte->isBerechtigt('admin')) { echo '
'; echo 'Studiengang: '; echo '
'; } if ($stg_kz == '') { exit(); } // Standortcode - Obsolete da Standort nun aus DB geholt wird - auch kein Eintrag in vilesci.config->BIS_STANDORTCODE_LEHRGAENGE noetig #####if (defined('BIS_STANDORTCODE_LEHRGAENGE') && BIS_STANDORTCODE_LEHRGAENGE != '0') #####{ ##### $standortcode = BIS_STANDORTCODE_LEHRGAENGE; #####} #####else #####{ ##### echo "

Standortcode für Lehrgänge fehlt.

"; ##### exit; #####} $datumobj=new datum(); // orgform codes auslesen $qry='SELECT * FROM bis.tbl_orgform'; if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { $orgform_code_array[$row->orgform_kurzbz]=$row->code; } } $qry = 'SELECT * FROM bis.tbl_gsstudientyp'; if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { $kodex_studientyp_array[$row->gsstudientyp_kurzbz]=$row->studientyp_code; } } // StudStatusCode $kodex_studstatuscode_array['Student'] =1; $kodex_studstatuscode_array['Unterbrecher']=2; $kodex_studstatuscode_array['Absolvent'] =3; $kodex_studstatuscode_array['Abbrecher'] =4; //Lehrgangsdaten auslesen $qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz=".$db->db_add_param($stg_kz); if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) { $stgart=$row->typ; $standortcode = $row->standort_code; $lgartcode = $row->lgartcode; $qrylgart = "SELECT lgart_biscode FROM bis.tbl_lgartcode WHERE lgartcode=".$db->db_add_param($row->lgartcode); if($result_lgartcode = $db->db_query($qrylgart)) { if($row_lgartcode = $db->db_fetch_object($result_lgartcode)) { $lgartcode=$row_lgartcode->lgart_biscode; } } $stgemail=$row->email; if(strlen(trim($row->erhalter_kz))==1) { $erhalter='00'.trim($row->erhalter_kz); } elseif(strlen(trim($row->erhalter_kz))==2) { $erhalter='0'.trim($row->erhalter_kz); } else { $erhalter=$row->erhalter_kz; } $lehrgangsname = $row->bezeichnung; } } $lehrgangsnummer = $erhalter.sprintf('%04s', abs($stg_kz)); $tabelle = ''; $anzahl_gemeldet=0; //Hauptselect $qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat, tbl_studiengang.orgform_kurzbz AS stg_orgform_kurzbz FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) JOIN public.tbl_person USING (person_id) JOIN public.tbl_prestudent USING (prestudent_id) JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) JOIN public.tbl_studiengang ON(tbl_prestudent.studiengang_kz=tbl_studiengang.studiengang_kz) WHERE bismelden IS TRUE AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") AND (status_kurzbz='Student' OR status_kurzbz='Outgoing' OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent' OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher')) OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent' OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).") OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") OR (tbl_bisio.von<".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) ))) ORDER BY student_uid, nachname, vorname "; if($result = $db->db_query($qry)) { $datei.=" ".$erhalter." ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." ".$lehrgangsnummer.""; while($row = $db->db_fetch_object($result)) { //Pruefen ob Ausserordnetlicher Studierender (4.Stelle in Personenkennzeichen = 9) if(mb_substr($row->matrikelnr,3,1)=='9') $ausserordentlich=true; else $ausserordentlich=false; //Plausichecks $qryadr="SELECT * FROM public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id=".$db->db_add_param($row->pers_id).";"; $results=$db->db_query($qryadr); if($anz=$db->db_num_rows($results)!=1) { $error_log1="Es sind ".$anz." Heimatadressen eingetragen\n"; } if($rowadr=$db->db_fetch_object($results)) { $plz=$rowadr->plz; $gemeinde=$rowadr->gemeinde; $strasse=$rowadr->strasse; $nation=$rowadr->nation; $co_name = $rowadr->co_name; } else { $plz=''; $gemeinde=''; $strasse=''; $nation=''; $co_name = ''; } // Zustelladresse & c/o Name(=abweichender Empfaenger) $qryzustelladr = " SELECT * FROM public.tbl_adresse WHERE zustelladresse IS TRUE AND person_id=". $db->db_add_param($row->pers_id). "; "; $results = $db->db_query($qryzustelladr); if ($db->db_num_rows($results) != 1) { $error_log1.= "Es sind ".$db->db_num_rows($results)." Zustelladressen eingetragen\n"; } $zustell_plz = ''; $zustell_gemeinde = ''; $zustell_strasse = ''; $zustell_nation = ''; if ($rowzustelladr = $db->db_fetch_object($results)) { $zustell_plz = $rowzustelladr->plz; $zustell_gemeinde = $rowzustelladr->gemeinde; $zustell_strasse = $rowzustelladr->strasse; $zustell_nation = $rowzustelladr->nation; } // FH eMail-Adresse FH aus UID@Domain $email = ''; if ($row->student_uid != '') { $email = $row->student_uid. '@'. DOMAIN; } // private eMail-Adresse $email_privat = ''; $qry_privmail = " SELECT kontakt FROM public.tbl_kontakt WHERE zustellung = TRUE AND kontakttyp = 'email' AND person_id=". $db->db_add_param($row->pers_id). " ORDER BY insertamum DESC LIMIT 1; "; if ($privmail_result = $db->db_query($qry_privmail)) { if($db->db_num_rows($privmail_result) == 1) { if ($row_privmail = $db->db_fetch_object($privmail_result)) { $email_privat = $row_privmail->kontakt; } } } if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='') { $error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; } if($row->geschlecht!='m' && $row->geschlecht!='w' && $row->geschlecht!='x') { $error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')"; } if($row->vorname=='' || $row->vorname==null) { $error_log.=(!empty($error_log)?', ':'')."Vorname ('".$row->vorname."')"; } if($row->nachname=='' || $row->nachname==null) { $error_log.=(!empty($error_log)?', ':'')."Nachname ('".$row->nachname."')"; } if($row->matr_nr=='') { $error_log.=(!empty($error_log)?', ':'')."Matrikelnummer fehlt"; } if($row->matr_nr!='' && $row->matr_nr!=null && mb_strlen(trim($row->matr_nr))!=8) { $error_log.=(!empty($error_log)?', ':'')."Matrikelnummer ('".trim($row->matr_nr)."') ist nicht 8 Zeichen lang"; } //SVNR mu߸ 10-stellig sein if($row->svnr!='' && $row->svnr!=null && mb_strlen(trim($row->svnr))!=10) { $error_log.=(!empty($error_log)?', ':'')."SVNR ('".trim($row->svnr)."') ist nicht 10 Zeichen lang"; } //Ersatzkennzeichen muß 10-stellig sein if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && mb_strlen(trim($row->ersatzkennzeichen))!=10) { $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".trim($row->ersatzkennzeichen)."') ist nicht 10 Zeichen lang"; } //Vergleich der letzten 6 Stellen der SVNR mit Geburtsdatum - ausser bei 01.01. und 01.07. if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107') { $error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; } //Vergleich der letzten 6 Stellen des Ersatzkennzeichen mit Geburtsdatum if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat) { $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".$row->ersatzkennzeichen."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; } // Wenn SVNR fehlt, darf Ersatzkennzeichen nicht fehlen (und umgekehrt) if(($row->svnr=='' || $row->svnr==null)&&($row->ersatzkennzeichen=='' || $row->ersatzkennzeichen==null)) { $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') bzw. ErsKz ('".$row->ersatzkennzeichen."') fehlt"; } if($row->staatsbuergerschaft=='' || $row->staatsbuergerschaft==null) { $error_log.=(!empty($error_log)?', ':'')."Staatsbürgerschaft ('".$row->staatsbuergerschaft."')"; } if($plz=='' || $plz==null) { $error_log.=(!empty($error_log)?', ':'')."Heimat-PLZ ('".$plz."')"; } if($gemeinde=='' || $gemeinde==null) { $error_log.=(!empty($error_log)?', ':'')."Heimat-Gemeinde ('".$gemeinde."')"; } if($strasse=='' || $strasse==null) { $error_log.=(!empty($error_log)?', ':'')."Heimat-Strasse ('".$strasse."')"; } if($nation=='' || $nation==null) { $error_log.=(!empty($error_log)?', ':'')."Heimat-Nation ('".$nation."')"; } if($row->zgv_code=='' || $row->zgv_code==null) { $error_log.=(!empty($error_log)?', ':'')."ZugangCode ('".$row->zgv_code."')"; } if($row->zgvdatum=='' || $row->zgvdatum==null) { $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."')"; } else { if($row->zgvdatum>date('Y-m-d')) { $error_log.=(!empty($error_log)?', ':'')."ZugangDatum liegt in der Zukunft ('".$row->zgvdatum."')"; } if($row->zgvdatum<$row->gebdatum) { $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; } } if($lgartcode==1) { if($row->zgvmas_code=='' || $row->zgvmas_code==null) { $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgCode ('".$row->zgvmas_code."')"; } if($row->zgvmadatum=='' || $row->zgvmadatum==null) { $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."')"; } else { if($row->zgvmadatum>date("Y-m-d")) { $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum liegt in der Zukunft ('".$row->zgvmadatum."')"; } if($row->zgvmadatum<$row->zgvdatum) { $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Zugangdatum ('".$row->zgvdatum."')"; } if($row->zgvmadatum<$row->gebdatum) { $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; } } } if($row->bpk == '' || $row->bpk == null) { $error_log_hinweis .= (!empty($error_log_hinweis) ? ', ' : '') . "bPK fehlt"; } if($row->bpk != '' && $row->bpk != null) { if (!preg_match('/[a-zA-Z0-9\+\/]{27}=/', $row->bpk)) { $error_log.=(!empty($error_log) ? ', ' : ''). "bPK-Zeichenfolge ist ungültig"; } if (strlen($row->bpk) != 28) { $error_log.=(!empty($error_log) ? ', ' : ''). "bPK ist nicht 28 Zeichen lang"; } } if ($zustell_plz == '' || $zustell_plz == null) { $error_log.=(!empty($error_log)?', ':'')."Zustell-PLZ fehlt"; } if ($zustell_gemeinde == '' || $zustell_gemeinde == null) { $error_log.=(!empty($error_log)?', ':'')."Zustell-Gemeinde fehlt"; } if ($zustell_strasse == '' || $zustell_strasse == null) { $error_log.=(!empty($error_log)?', ':'')."Zustell-Strasse fehlt"; } if ($zustell_nation == '' || $zustell_nation == null) { $error_log.=(!empty($error_log)?', ':'')."Zustell-Nation fehlt"; } if ($email == '' || $email == null) { $error_log.=(!empty($error_log)?', ':'')."eMail Adresse fehlt oder eMail-Zustellung auf 'Nein' gesetzt."; } $aktstatus_stsem = $ssem; //Bestimmen der aktuellen Prestudentrolle (Status) und des akt. Ausbildungssemesters des Studenten $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($ssem)." AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum desc, insertamum desc, ext_id desc;"; if($resultstatus = $db->db_query($qrystatus)) { if($db->db_num_rows($resultstatus)>0) { if($rowstatus = $db->db_fetch_object($resultstatus)) { $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; if($result1 = $db->db_query($qry1)) { if($row1 = $db->db_fetch_object($result1)) { $sem=$rowstatus->ausbildungssemester; if($sem>$maxsemester) { $sem=$maxsemester; } if($row1->dipl>1) { $sem=50; } if($row1->dipl>3) { $sem=60; } } } if($rowstatus->status_kurzbz=="Student" || $rowstatus->status_kurzbz=='Praktikant' || $rowstatus->status_kurzbz=="Diplomand") { $status=1; $meldestatus='I'; } else if($rowstatus->status_kurzbz=="Unterbrecher" ) { $status=2; $meldestatus='U'; } else if($rowstatus->status_kurzbz=="Absolvent" ) { $status=3; $meldestatus='I'; } else if($rowstatus->status_kurzbz=="Abbrecher" ) { $status=4; $meldestatus='O'; } else { $error_log=''; $error_log1=''; $error_log_hinweis=''; continue; } $aktstatus=$rowstatus->status_kurzbz; $aktstatus_datum=$rowstatus->datum; $storgform=$rowstatus->orgform_kurzbz; $aktstatus_stsem = $rowstatus->studiensemester_kurzbz; } } else { $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($psem)." AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum desc, insertamum desc, ext_id desc;"; if($resultstatus = $db->db_query($qrystatus)) { if($rowstatus = $db->db_fetch_object($resultstatus)) { $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; if($result1 = $db->db_query($qry1)) { if($row1 = $db->db_fetch_object($result1)) { $sem=$rowstatus->ausbildungssemester; if($sem>$maxsemester) { $sem=$maxsemester; } if($row1->dipl>1) { $sem=50; } if($row1->dipl>3) { $sem=60; } } } if($rowstatus->status_kurzbz=="Absolvent" ) { $status=3; $meldestatus='I'; } else if($rowstatus->status_kurzbz=="Abbrecher" ) { $status=4; $meldestatus='O'; } else { $error_log=''; $error_log1=''; $error_log_hinweis=''; continue; } $aktstatus=$rowstatus->status_kurzbz; $aktstatus_datum=$rowstatus->datum; $storgform=$rowstatus->orgform_kurzbz; $aktstatus_stsem = $rowstatus->studiensemester_kurzbz; } } } } //Wenn im Status keine Organisationsform eingetragen ist, wird die des Studienganges uebernommen if($storgform=='') { //$storgform=$orgform_kurzbz; $storgform=$row->stg_orgform_kurzbz; } // **** GS Container ****/ $gsstatus=''; $gsblock=''; $qrygs="SELECT tbl_mobilitaet.*, tbl_gsprogramm.programm_code, tbl_gsprogramm.studienkennung_uni, tbl_firma.partner_code FROM bis.tbl_mobilitaet LEFT JOIN bis.tbl_gsprogramm USING(gsprogramm_id) LEFT JOIN public.tbl_firma USING(firma_id) WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND (studiensemester_kurzbz=".$db->db_add_param($aktstatus_stsem)." OR (studiensemester_kurzbz=".$db->db_add_param($psem)." AND status_kurzbz = 'Absolvent')) ORDER BY tbl_mobilitaet.insertamum DESC limit 1;"; $studtyp = ''; if($resultgs = $db->db_query($qrygs)) { while($rowgs = $db->db_fetch_object($resultgs)) { $gsstatus = 'GS '.$rowgs->status_kurzbz.' '.$row->gsstudientyp_kurzbz; $studtyp = $kodex_studientyp_array[$row->gsstudientyp_kurzbz]; $studstatuscode = (isset($kodex_studstatuscode_array[$rowgs->status_kurzbz])?$kodex_studstatuscode_array[$rowgs->status_kurzbz]:''); $gserror=''; if($studstatuscode=='') $gserror.="     Gemeinsame Studien - Status ist nicht gesetzt\n"; if($studtyp=='') $gserror.="     Gemeinsame Studien - Studientyp ist nicht gesetzt\n"; if($rowgs->partner_code=='') $gserror.="     Gemeinsame Studien - Partner Code ist leer\n"; if($rowgs->programm_code=='') $gserror.="     Gemeinsame Studien - Programm ist leer\n"; if($gserror!='') { $v.="Bei Student (UID, Nachname, Vorname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; $v.=$gserror."\n"; return ''; } $gsblock.=" ".$rowgs->mobilitaetsprogramm_code." ".$rowgs->programm_code." ".$studtyp." ".$rowgs->partner_code." ".$studstatuscode.""; if (isset($rowgs->studienkennung_uni)) { $gsblock.=" ".$rowgs->studienkennung_uni.""; } $gsblock.=" "; } } //bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen if($aktstatus=='Absolvent') { $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid=".$db->db_add_param($row->student_uid)." AND abschlussbeurteilung_kurzbz!='nicht' AND abschlussbeurteilung_kurzbz IS NOT NULL"; if($result_ap = $db->db_query($qry_ap)) { $ap=0; while($row_ap = $db->db_fetch_object($result_ap)) { if($row_ap->datum=='' || $row_ap->datum==null) { $error_log.=(!empty($error_log)?', ':'')."Datum der Abschlussprüfung ('".$row_ap->datum."')"; } if($row_ap->sponsion=='' || $row_ap->sponsion==null) { $error_log.=(!empty($error_log)?', ':'')."Datum der Sponsion ('".$row_ap->sponsion."')"; } $ap++; $sponsion=$row_ap->sponsion; } if($ap!=1) { $error_log.=(!empty($error_log)?', ':'').$ap." bestandene Abschlussprüfungen"; } } } $ausstellungsstaat = ''; $ausstellungsstaat_master = ''; if($row->zgvmanation!='' && $lgartcode==1) // Master Lehrgang $ausstellungsstaat_master = $row->zgvmanation; if($row->zgvnation!='') $ausstellungsstaat = $row->zgvnation; else $ausstellungsstaat = $row->ausstellungsstaat; if($ausstellungsstaat == '' && ausstellungsstaat_master == '') { $error_log.=(!empty($error_log)?', ':'')." Ausstellungsstaat fehlt"; } if($error_log!='' OR $error_log1!='') { //Ausgabe der fehlenden Daten $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; if($error_log!='') { $v.="     Fehler: ".$error_log."\n"; } if($error_log1!='') { $v.="     ".$error_log1; } if($error_log_hinweis != '') { $v.="     ".$error_log_hinweis." (Nicht BIS-Relevant)\n"; $error_log_hinweis = ''; } $zaehl++; $v.="\n"; $error_log=''; $error_log1=''; continue; } else { if($error_log_hinweis != '') { $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; $v.="     ".$error_log_hinweis." (Nicht BIS-Relevant)\n"; $error_log_hinweis = ''; } $anzahl_gemeldet++; $tabelle.=''; //Erstellung der XML-Datei $datei.=" ".trim($row->matrikelnr)." ".$row->matr_nr.""; if (!$ausserordentlich) { $datei .= " " . $orgform_code_array[$storgform] . ""; } $datei.=" ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." ".strtoupper($row->geschlecht).""; if ($row->titelpre != '') { $datei .= " " . $row->titelpre . ""; } if ($row->titelpost != '') { $datei .= " " . $row->titelpost . ""; } $datei .= " ".$row->vorname." ".$row->nachname.""; if($row->svnr!='') { $datei.=" ".$row->svnr.""; } // Ersatzkennzeichen nur inkludieren wenn svnr nicht gesetzt if($row->ersatzkennzeichen!='' && $row->svnr == null) { $datei.=" ".$row->ersatzkennzeichen.""; } if($row->bpk != '' && $row->bpk != null) { $datei.=" ".$row->bpk.""; } $datei.=" ".$row->staatsbuergerschaft." ".$plz." ".$gemeinde." ".$nation." ". $zustell_plz. " ". $zustell_gemeinde. " ". $zustell_strasse. " ". $zustell_nation. ""; if ($co_name != '') { $datei .= " ". $co_name. ""; } $datei.=" ". $email_privat. " ". $email. " ".$row->zgv_code." ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; if ($ausstellungsstaat != '') { $datei.=" ".$ausstellungsstaat.""; } if($lgartcode==1) { $datei.=" ".$row->zgvmas_code." ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; if ($ausstellungsstaat_master != '') { $datei.=" ".$ausstellungsstaat_master.""; } } $qryad="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)." AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum asc;"; if($resultad = $db->db_query($qryad)) { if($rowad = $db->db_fetch_object($resultad)) { $datei.=" ".date("dmY", $datumobj->mktime_fromdate($rowad->datum)).""; } } if($aktstatus=='Absolvent') { $datei.=" ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; } if($aktstatus=='Abbrecher') { $datei.=" ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; } $datei.=" ".$status." ".$meldestatus." ".$standortcode.""; $datei.= $gsblock; $datei.=" "; } } $tabelle.='
UID Nachname Vorname PersKz
'.$row->student_uid.''.$row->nachname.''.$row->vorname.''.$row->matrikelnr.'
'; $datei.=" "; echo ' BIS - Lehrgangsmeldung - '.$lehrgangsname.' ('.$lehrgangsnummer.') '; echo "

BIS - Studentendaten werden überprüft! Lehrgang: ".$lehrgangsname.' ('.$lehrgangsnummer.")

\n"; if(strlen(trim($v))>0) { echo "

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


"; echo nl2br($v."\n\n"); } $ddd='bisdaten/bismeldung_'.$ssem.'_Lehrgang'.$lehrgangsnummer.'.xml'; $dateiausgabe=fopen($ddd,'w'); fwrite($dateiausgabe,$datei); fclose($dateiausgabe); if(file_exists($ddd)) { echo "XML-Datei für BIS-Meldung Lehrgang ".$lehrgangsname.' ('.$lehrgangsnummer.")
"; } echo '
'; echo '
Folgende Personen sind in der Meldung enthalten:

'; echo 'Anzahl:'.$anzahl_gemeldet; echo $tabelle; } ?>