diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index fb20659a3..19709ea3a 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -95,13 +95,29 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz) $jahr = substr($studiensemester_kurzbz, 4); $art = substr($studiensemester_kurzbz, 0, 2); - switch($art) + + if($studiengang_kz<0) { - case 'WS': $art = '1'; break; - case 'SS': $art = '2'; break; - default: $art = '0'; break; + $studiengang_kz=abs($studiengang_kz); + //Lehrgang + switch($art) + { + case 'WS': $art = '3'; break; + case 'SS': $art = '4'; break; + default: $art = '0'; break; + } } - if($art=='2') + else + { + //Studiengang + switch($art) + { + case 'WS': $art = '1'; break; + case 'SS': $art = '2'; break; + default: $art = '0'; break; + } + } + if($art=='2' || $art=='4') $jahr = $jahr-1; $matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz); diff --git a/rdf/ausbildungsvertrag.xml.php b/rdf/ausbildungsvertrag.xml.php new file mode 100755 index 000000000..6d1d3ffc1 --- /dev/null +++ b/rdf/ausbildungsvertrag.xml.php @@ -0,0 +1,97 @@ + + */ +header("Content-type: application/xhtml+xml"); +require_once('../config/vilesci.config.inc.php'); +require_once('../include/functions.inc.php'); +require_once('../include/studiengang.class.php'); +require_once('../include/student.class.php'); +require_once('../include/prestudent.class.php'); +require_once('../include/adresse.class.php'); + +$db = new basis_db(); + + +$uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null); + +$uid_arr = explode(";",$uid_arr); + +echo "\n"; +echo "\n"; +foreach($uid_arr as $uid) +{ + if($uid=='') + continue; + + echo "\t\n"; + + $student = new student(); + if($student->load($uid)) + { + $datum_aktuell = date('d.m.Y'); + $gebdatum = date('d.m.Y',strtotime($student->gebdatum)); + $studiengang = new studiengang(); + $studiengang->load($student->studiengang_kz); + + + + echo "\t\t".$student->anrede."\n"; + echo "\t\t".$student->vorname."\n"; + echo "\t\t".$student->vornamen."\n"; + echo "\t\t".$student->nachname."\n"; + echo "\t\t".$student->titelpre."\n"; + echo "\t\t".$student->titelpost."\n"; + echo "\t\t".$gebdatum."\n"; + echo "\t\t".$student->svnr."\n"; + echo "\t\t".trim($student->matrikelnr)."\n"; + echo "\t\t".$studiengang->bezeichnung."\n"; + echo "\t\t".$studiengang->english."\n"; + echo "\t\t".sprintf('%04s', $studiengang->studiengang_kz)."\n"; + echo "\t\t".$studiengang->typ."\n"; + echo "\t\t".$studiengang->sprache."\n"; + echo "\t\t".$studiengang->max_semester."\n"; + echo "\t\t".$datum_aktuell."\n"; + + $adresse = new adresse(); + $adresse->load_pers($student->person_id); + + foreach($adresse->result as $row_adresse) + { + if($row_adresse->zustelladresse) + { + echo "\t\t".$row_adresse->strasse."\n"; + echo "\t\t".$row_adresse->plz."\n"; + echo "\t\t".$row_adresse->ort."\n"; + break; + } + } + $prestudent = new prestudent(); + $prestudent->getLastStatus($student->prestudent_id, null, 'Student'); + + if($prestudent->orgform_kurzbz!='') + $orgform = $prestudent->orgform_kurzbz; + else + $orgform = $studiengang->orgform_kurzbz; + echo "\t\t".$orgform."\n"; + } + echo "\t\n"; +} +echo ""; + +?> \ No newline at end of file diff --git a/vilesci/bis/lehrgangsmeldung.php b/vilesci/bis/lehrgangsmeldung.php index 0d463d57d..a97c77471 100644 --- a/vilesci/bis/lehrgangsmeldung.php +++ b/vilesci/bis/lehrgangsmeldung.php @@ -20,13 +20,12 @@ * 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('../../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.'); +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); $error_log=''; $error_log1=''; @@ -37,64 +36,16 @@ $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=''; +$zaehl=0; +$lehrgangsname = ''; +$stsem_obj = new studiensemester(); +$stsem_obj->load($ssem); //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; - } -} +$beginn=$stsem_obj->start; +$ende=$stsem_obj->ende; + //Ermittlung aktuelles und letztes BIS-Meldedatum if(mb_strstr($ssem,"WS")) { @@ -124,14 +75,9 @@ if(isset($_GET['stg_kz'])) } 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'])) { @@ -140,7 +86,7 @@ if(isset($_GET['plausi'])) $datumobj=new datum(); //Lehrgangsdaten auslesen -$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz='".$stg_kz."'"; +$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)) @@ -159,13 +105,10 @@ if($result = $db->db_query($qry)) { $erhalter=$row->erhalter_kz; } - if($row->lgartcode<'1' || $row->lgartcode>'3') - { - echo "

Es wurde keine gültige Lehrgangart ausgewählt!

"; - exit; - } + $lehrgangsname = $row->bezeichnung; } } +$lehrgangsnummer = $erhalter.sprintf('%04s', abs($stg_kz)); //Hauptselect $qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat @@ -175,15 +118,15 @@ $qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.pe 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 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='".$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)) + 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 "; @@ -193,16 +136,16 @@ if($result = $db->db_query($qry)) $datei.=" - ".$erhalter." - ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." - - - ".($stg_kz*(-1))." - ".$row->lgartcode.""; + ".$erhalter." + ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." + + + ".$lehrgangsnummer.""; + while($row = $db->db_fetch_object($result)) { //Plausichecks - $qryadr="SELECT * from public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id='".$row->pers_id."';"; + $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) @@ -331,8 +274,8 @@ if($result = $db->db_query($qry)) } //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."') + 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)) { @@ -340,7 +283,7 @@ if($result = $db->db_query($qry)) { 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'"; + $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)) @@ -390,12 +333,12 @@ if($result = $db->db_query($qry)) } 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;"; + $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='".$row->prestudent_id."' AND status_kurzbz='Diplomand'"; + $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)) @@ -440,7 +383,7 @@ if($result = $db->db_query($qry)) 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"; + $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; @@ -485,7 +428,7 @@ if($result = $db->db_query($qry)) { //Erstellung der XML-Datei $datei.=" - + ".trim($row->matrikelnr)." ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." ".strtoupper($row->geschlecht).""; @@ -515,41 +458,32 @@ if($result = $db->db_query($qry)) ".$row->ersatzkennzeichen.""; } } + // $datei.=" ".$row->staatsbuergerschaft." ".$plz." ".$gemeinde." - ".$nation." - ".$row->zgv_code.""; - if($row->zgvdatum!=null) - { - $datei.=" + ".$row->zgv_code." ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; - } - else + + if($stgart==2) { $datei.=" - "; - } - //!!!stgart für Lehrgang überprüfen!!! - if($stgart==2) - { - $datei.=" - ".$row->zgvmas_code.""; - if($row->zgvmadatum!=null) - { - $datei.=" + ".$row->zgvmas_code." ".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)) + } + + $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)) { @@ -557,44 +491,47 @@ if($result = $db->db_query($qry)) ".date("dmY", $datumobj->mktime_fromdate($rowad->datum)).""; } } - if($aktstatus=='Absolvent') + + if($aktstatus=='Absolvent') { $datei.=" ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; } $datei.=" - ".$status." - "; + ".$status." + "; } } $datei.=" - + "; - echo ' BIS - Lehrgangsmeldung - ('.$stg_kz.') - - - '; - echo "

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

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