diff --git a/vilesci/bis/bismeldung_studenten.php b/vilesci/bis/bismeldung_studenten.php
index 4ea5ac57a..cc5331403 100644
--- a/vilesci/bis/bismeldung_studenten.php
+++ b/vilesci/bis/bismeldung_studenten.php
@@ -8,6 +8,7 @@
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");
@@ -22,6 +23,12 @@ $v='';
$studiensemester=new studiensemester($conn);
$ssem=$studiensemester->getaktorNext();
$zaehl=0;
+$erhalter='';
+$stgart='';
+$orgform='';
+$status='';
+$datei='';
+$aktstatus='';
if(isset($_GET['stg_kz']))
{
@@ -38,16 +45,8 @@ function myaddslashes($var)
return ($var!=''?"'".addslashes($var)."'":'null');
}
-?>
+$datumobj=new datum();
-
-
-Estellung der BIS-Meldung
-
-
-
-
-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
+$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)
@@ -77,12 +117,28 @@ $qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.pe
WHERE heimatadresse 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='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.="
+
+
+ ".$erhalter."
+ 15112007
+
+
+ ".$stg_kz."
+ ".$stgart."
+ ".$orgform."
+
+ 1
+ 1
+";
while($row = pg_fetch_object($result))
{
$qryadr="SELECT * from public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id='".$row->pers_id."';";
@@ -90,7 +146,7 @@ if($result = pg_query($conn, $qry))
{
$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($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='')
{
if($error_log!='')
{
@@ -298,14 +354,95 @@ if($result = pg_query($conn, $qry))
}
$zaehl++;
$v.="\n";
+ $error_log='';
+ $error_log1='';
+ continue;
}
- $error_log='';
- $error_log1='';
+ else
+ {
+ $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;
+ }
+ }
+ $datei.="
+
+ ".trim($row->matrikelnr)."
+ ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))."
+ ".strtoupper($row->geschlecht)."";
+ if($row->svnr!='')
+ {
+ $datei.="
+ ".$row->svnr."";
+ }
+ if($row->ersatzkennzeichen!='')
+ {
+ $datei.="
+ ".$row->ersatzkennzeichen."";
+ }
+ $datei.="
+ ".$row->staatsbuergerschaft."
+ ".$row->plz."
+ ".$row->plz."
+ ".$row->strasse."
+ ".$row->nation."
+ ".$row->zgv_code."
+ ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum))."
+ ???
+ ".$sem."
+ ".$status."
+ ";
+
+ }
+
}
+ $datei.="
+
+
+
+";
+
}
-echo "BIS - Studentendaten werden überprüft. Studiengang: ".$stg_kz."
\n";
-echo "Nicht plausible BIS-Daten (für Meldung ".$ssem."):
";
-
-echo nl2br($v."\n");
+if(strlen($v)!='')
+{
+ echo 'Synchro - FAS -> Vilesci - Student
+
+ ';
+ echo "BIS - Studentendaten werden überprüft! Studiengang: ".$stg_kz."
\n";
+ echo "Nicht plausible BIS-Daten (für Meldung ".$ssem."):
";
+ echo nl2br($v."\n\n");
+ echo $datei;
+}
+else
+{
+ header("Content-type: application/xhtml+xml");
+ echo $datei;
+}
?>
\ No newline at end of file