This commit is contained in:
Christian Paminger
2007-10-12 07:39:47 +00:00
parent 6e2b93cfd6
commit adc78d7d1b
3 changed files with 0 additions and 1243 deletions
-478
View File
@@ -1,478 +0,0 @@
<?php
/* Copyright (C) 2007
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require('../config.inc.php');
require('../../include/studiensemester.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen");
//$adress="ruhan@technikum-wien.at";
$error_log='';
$error_log1='';
$error_log_all="";
$stgart='';
$fehler='';
$v='';
$studiensemester=new studiensemester($conn);
$ssem=$studiensemester->getaktorNext();
if(strstr($ssem,"WS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")));
}
elseif(strstr($ssem,"SS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y")));
}
else
{
echo "Ungültiges Semester!";
}
if(isset($_GET['stg_kz']))
{
$stg_kz=$_GET['stg_kz'];
}
else
{
$stg_kz=0;
}
if(isset($_GET['email']))
{
if($_GET['email']==true)
{
$email=true;
}
else
{
$email=false;
}
}
else
{
$email=false;
}
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
?>
<html>
<head>
<title>Datenüberprüfung für BIS-Meldung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
$qry="SELECT * FROM public.tbl_studiensemester";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$beginn[$row->studiensemester_kurzbz]=$row->start;
$ende[$row->studiensemester_kurzbz]=$row->ende;
}
}
$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz='".$stg_kz."'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$stgart=$row->typ;
$stgemail=$row->email;
}
}
$qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, tbl_abschlusspruefung.datum AS abdatum 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_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id)
JOIN public.tbl_adresse ON(tbl_person.person_id=tbl_adresse.person_id)
LEFT JOIN lehre.tbl_abschlusspruefung USING(student_uid)
WHERE heimatadresse IS TRUE AND bismelden IS TRUE
AND (studiensemester_kurzbz='".$ssem."') AND tbl_student.studiengang_kz='".$stg_kz."'
AND (rolle_kurzbz='Student' OR rolle_kurzbz='Incoming' OR rolle_kurzbz='Outgiong'
OR rolle_kurzbz='Praktikant' OR rolle_kurzbz='Diplomand' OR rolle_kurzbz='Absolvent')
ORDER BY student_uid, nachname, vorname
";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$qryadr="SELECT * from public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id='".$row->pers_id."';";
if(pg_num_rows(pg_query($conn,$qryadr))!=1)
{
$error_log1="Es sind ".pg_num_rows(pg_query($conn,$qryadr))." Heimatadressen eingetragen\n";
}
if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='')
{
if($error_log!='')
{
$error_log=", Geburtsdatum ('".$row->gebdatum."')";
}
else
{
$error_log.="Geburtsdatum ('".$row->gebdatum."')";
}
}
if($row->geschlecht!='m' && $row->geschlecht!='w')
{
if($error_log!='')
{
$error_log.=", Geschlecht ('".$row->geschlecht."')";
}
else
{
$error_log.="Geschlecht ('".$row->geschlecht."')";
}
}
if($row->vorname=='' || $row->vorname==null)
{
if($error_log!='')
{
$error_log.=", Vorname ('".$row->vorname."')";
}
else
{
$error_log.="Vorname ('".$row->vorname."')";
}
}
if($row->nachname=='' || $row->nachname==null)
{
if($error_log!='')
{
$error_log.=", Nachname ('".$row->nachname."')";
}
else
{
$error_log.="Nachname ('".$row->nachname."')";
}
}
if(($row->svnr=='' || $row->svnr==null)&&($row->ersatzkennzeichen=='' || $row->ersatzkennzeichen==null))
{
if($error_log!='')
{
$error_log.=", SVNR ('".$row->svnr."') bzw. Erskz ('".$row->ersatzkennzeichen."')";
}
else
{
$error_log.="SVNR ('".$row->svnr."') bzw. Erskz ('".$row->ersatzkennzeichen."')";
}
}
if($row->staatsbuergerschaft=='' || $row->staatsbuergerschaft==null)
{
if($error_log!='')
{
$error_log.=", Staatsbürgerschaft ('".$row->staatsbuergerschaft."')";
}
else
{
$error_log.="Staatsbürgerschaft ('".$row->staatsbuergerschaft."')";
}
}
if($row->plz=='' || $row->plz==null)
{
if($error_log!='')
{
$error_log.=", Heimat-PLZ ('".$row->plz."')";
}
else
{
$error_log.="Heimat-PLZ ('".$row->plz."')";
}
}
if($row->gemeinde=='' || $row->gemeinde==null)
{
if($error_log!='')
{
$error_log.=", Heimat-Gemeinde ('".$row->gemeinde."')";
}
else
{
$error_log.="Heimat-Gemeinde ('".$row->gemeinde."')";
}
}
if($row->strasse=='' || $row->strasse==null)
{
if($error_log!='')
{
$error_log.=", Heimat-Strasse ('".$row->strasse."')";
}
else
{
$error_log.="Heimat-Strasse ('".$row->strasse."')";
}
}
if($row->nation=='' || $row->nation==null)
{
if($error_log!='')
{
$error_log.=", Heimat-Nation ('".$row->nation."')";
}
else
{
$error_log.="Heimat-Nation ('".$row->nation."')";
}
}
if($row->zgv_code=='' || $row->zgv_code==null)
{
if($error_log!='')
{
$error_log.=", ZugangCode ('".$row->zgv_code."')";
}
else
{
$error_log.="ZugangCode ('".$row->zgv_code."')";
}
}
if($row->zgvdatum=='' || $row->zgvdatum==null)
{
if($error_log!='')
{
$error_log.=", ZugangDatum ('".$row->zgvdatum."')";
}
else
{
$error_log.="ZugangDatum ('".$row->zgvdatum."')";
}
}
if($stgart=='m')
{
if($row->zgvmas_code=='' || $row->zgvmas_code==null)
{
if($error_log!='')
{
$error_log.=", ZugangMagStgCode ('".$row->zgvmas_code."')";
}
else
{
$error_log.="ZugangMagStgCode ('".$row->zgvmas_code."')";
}
}
if($row->zgvmadatum=='' || $row->zgvmadatum==null)
{
if($error_log!='')
{
$error_log.=", ZugangMagStgDatum ('".$row->zgvmadatum."')";
}
else
{
$error_log.="ZugangMagStgDatum ('".$row->zgvmadatum."')";
}
}
}
$qrystatus="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='".$row->prestudent_id."' AND studiensemester_kurzbz='".$ssem."' ORDER BY insertamum desc, ext_id desc;";
if($resultstatus = pg_query($conn, $qrystatus))
{
if($rowstatus = pg_fetch_object($resultstatus))
{
$sem=$rowstatus->ausbildungssemester;
if($rowstatus->rolle_kurzbz=="Student" || $rowstatus->rolle_kurzbz=="Outgoing"
|| $rowstatus->rolle_kurzbz=="Incoming" || $rowstatus->rolle_kurzbz=='Praktikant'
|| $rowstatus->rolle_kurzbz=="Diplomand")
{
$status=1;
}
else if($rowstatus->rolle_kurzbz=="Unterbrecher" )
{
$status=2;
}
else if($rowstatus->rolle_kurzbz=="Absolvent" )
{
$status=3;
}
else if($rowstatus->rolle_kurzbz=="Abbrecher" )
{
$status=4;
}
else
{
$error_log1.="In diesem Semester ist keine Rolle eingtragen.";
}
$aktstatus=$rowstatus->rolle_kurzbz;
}
}
//bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen
if($aktstatus=='Absolvent')
{
if($row->abdatum=='' || $row->abdatum==null)
{
if($error_log!='')
{
$error_log.=", Datum der Abschlussprüfung ('".$row->abdatum."')";
}
else
{
$error_log.="Datum der Abschlussprüfung ('".$row->abdatum."')";
}
}
if($row->sponsion=='' || $row->sponsion==null)
{
if($error_log!='')
{
$error_log.=", Datum der Sponsion ('".$row->sponsion."')";
}
else
{
$error_log.="Datum der Sponsion ('".$row->sponsion."')";
}
}
}
if($aktstatus=='Incoming' OR $aktstatus=='Outgoing')
{
$qryio="SELECT * FROM bis.tbl_bisio WHERE student_uid='".$row->student_uid."';";
if($resultio = pg_query($conn, $qryio))
{
if($rowio = pg_fetch_object($resultio))
{
if($rowio->mobilitaetsprogramm_code='' || $rowio->mobilitaetsprogramm_code=null)
{
if($error_log!='')
{
$error_log.=", Mobilitätsprogramm ('".$rowio->mobilitaetsprogramm_code."')";
}
else
{
$error_log.="Mobilitätsprogramm ('".$rowio->mobilitaetsprogramm_code."')";
}
}
if($rowio->nation_code='' || $rowio->nation_code=null)
{
if($error_log!='')
{
$error_log.=", IO - Nation ('".$rowio->nation_code."')";
}
else
{
$error_log.="IO - Nation ('".$rowio->nation_code."')";
}
}
if($rowio->von='' || $rowio->von=null)
{
if($error_log!='')
{
$error_log.=", IO - von ('".$rowio->von."')";
}
else
{
$error_log.="IO - von ('".$rowio->von."')";
}
}
if($rowio->bis='' || $rowio->bis=null)
{
if($error_log!='')
{
$error_log.=", IO - bis ('".$rowio->bis."')";
}
else
{
$error_log.="IO - bis ('".$rowio->bis."')";
}
}
if($rowio->zweck_code='' || $rowio->zweck_code=null)
{
if($error_log!='')
{
$error_log.=", IO - bis ('".$rowio->zweck_code."')";
}
else
{
$error_log.="IO - bis ('".$rowio->zweck_code."')";
}
}
}
}
}
if($row->berufstaetigkeit_code=='' || $row->berufstaetigkeit_code==null)
{
if($error_log!='')
{
$error_log.=", Berufstätigkeitscode ('".$row->berufstaetigkeit_code."')";
}
else
{
$error_log.="Berufstätigkeitscode ('".$row->berufstaetigkeit_code."')";
}
}
if($error_log!='' OR $error_log1!='')
{
$v.="<u>Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->rolle_kurzbz): </u>\n";
if($error_log!='')
{
$v.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Es fehlt: ".$error_log."\n";
}
if($error_log1!='')
{
$v.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$error_log1;
}
//$zaehl++;
$v.="\n";
$error_log='';
$error_log1='';
continue;
}
$error_log='';
$error_log1='';
}
}
$qrybw="SELECT * FROM public.tbl_prestudent
JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id)
JOIN public.tbl_person USING(person_id)
WHERE bismelden IS TRUE AND (studiensemester_kurzbz='".$ssem."') AND tbl_prestudent.studiengang_kz='".$stg_kz."'
AND rolle_kurzbz='Bewerber';
";
if($resultbw = pg_query($conn, $qrybw))
{
while($rowbw = pg_fetch_object($resultbw))
{
if($stgart=='b' || $stgart=='d')
{
if(!($rowbw->zgv_code>=4 && $rowbw->zgv_code<=19) && $rowbw->zgv_code!=99 || $rowbw->zgv_code=='' || $rowbw->zgv_code==NULL)
{
$v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Zugangsvoraussetzungsart (".$rowbw->zgv_code.")\n";
}
}
if($stgart=='m')
{
if(!($rowbw->zgv_code>=4 && $rowbw->zgv_code<=19) && $rowbw->zgv_code!=99)
{
$v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Zugangsvoraussetzungsart (".$rowbw->zgv_code.")\n";
}
if(!($rowbw->zgvmas_code>=1 && $rowbw->zgvmas_code<=11))
{
$v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Mag.-Zugangsvoraussetzungsart (".$rowbw->zgvmas_code.")\n";
}
}
}
}
else
{
echo "Bewerber - Leider nein";
}
echo "<H1>BIS - Studentendaten werden überprüft. Studiengang: ".$stg_kz."</H1>\n";
echo "<H2>Fehlende BIS-Daten (für Meldung ".$ssem."/".$bisdatum."): </H2><br>";
//echo "(Doppelte Zeilen deuten auf mehrere Heimatadressen hin - bitte Kontakte überprüfen)<br><br>";
echo nl2br($v."\n");
if($email)
{
mail(trim($stgemail), 'BIS-Daten / Studiengang: '.$stg_kz,"Fehlende Daten für die BIS-Meldung:(von ".$_SERVER['HTTP_HOST'].")\n(Doppelte Zeilen deuten auf mehrere Heimatadressen hin - bitte Kontakte überprüfen)\n\nStudiengang: ".$stg_kz."(".$stgemail.")\n".$v."\n","From: vilesci@technikum-wien.at");
//mail($adress, 'BIS-Daten / Studiengang: '.$f,"\nFehlende Daten für die BIS-Meldung: (von ".$_SERVER['HTTP_HOST'].")\n(Doppelte Zeilen deuten auf mehrere Heimatadressen hin - bitte Kontakte überprüfen)\n\nStudiengang: ".$f."(".$email[$f].")\n".$v."\n","From: vilesci@technikum-wien.at");
}
?>
-144
View File
@@ -1,144 +0,0 @@
<?php
/* Copyright (C) 2007
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../../vilesci/config.inc.php');
require_once('../sync_config.inc.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen");
$error_log='';
$ausgabe1='';
$ausgabe2='';
$ausgabe_all='';
$fehler=0;
$wochendiv=0;
$semester=array(1=>'WS2006', 2=>'SS2007');
$stundensumme=array(array());
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
?>
<html>
<head>
<title>BIS-Meldung - Funktionen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
$qry="SELECT * FROM public.tbl_studiensemester";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$beginn[$row->studiensemester_kurzbz]=$row->start;
$ende[$row->studiensemester_kurzbz]=$row->ende;
}
}
//echo "mitarbeiter_uid / studiengang_kz / studiensemester_kurzbz / semesterstunden / semester / wochen<br>";
$qry="SELECT DISTINCT ON(mitarbeiter_uid) mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter ;";
//WHERE mitarbeiter_uid='balog'
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$qry_erg="SELECT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, lehre.tbl_lehrveranstaltung.studiengang_kz, lehre.tbl_lehreinheit.studiensemester_kurzbz, lehre.tbl_lehreinheitmitarbeiter.semesterstunden, lehre.tbl_lehrveranstaltung.semester, public.tbl_semesterwochen.wochen
FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_semesterwochen USING(studiengang_kz, semester)
WHERE lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".$row->mitarbeiter_uid."'
AND (lehre.tbl_lehreinheit.studiensemester_kurzbz='".$semester[1]."' OR lehre.tbl_lehreinheit.studiensemester_kurzbz='".$semester[2]."');";
//GROUP BY lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, lehre.tbl_lehrveranstaltung.studiengang_kz, lehre.tbl_lehreinheit.studiensemester_kurzbz";
if($result_erg = pg_query($conn, $qry_erg))
{
if(pg_num_rows($result_erg)>0)
{
while($row_erg = pg_fetch_object($result_erg))
{
//$ausgabe1.= "mitarbeiter_uid: '".$row_erg->mitarbeiter_uid. "' studiengang_kz: '".$row_erg->studiengang_kz."' studiensemester_kurzbz: '". $row_erg->studiensemester_kurzbz."' semesterstunden: '".$row_erg->semesterstunden."' semester: '". $row_erg->semester."' semesterwochen: '". $row_erg->wochen."'\n";
if($row_erg->wochen==null || $row_erg->wochen<2)
{
$wochendiv=15;
}
else
{
$wochendiv=$row_erg->wochen;
}
if(isset($stundensumme[$row_erg->mitarbeiter_uid][$row_erg->studiengang_kz]))
{
$stundensumme[$row_erg->mitarbeiter_uid][$row_erg->studiengang_kz]+=$row_erg->semesterstunden/$wochendiv;
}
else
{
$stundensumme[$row_erg->mitarbeiter_uid][$row_erg->studiengang_kz]=$row_erg->semesterstunden/$wochendiv;
}
//$ausgabe1.='$stundensumme['.$row_erg->mitarbeiter_uid.']['.$row_erg->studiengang_kz.'] '.$stundensumme[$row_erg->mitarbeiter_uid][$row_erg->studiengang_kz][$row_erg->studiensemester_kurzbz]."\n";
}
//schleife über alle stg, in denen stunden vorhanden sind
$qry_stg="SELECT studiengang_kz FROM public.tbl_studiengang WHERE studiengang_kz>1 AND studiengang_kz<999;";
if($result_stg = pg_query($conn, $qry_stg))
{
while($row_stg = pg_fetch_object($result_stg))
{
//echo "stg: ".$row_stg->studiengang_kz."<br>";
if(isset($stundensumme[$row->mitarbeiter_uid][$row_stg->studiengang_kz]))
{
//echo "stg mit inhalt: ".$row_stg->studiengang_kz."<br>";
$qry_vw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."'".
" AND beginn<='".$beginn[$semester[1]]."' AND (ende::varchar is null OR ende>='".$ende[$semester[2]]."');";
if($result_vw = pg_query($conn, $qry_vw))
{
if(pg_num_rows($result_vw)>=1)
{
while($row_vw = pg_fetch_object($result_vw))
{
$qry_ins='';
//$ausgabe2="Stundensumme in qry: ".$stundensumme[$row_erg->mitarbeiter_uid][$row_stg->studiengang_kz]."\n";
$qry_ins="INSERT INTO bis.tbl_bisfunktion (bisverwendung_id, studiengang_kz, sws, updateamum, updatevon, insertvon, insertamum, ext_id)
VALUES (".myaddslashes($row_vw->bisverwendung_id).", ".myaddslashes($row_stg->studiengang_kz).", ".myaddslashes($stundensumme[$row->mitarbeiter_uid][$row_stg->studiengang_kz]).", "."now(), "."'SYNC', "."now(), "."'SYNC', "."NULL".");";
$ausgabe2.= "Verwendung von Mitarbeiter ".$row->mitarbeiter_uid." (ID/Code):".$row_vw->bisverwendung_id." ".$row_vw->verwendung_code."/".$row_vw->ba1code." -- ".$row_vw->beginn."/".$row_vw->ende." (".$beginn[$semester[1]]."/".$ende[$semester[2]].")\n-----".$qry_ins."\n";
}
}
else
{
while($row_vw = pg_fetch_object($result_vw))
{
$error_log.=$ausgabe2."#####Verwendung(ID/Code):".$row_vw->bisverwendung_id." ".$row_vw->verwendung_code."/".$row_vw->ba1code." -- ".$row_vw->beginn."/".$row_vw->ende." (".$beginn[$semester[1]]."/".$ende[$semester[2]].")\n";
}
}
}
}
}
}
}
}
$ausgabe_all.=$ausgabe1." ".$ausgabe2;
$ausgabe1='';
$ausgabe2='';
}
}
//echo nl2br("Fehler: ".$fehler."\n".$error_log);
//echo nl2br("\n***********************************\nLog: \n".$ausgabe);
echo nl2br("Log:\n".$ausgabe_all);
echo nl2br("Fehler:\n".$error_log);
//mail($adress, 'Fehler BIS-Funktionen von '.$_SERVER['HTTP_HOST'], "Fehler: ".$fehler."\n".$error_log,"From: vilesci@technikum-wien.at");
//mail($adress, 'BIS-Funktionen von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
-621
View File
@@ -1,621 +0,0 @@
<?php
/* Copyright (C) 2007
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require('../config.inc.php');
require('../../include/studiensemester.class.php');
require('../../include/datum.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen");
$error_log='';
$error_log1='';
$error_log_all="";
$stgart='';
$fehler='';
$v='';
$studiensemester=new studiensemester($conn);
$ssem=$studiensemester->getaktorNext();
$zaehl=0;
$erhalter='';
$stgart='';
$orgform='';
$status='';
$datei='';
$aktstatus='';
$mob='';
$gast='';
$avon='';
$abis='';
$zweck='';
$bewerberM=array();
$bewerberW=array();
$qry="SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".$ssem."';";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$beginn=$row->start;
$ende=$row->ende;
}
}
if(strstr($ssem,"WS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")));
}
elseif(strstr($ssem,"SS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y")));
}
else
{
echo "Ungültiges Semester!";
}
if(isset($_GET['stg_kz']))
{
$stg_kz=$_GET['stg_kz'];
}
else
{
//$stg_kz=0;
echo "<H2>Es wurde kein Studiengang ausgewählt!</H2>";
exit;
}
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
$datumobj=new datum();
$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz='".$stg_kz."'";
if($result = pg_query($conn, $qry))
{
if($row = pg_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
{
exit;
}
if($row->organisationsform=='n')
{
$orgform=1;
}
elseif($row->organisationsform=='b')
{
$orgform=2;
}
else
{
exit;
}
}
}
$qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, tbl_abschlusspruefung.datum AS abdatum
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_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id)
JOIN public.tbl_adresse ON(tbl_person.person_id=tbl_adresse.person_id)
LEFT JOIN lehre.tbl_abschlusspruefung USING(student_uid)
WHERE heimatadresse IS TRUE AND bismelden IS TRUE
AND (studiensemester_kurzbz='".$ssem."') AND tbl_student.studiengang_kz='".$stg_kz."'
AND (rolle_kurzbz='Student' OR rolle_kurzbz='Incoming' OR rolle_kurzbz='Outgiong'
OR rolle_kurzbz='Praktikant' OR rolle_kurzbz='Diplomand' OR rolle_kurzbz='Absolvent'
OR rolle_kurzbz='Abbrecher' OR rolle_kurzbz='Unterbrecher')
ORDER BY student_uid, nachname, vorname
";
if($result = pg_query($conn, $qry))
{
$datei.="
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Erhalter>
<ErhKz>".$erhalter."</ErhKz>
<MeldeDatum>".date("dmY", $datumobj->mktime_fromdate($bisdatum))."</MeldeDatum>
<StudierendenBewerberMeldung>
<StudiengangStamm>
<StgKz>".$stg_kz."</StgKz>
<StgArtCode>".$stgart."</StgArtCode>
<OrgFormCode>".$orgform."</OrgFormCode>
<StudiengangDetail>
<OrgFormTeilCode>1</OrgFormTeilCode>
<StgStartSemCode>1</StgStartSemCode>
";
while($row = pg_fetch_object($result))
{
$qryadr="SELECT * from public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id='".$row->pers_id."';";
if(pg_num_rows(pg_query($conn,$qryadr))!=1)
{
$error_log1="Es sind ".pg_num_rows(pg_query($conn,$qryadr))." Heimatadressen eingetragen\n";
}
if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='')
{
if($error_log!='')
{
$error_log=", Geburtsdatum ('".$row->gebdatum."')";
}
else
{
$error_log.="Geburtsdatum ('".$row->gebdatum."')";
}
}
if($row->geschlecht!='m' && $row->geschlecht!='w')
{
if($error_log!='')
{
$error_log.=", Geschlecht ('".$row->geschlecht."')";
}
else
{
$error_log.="Geschlecht ('".$row->geschlecht."')";
}
}
if($row->vorname=='' || $row->vorname==null)
{
if($error_log!='')
{
$error_log.=", Vorname ('".$row->vorname."')";
}
else
{
$error_log.="Vorname ('".$row->vorname."')";
}
}
if($row->nachname=='' || $row->nachname==null)
{
if($error_log!='')
{
$error_log.=", Nachname ('".$row->nachname."')";
}
else
{
$error_log.="Nachname ('".$row->nachname."')";
}
}
if(($row->svnr=='' || $row->svnr==null)&&($row->ersatzkennzeichen=='' || $row->ersatzkennzeichen==null))
{
if($error_log!='')
{
$error_log.=", SVNR ('".$row->svnr."') bzw. Erskz ('".$row->ersatzkennzeichen."')";
}
else
{
$error_log.="SVNR ('".$row->svnr."') bzw. Erskz ('".$row->ersatzkennzeichen."')";
}
}
if($row->staatsbuergerschaft=='' || $row->staatsbuergerschaft==null)
{
if($error_log!='')
{
$error_log.=", Staatsbürgerschaft ('".$row->staatsbuergerschaft."')";
}
else
{
$error_log.="Staatsbürgerschaft ('".$row->staatsbuergerschaft."')";
}
}
if($row->plz=='' || $row->plz==null)
{
if($error_log!='')
{
$error_log.=", Heimat-PLZ ('".$row->plz."')";
}
else
{
$error_log.="Heimat-PLZ ('".$row->plz."')";
}
}
if($row->gemeinde=='' || $row->gemeinde==null)
{
if($error_log!='')
{
$error_log.=", Heimat-Gemeinde ('".$row->gemeinde."')";
}
else
{
$error_log.="Heimat-Gemeinde ('".$row->gemeinde."')";
}
}
if($row->strasse=='' || $row->strasse==null)
{
if($error_log!='')
{
$error_log.=", Heimat-Strasse ('".$row->strasse."')";
}
else
{
$error_log.="Heimat-Strasse ('".$row->strasse."')";
}
}
if($row->nation=='' || $row->nation==null)
{
if($error_log!='')
{
$error_log.=", Heimat-Nation ('".$row->nation."')";
}
else
{
$error_log.="Heimat-Nation ('".$row->nation."')";
}
}
if($row->zgv_code=='' || $row->zgv_code==null)
{
if($error_log!='')
{
$error_log.=", ZugangCode ('".$row->zgv_code."')";
}
else
{
$error_log.="ZugangCode ('".$row->zgv_code."')";
}
}
if($row->zgvdatum=='' || $row->zgvdatum==null)
{
if($error_log!='')
{
$error_log.=", ZugangDatum ('".$row->zgvdatum."')";
}
else
{
$error_log.="ZugangDatum ('".$row->zgvdatum."')";
}
}
if($stgart=='m')
{
if($row->zgvmas_code=='' || $row->zgvmas_code==null)
{
if($error_log!='')
{
$error_log.=", ZugangMagStgCode ('".$row->zgvmas_code."')";
}
else
{
$error_log.="ZugangMagStgCode ('".$row->zgvmas_code."')";
}
}
if($row->zgvmadatum=='' || $row->zgvmadatum==null)
{
if($error_log!='')
{
$error_log.=", ZugangMagStgDatum ('".$row->zgvmadatum."')";
}
else
{
$error_log.="ZugangMagStgDatum ('".$row->zgvmadatum."')";
}
}
}
$qrystatus="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='".$row->prestudent_id."' AND studiensemester_kurzbz='".$ssem."' ORDER BY insertamum desc, ext_id desc;";
if($resultstatus = pg_query($conn, $qrystatus))
{
if($rowstatus = pg_fetch_object($resultstatus))
{
$sem=$rowstatus->ausbildungssemester;
if($rowstatus->rolle_kurzbz=="Student" || $rowstatus->rolle_kurzbz=="Outgoing"
|| $rowstatus->rolle_kurzbz=="Incoming" || $rowstatus->rolle_kurzbz=='Praktikant'
|| $rowstatus->rolle_kurzbz=="Diplomand")
{
$status=1;
}
else if($rowstatus->rolle_kurzbz=="Unterbrecher" )
{
$status=2;
}
else if($rowstatus->rolle_kurzbz=="Absolvent" )
{
$status=3;
}
else if($rowstatus->rolle_kurzbz=="Abbrecher" )
{
$status=4;
}
else
{
continue;
}
$aktstatus=$rowstatus->rolle_kurzbz;
}
else
{
continue;
}
}
//bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen
if($aktstatus=='Absolvent')
{
if($row->abdatum=='' || $row->abdatum==null)
{
if($error_log!='')
{
$error_log.=", Datum der Abschlussprüfung ('".$row->abdatum."')";
}
else
{
$error_log.="Datum der Abschlussprüfung ('".$row->abdatum."')";
}
}
if($row->sponsion=='' || $row->sponsion==null)
{
if($error_log!='')
{
$error_log.=", Datum der Sponsion ('".$row->sponsion."')";
}
else
{
$error_log.="Datum der Sponsion ('".$row->sponsion."')";
}
}
}
if($row->berufstaetigkeit_code=='' || $row->berufstaetigkeit_code==null)
{
if($error_log!='')
{
$error_log.=", Berufstätigkeitscode ('".$row->berufstaetigkeit_code."')";
}
else
{
$error_log.="Berufstätigkeitscode ('".$row->berufstaetigkeit_code."')";
}
}
if($error_log!='' OR $error_log1!='')
{
$v.="<u>Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->rolle_kurzbz): </u>\n";
if($error_log!='')
{
$v.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Es fehlt: ".$error_log."\n";
}
if($error_log1!='')
{
$v.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$error_log1;
}
$zaehl++;
$v.="\n";
$error_log='';
$error_log1='';
continue;
}
else
{
$datei.="
<Student>
<PersKz>".trim($row->matrikelnr)."</PersKz>
<GeburtsDatum>".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))."</GeburtsDatum>
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>
<Vorname>".$row->vorname."</Vorname>
<Familienname>".$row->nachname."<Familienname>";
if($row->svnr!='')
{
$datei.="
<SVNR>".$row->svnr."</SVNR>";
}
if($row->ersatzkennzeichen!='')
{
$datei.="
<Ersatzkennzeichen>".$row->ersatzkennzeichen."</Ersatzkennzeichen>";
}
$datei.="
<StaatsangehoerigkeitCode>".$row->staatsbuergerschaft."</StaatsangehoerigkeitCode>
<HeimatPLZ>".$row->plz."</HeimatPLZ>
<HeimatGemeinde>".$row->gemeinde."</HeimatGemeinde>
<HeimatStrasse>".$row->strasse."</HeimatStrasse>
<HeimatNation>".$row->nation."</HeimatNation>
<ZugangCode>".$row->zgv_code."</ZugangCode>
<ZugangDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum))."</ZugangDatum>";
if($stgart==2)
{
$datei.="
<ZugangMagStgCode>".$row->zgvmas_code."</ZugangMagStgCode>
<ZugangMagStgDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum))."</ZugangMagStgDatum>";
}
$qryad="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='".$row->prestudent_id."' AND rolle_kurzbz='Student' ORDER BY datum asc;";
if($resultad = pg_query($conn, $qryad))
{
if($rowad = pg_fetch_object($resultad))
{
$datei.="
<BeginnDatum>".date("dmY", $datumobj->mktime_fromdate($rowad->datum))."</BeginnDatum>";
}
}
if($aktstatus=='Absolvent')
{
$datei.="
<Beendigungsdatum>".date("dmY", $datumobj->mktime_fromdate($row->sponsion))."</Beendigungsdatum>";
}
$datei.="
<Ausbildungssemester>".$sem."</Ausbildungssemester>
<StudStatusCode>".$status."</StudStatusCode>
<BerufstaetigkeitCode>".$row->berufstaetigkeit_code."</BerufstaetigkeitCode>";
if($aktstatus=='Incoming' OR $aktstatus=='Outgoing')
{
$qryio="SELECT * FROM bis.tbl_bisio WHERE student_uid='".$row->student_uid."';";
if($resultio = pg_query($conn, $qryio))
{
if($rowio = pg_fetch_object($resultio))
{
$mob=$rowio->mobilitaetsprogramm_code;
$gast=$rowio->nation_code;
$avon=$rowio->von;
$abis=$rowio->bis;
$zweck=$rowio->zweck_code;
}
}
$datei.="
<IO>
<Status>".$aktstatus."</Status>
<MobilitaetsProgrammCode>".$mob."</MobilitaetsProgrammCode>
<GastlandCode>".$gast."</GastlandCode>
<AufenthaltVon>".$avon."</AufenthaltVon>";
if($abis<$bisdatum)
{
$datei.="
<AufenthaltBis>".$abis."</AufenthaltBis>";
}
$datei.="
<AufenthaltZweckCode>".$zweck."</AufenthaltZweckCode>
</IO>";
}
$datei.="
</Student>";
}
}
}
//Bewerber
$qrybw="SELECT * FROM public.tbl_prestudent
JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id)
JOIN public.tbl_person USING(person_id)
WHERE bismelden IS TRUE AND (studiensemester_kurzbz='".$ssem."') AND tbl_prestudent.studiengang_kz='".$stg_kz."'
AND rolle_kurzbz='Bewerber';
";
if($resultbw = pg_query($conn, $qrybw))
{
while($rowbw = pg_fetch_object($resultbw))
{
if($stgart==1 || $stgart==3)
{
if(strtoupper($rowbw->geschlecht)=='M')
{
If(!isset($bewerberM[$rowbw->zgv_code]))
{
$bewerberM[$rowbw->zgv_code]=0;
}
$bewerberM[$rowbw->zgv_code]++;
}
else
{
If(!isset($bewerberW[$rowbw->zgv_code]))
{
$bewerberW[$rowbw->zgv_code]=0;
}
$bewerberW[$rowbw->zgv_code]++;
}
}
if($stgart==2)
{
if(strtoupper($rowbw->geschlecht)=='M')
{
If(!isset($bewerberM[$rowbw->zgvmas_code]))
{
$bewerberM[$rowbw->zgvmas_code]=0;
}
$bewerberM[$rowbw->zgvmas_code]++;
}
else
{
If(!isset($bewerberW[$rowbw->zgvmas_code]))
{
$bewerberW[$rowbw->zgvmas_code]=0;
}
$bewerberW[$rowbw->zgvmas_code]++;
}
}
}
}
if($stgart==1 || $stgart==3)
{
for($i=4;$i<100;$i++)
{
if(isset($bewerberM[$i]) || isset($bewerberW[$i]))
{
If(!isset($bewerberM[$i]))
{
$bewerberM[$i]=0;
}
If(!isset($bewerberW[$i]))
{
$bewerberW[$i]=0;
}
$datei.="
<Bewerber>
<ZugangCode>".$i."</ZugangCode>
<AnzBewerberM>".$bewerberM[$i]."</AnzBewerberM>
<AnzBewerberW>".$bewerberW[$i]."</AnzBewerberW>
</Bewerber>";
}
}
}
if($stgart==2)
{
for($i=1;$i<12;$i++)
{
if(isset($bewerberM[$i]) || isset($bewerberW[$i]))
{
if(!isset($bewerberM[$i]))
{
$bewerberM[$i]=0;
}
if(!isset($bewerberW[$i]))
{
$bewerberW[$i]=0;
}
$datei.="
<Bewerber>
<ZugangMagStgCode>".$i."</ZugangMagStgCode>
<AnzBewerberM>".$bewerberM[$i]."</AnzBewerberM>
<AnzBewerberW>".$bewerberW[$i]."</AnzBewerberW>
</Bewerber>";
}
}
}
$datei.="
</StudiengangDetail>
</StudiengangStamm>
</StudierendenBewerberMeldung>
</Erhalter>";
if(strlen($v)!='')
{
echo '<html><head><title>BIS - Meldung Student - ('.$stg_kz.')</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head><body>';
echo "<H1>BIS - Studentendaten werden überprüft! Studiengang: ".$stg_kz."</H1>\n";
echo "<H2>Nicht plausible BIS-Daten (für Meldung ".$ssem."): </H2><br>";
echo nl2br($v."\n\n");
echo $datei;
}
else
{
header("Content-type: application/xhtml+xml");
echo $datei;
}
?>