From 437f1f69db506dedd4df7f0aafa9ad2a89e9edac Mon Sep 17 00:00:00 2001 From: Rudolf Hangl Date: Fri, 21 Aug 2009 10:30:33 +0000 Subject: [PATCH] --- vilesci/bis/checkfunktion.php | 819 +++++++++++++++++++++++-------- vilesci/bis/lehrgangsmeldung.php | 618 +++++++++++++++++++++++ 2 files changed, 1234 insertions(+), 203 deletions(-) create mode 100644 vilesci/bis/lehrgangsmeldung.php diff --git a/vilesci/bis/checkfunktion.php b/vilesci/bis/checkfunktion.php index c55a9e945..d35053363 100644 --- a/vilesci/bis/checkfunktion.php +++ b/vilesci/bis/checkfunktion.php @@ -1,203 +1,616 @@ - - * 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/basis_db.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - - -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/bisfunktion.class.php'); -require_once('../../include/studiengang.class.php'); - -$funktion_geaendert=0; -$funktion_hinzugefuegt=0; -$funktion_error=0; -$verwendung_not_found=0; -$verwendung_multiple=0; -$funktion_ohne_lehrauftrag=0; -$user = get_uid(); -$wochen=BIS_SWS_WOCHEN; - -$stg_arr = array(); -$stg_obj = new studiengang(); -$stg_obj->getAll(null, false); -$lastbismeldung = date('Y-m-d',mktime(0,0,0,11,15,date('Y')-1)); -foreach ($stg_obj->result as $stg) -{ - $stg_arr[$stg->studiengang_kz] = $stg->kuerzel; -} - -echo ' - - Check Funktion - - - - -

Mitarbeiter BIS-Funktion Check

- '; - -$stsem = new studiensemester(); -$stsemprev = $stsem->getPrevious(); -$stsemprevprev = $stsem->getBeforePrevious(); - -echo "Generiere Funktionen für $stsemprevprev/$stsemprev
"; - -$qry = "SELECT tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.studiengang_kz, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semstd - FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung - WHERE - tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - (studiensemester_kurzbz='$stsemprev' OR studiensemester_kurzbz='$stsemprevprev') AND - bismelden=true AND tbl_lehreinheitmitarbeiter.semesterstunden>0 GROUP BY mitarbeiter_uid, studiengang_kz"; - -if($result = $db->db_query($qry)) -{ - $lastuid=''; - while($row = $db->db_fetch_object($result)) - { - if($lastuid!=$row->mitarbeiter_uid) - { - $lastuid=$row->mitarbeiter_uid; - //Verwendung suchen - $person_error=false; - $qry_verw = "SELECT * FROM bis.tbl_bisverwendung WHERE (ende>now() OR ende is null OR ende>'$lastbismeldung') AND mitarbeiter_uid='$row->mitarbeiter_uid' order by beginn DESC"; - if($result_verw = $db->db_query($qry_verw)) - { - if($db->db_num_rows($result_verw)==0) - { - echo "
Es wurde keine Verwendung fuer $row->mitarbeiter_uid gefunden"; - $person_error = true; - $verwendung_not_found++; - } - else - { - if($row_verw = $db->db_fetch_object($result_verw)) - $verwendung_id = $row_verw->bisverwendung_id; - else - { - echo "
Fehler beim Holen der Verwendung von $row->mitarbeiter_uid"; - $person_error = true; - } - } - - if($db->db_num_rows($result_verw)>1) - { - echo "
Es wurde mehr als eine Verwendung bei $row->mitarbeiter_uid gefunden - es wird die Verwendung $verwendung_id verwendet"; - $verwendung_multiple++; - } - } - else - { - echo "
Fehler beim Ermitteln der Verwendung ".$db->db_last_error(); - $person_error = true; - } - } - - if(!$person_error) - { - //SWS berechnen - $swsneu = round($row->semstd/$wochen, 2); - - //Funktion fuer diesen Studiengang suchen - $bisfunktion = new bisfunktion(); - - if($bisfunktion->load($verwendung_id, $row->studiengang_kz)) - { - $bisfunktion->new = false; - - if($bisfunktion->sws!=$swsneu) - { - echo "
$row->mitarbeiter_uid: Funktion bei Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) wird von $bisfunktion->sws auf $swsneu geaendert"; - $bisfunktion->sws = $swsneu; - $funktion_geaendert++; - } - } - else - { - $bisfunktion->insertamum = date('Y-m-d H:i:s'); - $bisfunktion->insertvon = $user; - $bisfunktion->studiengang_kz = $row->studiengang_kz; - $bisfunktion->sws = $swsneu; - $bisfunktion->new = true; - $bisfunktion->bisverwendung_id = $verwendung_id; - $funktion_hinzugefuegt++; - } - $bisfunktion->updateamum = date('Y-m-d H:i:s'); - $bisfunktion->updatevon = $user; - - if(!$bisfunktion->save()) - { - echo "
$row->mitarbeiter_uid: Fehler beim Anlegen der Funktion ".$bisfunktion->errormsg; - if($bisfunktion->new) - $funktion_hinzugefuegt--; - else - $funktion_geaendert--; - $funktion_error++; - } - } - } - - echo '

'; - echo 'Check fuer nicht benoetigte Funktionen'; - $qry = "SELECT * FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id) - WHERE (mitarbeiter_uid, studiengang_kz) NOT IN ( - SELECT mitarbeiter_uid, studiengang_kz - FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - (tbl_lehreinheit.studiensemester_kurzbz='$stsemprev' OR tbl_lehreinheit.studiensemester_kurzbz='$stsemprevprev')) - AND (ende>'$lastbismeldung' OR ende is null) - ORDER BY mitarbeiter_uid, studiengang_kz"; - if($result = $db->db_query($qry)) - { - $funktion_ohne_lehrauftrag = $db->db_num_rows($result); - - while($row = $db->db_fetch_object($result)) - { - echo "
$row->mitarbeiter_uid hat im Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) eine Funktion ohne Lehrauftrag"; - } - } - echo "Loeschen der Funktionen mit: DELETE FROM bis.tbl_bisfunktion where (studiengang_kz, bisverwendung_id) in (SELECT studiengang_kz, bisverwendung_id FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id) - WHERE (mitarbeiter_uid, studiengang_kz) NOT IN ( - SELECT mitarbeiter_uid, studiengang_kz - FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - (tbl_lehreinheit.studiensemester_kurzbz='$stsemprevprev' OR tbl_lehreinheit.studiensemester_kurzbz='$stsemprev')) - AND (ende>'$lastbismeldung' OR ende is null))"; - echo '

'; - echo '

Uebersicht

'; - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo '
Nicht vorhandene Verwendungen$verwendung_not_found
Mehrere moegliche Verwendungen vorhanden$verwendung_multiple
Fehler bei Funktionen$funktion_error
Funktionen ohne Lehrauftrag$funktion_ohne_lehrauftrag
  
Funktionen hinzugefuegt$funktion_hinzugefuegt
Funktionen geaendert$funktion_geaendert
'; -} + + * 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('../../include/studiensemester.class.php'); + require('../../include/datum.class.php'); + + if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$error_log=''; +$error_log1=''; +$error_log_all=""; +$stgart=''; +$fehler=''; +$maxsemester=0; +$v=''; +$studiensemester=new studiensemester(); +$ssem=$studiensemester->getaktorNext(); +$psem=$studiensemester->getPrevious(); +$zaehl=0; +$erhalter=''; +$stgart=''; +$orgform=''; +$status=''; +$datei=''; +$aktstatus=''; +$aktstatus_datum=''; +$mob=''; +$gast=''; +$avon=''; +$abis=''; +$zweck=''; +$bewerberM=array(); +$bewerberW=array(); +$bsem=array(); +$stsem=array(); +$usem=array(); +$asem=array(); +$absem=array(); +$iosem=array(); +$bsema=array(); +$stsema=array(); +$usema=array(); +$asema=array(); +$absema=array(); +$iosema=array(); +$bewerbercount=0; +$bewerbercountbb=0; +$bewerbercountvz=0; +$bewerberM1=array(); +$bewerberW1=array(); +$bsem1=array(); +$stsem1=array(); +$bewerberM2=array(); +$bewerberW2=array(); +$bsem2=array(); +$stsem2=array(); +$datei1=''; +$datei2=''; +$stgorg=""; +$tabelle=''; +$stlist=''; +$bwlist=''; +$plausi=''; +$storgfor=''; +$sponsion=''; + +//Beginn- und Endedatum des aktuellen Semesters +$qry="SET client_encoding TO Unicode;SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".$ssem."';"; +if($result = $db->db_query($qry)) +{ + if($row = $db->db_fetch_object($result)) + { + $beginn=$row->start; + $ende=$row->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!

"; + } +} +else +{ + $stg_kz=228; + //echo "

Es wurde kein Lehrgang ausgewählt!

"; + //exit; +} +function myaddslashes($var) +{ + return ($var!=''?"'".addslashes($var)."'":'null'); +} +//plausicheck +if(isset($_GET['plausi'])) +{ + $plausi=$_GET['plausi']; +} +$datumobj=new datum(); + +//Lehrgangsdaten auslesen +$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz='".$stg_kz."'"; +if($result = $db->db_query($qry)) +{ + if($row = $db->db_fetch_object($result)) + { + $stgart=$row->typ; + $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; + } + if($row->typ=='b') + { + $stgart=1; + } + elseif($row->typ=='m') + { + $stgart=2; + } + elseif($row->typ=='d') + { + $stgart=3; + } + else + { + echo "

Es wurde keine Lehrgangart ausgewählt!

"; + exit; + } + } +} + +//Hauptselect +$qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat + 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) + WHERE bismelden IS TRUE + AND tbl_student.studiengang_kz='".$stg_kz."' + AND (((tbl_prestudentstatus.studiensemester_kurzbz='".$ssem."') AND (tbl_prestudentstatus.datum<='".$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='".$psem."') AND (status_kurzbz='Absolvent' + OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>'".$bisprevious."') + OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>='".$bisprevious."') + OR (tbl_bisio.von<'".$bisdatum."' AND (tbl_bisio.bis>='".$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))." + + + ".($stg_kz*(-1))." + ".$stgart.""; + while($row = $db->db_fetch_object($result)) + { + //Plausichecks + $qryadr="SELECT * from public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id='".$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; + } + else + { + $plz=''; + $gemeinde=''; + $strasse=''; + $nation=''; + } + 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') + { + $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."')"; + } + //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 - außer 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.=(!empty($error_log)?', ':'')."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"; + } + 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($stgart==2) + { + 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."')"; + } + } + } + //Bestimmen der aktuellen Prestudentrolle (Status) und des akt. Ausbildungssemesters des Studenten + $qrystatus="SELECT * FROM public.tbl_prestudentstatus + WHERE prestudent_id='".$row->prestudent_id."' AND studiensemester_kurzbz='".$ssem."' + AND (tbl_prestudentstatus.datum<'".$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='".$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=="Outgoing" + || $rowstatus->status_kurzbz=="Incoming" || $rowstatus->status_kurzbz=='Praktikant' + || $rowstatus->status_kurzbz=="Diplomand") + { + $status=1; + } + else if($rowstatus->status_kurzbz=="Unterbrecher" ) + { + $status=2; + } + else if($rowstatus->status_kurzbz=="Absolvent" ) + { + $status=3; + } + else if($rowstatus->status_kurzbz=="Abbrecher" ) + { + $status=4; + } + else + { + $error_log=''; + $error_log1=''; + continue; + } + $aktstatus=$rowstatus->status_kurzbz; + $aktstatus_datum=$rowstatus->datum; + $storgform=$rowstatus->orgform_kurzbz; + } + } + else + { + $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='".$row->prestudent_id."' AND studiensemester_kurzbz='".$psem."' AND (tbl_prestudentstatus.datum<'".$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='".$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=="Incoming") + { + $status=1; + } + else if($rowstatus->status_kurzbz=="Absolvent" ) + { + $status=3; + } + else if($rowstatus->status_kurzbz=="Abbrecher" ) + { + $status=4; + } + else + { + $error_log=''; + $error_log1=''; + continue; + } + $aktstatus=$rowstatus->status_kurzbz; + $aktstatus_datum=$rowstatus->datum; + //$storgform=$rowstatus->orgform_kurzbz; + } + } + } + } + //bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen + + if($aktstatus=='Absolvent') + { + $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".$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"; + } + } + } + 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; + } + $zaehl++; + $v.="\n"; + $error_log=''; + $error_log1=''; + continue; + } + else + { + //Erstellung der XML-Datei + $datei.=" + + ".trim($row->matrikelnr)." + ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." + ".strtoupper($row->geschlecht).""; + if(($row->svnr!='')&&($row->ersatzkennzeichen!='')) + { + /*$datei.=" + ".$row->vorname." + ".$row->nachname."";*/ + $datei.=" + ".$row->svnr.""; + $datei.=" + ".$row->ersatzkennzeichen.""; + } + else + { + if($row->svnr!='') + { + $datei.=" + ".$row->svnr.""; + } + if($row->ersatzkennzeichen!='') + { + /*$datei.=" + ".$row->vorname." + ".$row->nachname."";*/ + $datei.=" + ".$row->ersatzkennzeichen.""; + } + } + $datei.=" + ".$row->staatsbuergerschaft." + ".$plz." + ".$gemeinde." + + ".$nation." + ".$row->zgv_code.""; + if($row->zgvdatum!=null) + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; + } + else + { + $datei.=" + "; + } + //!!!stgart für Lehrgang überprüfen!!! + if($stgart==2) + { + $datei.=" + ".$row->zgvmas_code.""; + if($row->zgvmadatum!=null) + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; + } + else + { + $datei.=" + "; + } + } + $qryad="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='".$row->prestudent_id."' AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') AND (tbl_prestudentstatus.datum<'".$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)).""; + } + $datei.=" + ".$status." + "; + } + } + $datei.=" + + +"; + echo ' BIS - Lehrgangsmeldung - ('.$stg_kz.') + + + '; + echo "

BIS - Studentendaten werden überprüft! Lehrgang: ".$stg_kz."

\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'.$stg_kz.'.xml'; + if(strtoupper($plausi)!='J') + { + $dateiausgabe=fopen($ddd,'w'); + fwrite($dateiausgabe,$datei); + fclose($dateiausgabe); + } + if(file_exists($ddd)) + { + echo "XML-Datei für BIS-Meldung Lehrgang ".$stg_kz."
"; + } + + //echo $datei; +} \ No newline at end of file diff --git a/vilesci/bis/lehrgangsmeldung.php b/vilesci/bis/lehrgangsmeldung.php new file mode 100644 index 000000000..6478ab125 --- /dev/null +++ b/vilesci/bis/lehrgangsmeldung.php @@ -0,0 +1,618 @@ + + * 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'); + + if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$error_log=''; +$error_log1=''; +$error_log_all=""; +$stgart=''; +$fehler=''; +$maxsemester=0; +$v=''; +$studiensemester=new studiensemester(); +$ssem=$studiensemester->getaktorNext(); +$psem=$studiensemester->getPrevious(); +$zaehl=0; +$erhalter=''; +$stgart=''; +$orgform=''; +$status=''; +$datei=''; +$aktstatus=''; +$aktstatus_datum=''; +$mob=''; +$gast=''; +$avon=''; +$abis=''; +$zweck=''; +$bewerberM=array(); +$bewerberW=array(); +$bsem=array(); +$stsem=array(); +$usem=array(); +$asem=array(); +$absem=array(); +$iosem=array(); +$bsema=array(); +$stsema=array(); +$usema=array(); +$asema=array(); +$absema=array(); +$iosema=array(); +$bewerbercount=0; +$bewerbercountbb=0; +$bewerbercountvz=0; +$bewerberM1=array(); +$bewerberW1=array(); +$bsem1=array(); +$stsem1=array(); +$bewerberM2=array(); +$bewerberW2=array(); +$bsem2=array(); +$stsem2=array(); +$datei1=''; +$datei2=''; +$stgorg=""; +$tabelle=''; +$stlist=''; +$bwlist=''; +$plausi=''; +$storgfor=''; +$sponsion=''; + +//Beginn- und Endedatum des aktuellen Semesters +$qry="SET client_encoding TO Unicode;SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".$ssem."';"; +if($result = $db->db_query($qry)) +{ + if($row = $db->db_fetch_object($result)) + { + $beginn=$row->start; + $ende=$row->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!

"; + } +} +else +{ + $stg_kz=228; + //echo "

Es wurde kein Lehrgang ausgewählt!

"; + //exit; +} +function myaddslashes($var) +{ + return ($var!=''?"'".addslashes($var)."'":'null'); +} +//plausicheck +if(isset($_GET['plausi'])) +{ + $plausi=$_GET['plausi']; +} +$datumobj=new datum(); + +//Lehrgangsdaten auslesen +$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz='".$stg_kz."'"; +if($result = $db->db_query($qry)) +{ + if($row = $db->db_fetch_object($result)) + { + $stgart=$row->typ; + $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; + } + if($row->typ=='b') + { + $stgart=1; + } + elseif($row->typ=='m') + { + $stgart=2; + } + elseif($row->typ=='d') + { + $stgart=3; + } + else + { + echo "

Es wurde keine Lehrgangart ausgewählt!

"; + exit; + } + } +} + +//Hauptselect +$qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat + 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) + WHERE bismelden IS TRUE + AND tbl_student.studiengang_kz='".$stg_kz."' + AND (((tbl_prestudentstatus.studiensemester_kurzbz='".$ssem."') AND (tbl_prestudentstatus.datum<='".$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='".$psem."') AND (status_kurzbz='Absolvent' + OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>'".$bisprevious."') + OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>='".$bisprevious."') + OR (tbl_bisio.von<'".$bisdatum."' AND (tbl_bisio.bis>='".$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))." + + + ".($stg_kz*(-1))." + ".$stgart.""; + while($row = $db->db_fetch_object($result)) + { + //Plausichecks + $qryadr="SELECT * from public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id='".$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; + } + else + { + $plz=''; + $gemeinde=''; + $strasse=''; + $nation=''; + } + 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') + { + $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."')"; + } + //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 - außer 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.=(!empty($error_log)?', ':'')."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"; + } + 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($stgart==2) + { + 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."')"; + } + } + } + //Bestimmen der aktuellen Prestudentrolle (Status) und des akt. Ausbildungssemesters des Studenten + $qrystatus="SELECT * FROM public.tbl_prestudentstatus + WHERE prestudent_id='".$row->prestudent_id."' AND studiensemester_kurzbz='".$ssem."' + AND (tbl_prestudentstatus.datum<'".$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='".$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=="Outgoing" + || $rowstatus->status_kurzbz=="Incoming" || $rowstatus->status_kurzbz=='Praktikant' + || $rowstatus->status_kurzbz=="Diplomand") + { + $status=1; + } + else if($rowstatus->status_kurzbz=="Unterbrecher" ) + { + $status=2; + } + else if($rowstatus->status_kurzbz=="Absolvent" ) + { + $status=3; + } + else if($rowstatus->status_kurzbz=="Abbrecher" ) + { + $status=4; + } + else + { + $error_log=''; + $error_log1=''; + continue; + } + $aktstatus=$rowstatus->status_kurzbz; + $aktstatus_datum=$rowstatus->datum; + $storgform=$rowstatus->orgform_kurzbz; + } + } + else + { + $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='".$row->prestudent_id."' AND studiensemester_kurzbz='".$psem."' AND (tbl_prestudentstatus.datum<'".$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='".$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=="Incoming") + { + $status=1; + } + else if($rowstatus->status_kurzbz=="Absolvent" ) + { + $status=3; + } + else if($rowstatus->status_kurzbz=="Abbrecher" ) + { + $status=4; + } + else + { + $error_log=''; + $error_log1=''; + continue; + } + $aktstatus=$rowstatus->status_kurzbz; + $aktstatus_datum=$rowstatus->datum; + //$storgform=$rowstatus->orgform_kurzbz; + } + } + } + } + //bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen + + if($aktstatus=='Absolvent') + { + $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".$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"; + } + } + } + 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; + } + $zaehl++; + $v.="\n"; + $error_log=''; + $error_log1=''; + continue; + } + else + { + //Erstellung der XML-Datei + $datei.=" + + ".trim($row->matrikelnr)." + ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." + ".strtoupper($row->geschlecht).""; + if(($row->svnr!='')&&($row->ersatzkennzeichen!='')) + { + //$datei.=" + //".$row->vorname." + //".$row->nachname.""; + $datei.=" + ".$row->svnr.""; + $datei.=" + ".$row->ersatzkennzeichen.""; + } + else + { + if($row->svnr!='') + { + $datei.=" + ".$row->svnr.""; + } + if($row->ersatzkennzeichen!='') + { + //$datei.=" + //".$row->vorname." + //".$row->nachname.""; + $datei.=" + ".$row->ersatzkennzeichen.""; + } + } + $datei.=" + ".$row->staatsbuergerschaft." + ".$plz." + ".$gemeinde." + + ".$nation." + ".$row->zgv_code.""; + if($row->zgvdatum!=null) + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; + } + else + { + $datei.=" + "; + } + //!!!stgart für Lehrgang überprüfen!!! + if($stgart==2) + { + $datei.=" + ".$row->zgvmas_code.""; + if($row->zgvmadatum!=null) + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; + } + else + { + $datei.=" + "; + } + } + $qryad="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='".$row->prestudent_id."' AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') AND (tbl_prestudentstatus.datum<'".$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)).""; + } + $datei.=" + ".$status." + "; + } + } + $datei.=" + + +"; + echo ' BIS - Lehrgangsmeldung - ('.$stg_kz.') + + + '; + echo "

BIS - Studentendaten werden überprüft! Lehrgang: ".$stg_kz."

\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'.$stg_kz.'.xml'; + if(strtoupper($plausi)!='J') + { + $dateiausgabe=fopen($ddd,'w'); + fwrite($dateiausgabe,$datei); + fclose($dateiausgabe); + } + if(file_exists($ddd)) + { + echo "XML-Datei für BIS-Meldung Lehrgang ".$stg_kz."
"; + } + + //echo $datei; + +} + +?> \ No newline at end of file