Anpassung STIP Schnittstelle an Version 3.0

- Neue Abfrage für Matrikelnummer und StudiengangKz hinzugefügt
 - Antwort von Matrikelnummer und StudiengangKz hinzugefügt
This commit is contained in:
Andreas Österreicher
2019-12-03 08:37:00 +01:00
parent 446587b16c
commit 24f69c4333
4 changed files with 330 additions and 236 deletions
+72 -7
View File
@@ -29,11 +29,15 @@ class stip extends basis_db
public $Semester;
public $Studienjahr;
public $PersKz;
public $Matrikelnummer;
public $StgKz;
public $SVNR;
public $Familienname;
public $Vorname;
public $Typ;
public $PersKz_Antwort;
public $Matrikelnummer_Antwort;
public $StgKz_Antwort;
public $SVNR_Antwort;
public $Familienname_Antwort;
public $Vorname_Antwort;
@@ -47,7 +51,6 @@ class stip extends basis_db
public $OrgFormTeilCode;
public $AntwortStatusCode;
/**
*
* Überprüft die Daten
@@ -82,6 +85,20 @@ class stip extends basis_db
//return false;
}
// kein Mussfeld
if($Bezieher->Matrikelnummer != null && strlen($Bezieher->Matrikelnummer) != 8)
{
$this->errormsg = "Kein gültiger Wert für Matrikelnummer";
return false;
}
// kein Mussfeld
if($Bezieher->StgKz != null && strlen($Bezieher->StgKz) != 4)
{
$this->errormsg = "Kein gültiger Wert für StgKz";
return false;
}
if(mb_strlen($Bezieher->SVNR) != 10 || !is_numeric($Bezieher->SVNR))
{
$this->errormsg = "Kein gültiger Wert für SVNR";
@@ -119,7 +136,7 @@ class stip extends basis_db
function searchPersonKz($PersonKz)
{
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr
prestudent_id, vorname, nachname, svnr, matrikelnr, student.studiengang_kz, person.matr_nr
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
@@ -134,12 +151,56 @@ class stip extends basis_db
$this->Familienname_Antwort = $row->nachname;
$this->SVNR_Antwort = $row->svnr;
$this->PersKz_Antwort = trim($row->matrikelnr);
$this->StgKz = str_pad($row->studiengang_kz, 4,'0', STR_PAD_LEFT);
$this->Matrikelnummer = $row->matr_nr;
$this->AntwortStatusCode = 1;
return $row->prestudent_id;
}
else
{
$this->AntwortStatusCode =2;
$this->AntwortStatusCode = 2;
return false;
}
}
else
{
return false;
}
}
/**
*
* Suche Studenten anhand PersonKz
* @param $PersonKz
*/
function searchMatrikelnummerStg($Matrikelnummer, $StgKz)
{
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr, student.studiengang_kz, person.matr_nr
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
JOIN public.tbl_person person using(person_id)
WHERE
person.matr_nr = ".$this->db_add_param($Matrikelnummer)."
AND student.studiengang_kz=".$this->db_add_param(ltrim($StgKz,0)).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->Vorname_Antwort = $row->vorname;
$this->Familienname_Antwort = $row->nachname;
$this->SVNR_Antwort = $row->svnr;
$this->PersKz_Antwort = trim($row->matrikelnr);
$this->StgKz = str_pad($row->studiengang_kz, 4,'0', STR_PAD_LEFT);
$this->Matrikelnummer = $row->matr_nr;
$this->AntwortStatusCode = 1;
return $row->prestudent_id;
}
else
{
$this->AntwortStatusCode = 2;
return false;
}
}
@@ -157,7 +218,7 @@ class stip extends basis_db
function searchSvnr($Svnr)
{
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr
prestudent_id, vorname, nachname, svnr, matrikelnr, student.studiengang_kz, person.matr_nr
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
@@ -175,12 +236,14 @@ class stip extends basis_db
$this->Familienname_Antwort = $row->nachname;
$this->SVNR_Antwort = $row->svnr;
$this->PersKz_Antwort = trim($row->matrikelnr);
$this->StgKz = str_pad($row->studiengang_kz, 4,'0', STR_PAD_LEFT);
$this->Matrikelnummer = $row->matr_nr;
$this->AntwortStatusCode = 1;
return $row->prestudent_id;
}
else
{
$this->AntwortStatusCode =2;
$this->AntwortStatusCode = 2;
return false;
}
}
@@ -206,7 +269,7 @@ class stip extends basis_db
function searchVorNachname($Vorname, $Nachname)
{
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr
prestudent_id, vorname, nachname, svnr, matrikelnr, student.studiengang_kz, person.matr_nr
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
@@ -226,12 +289,14 @@ class stip extends basis_db
$this->Familienname_Antwort = $row->nachname;
$this->SVNR_Antwort = $row->svnr;
$this->PersKz_Antwort = trim($row->matrikelnr);
$this->StgKz = str_pad($row->studiengang_kz, 4,'0', STR_PAD_LEFT);
$this->Matrikelnummer = $row->matr_nr;
$this->AntwortStatusCode = 1;
return $row->prestudent_id;
}
else
{
$this->AntwortStatusCode =2;
$this->AntwortStatusCode = 2;
return false;
}
}
+14 -2
View File
@@ -96,25 +96,35 @@ function GetStipendienbezieherStip($parameters)
$StipBezieher->Semester = $BezieherStip->Semester;
$StipBezieher->Studienjahr = $BezieherStip->Studienjahr;
$StipBezieher->PersKz = $BezieherStip->PersKz;
$StipBezieher->Matrikelnummer = $BezieherStip->Matrikelnummer;
$StipBezieher->StgKz = $BezieherStip->StgKz;
$StipBezieher->SVNR = $BezieherStip->SVNR;
$StipBezieher->Familienname = $BezieherStip->Familienname;
$StipBezieher->Vorname = $BezieherStip->Vorname;
$StipBezieher->Typ = $BezieherStip->Typ;
// Studiensemester_kurzbz auslesen
if($BezieherStip->Semester == "WS" || $BezieherStip->Semester == "ws")
if ($BezieherStip->Semester == "WS" || $BezieherStip->Semester == "ws")
{
$year = mb_substr($BezieherStip->Studienjahr, 0,4);
$studSemester = "WS".$year;
}elseif ($BezieherStip->Semester == "SS" || $BezieherStip->Semester == "ss")
}
elseif ($BezieherStip->Semester == "SS" || $BezieherStip->Semester == "ss")
{
$year = mb_substr($BezieherStip->Studienjahr, 0,2).mb_substr($BezieherStip->Studienjahr, 5,7);
$studSemester = "SS".$year;
}
if(!$prestudentID = $StipBezieher->searchPersonKz($BezieherStip->PersKz))
{
if(!$prestudentID = $StipBezieher->searchMatrikelnummerStg($BezieherStip->Matrikelnummer, $BezieherStip->StgKz))
{
if(!$prestudentID = $StipBezieher->searchSvnr($BezieherStip->SVNR))
{
$prestudentID = $StipBezieher->searchVorNachname($BezieherStip->Vorname, $BezieherStip->Familienname);
}
}
}
// Student wurde gefunden
if($StipBezieher->AntwortStatusCode == 1)
@@ -193,6 +203,8 @@ function GetStipendienbezieherStip($parameters)
{
// Student wurde nicht gefunden
$StipBezieher->PersKz_Antwort = null;
$StipBezieher->Matrikelnummer_Antwort = null;
$StipBezieher->StgKz_Antwort = null;
$StipBezieher->SVNR_Antwort = null;
$StipBezieher->Familienname_Antwort = null;
$StipBezieher->Vorname_Antwort = null;
+4
View File
@@ -38,6 +38,8 @@ echo "<?xml version='1.0' encoding='utf-8' ?>";
<s:element minOccurs="0" maxOccurs="1" name="Semester" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Studienjahr" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="PersKz" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Matrikelnummer" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="StgKz" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="SVNR" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Familienname" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Vorname" type="s:string"/>
@@ -49,6 +51,8 @@ echo "<?xml version='1.0' encoding='utf-8' ?>";
<s:extension base="tns:StipendiumsbezieherAnfrage">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PersKz_Antwort" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Matrikelnummer_Antwort" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="StgKz_Antwort" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="SVNR_Antwort" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Familienname_Antwort" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Vorname_Antwort" type="s:string"/>
+18 -5
View File
@@ -30,11 +30,11 @@ $db = new basis_db();
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<title>STIP-Client</title>
</head>
<body>
@@ -72,6 +72,14 @@ $db = new basis_db();
<td align="right">PersKz:</td>
<td><input name="PersKz" type="text" size="30" maxlength="11" value="<?php echo $db->convert_html_chars((isset($_REQUEST['PersKz']) ? $_REQUEST['PersKz'] : ""));?>"></td>
</tr>
<tr>
<td align="right">Matrikelnummer:</td>
<td><input name="Matrikelnummer" type="text" size="30" maxlength="11" value="<?php echo $db->convert_html_chars((isset($_REQUEST['Matrikelnummer']) ? $_REQUEST['Matrikelnummer'] : ""));?>"></td>
</tr>
<tr>
<td align="right">StgKz:</td>
<td><input name="StgKz" type="text" size="30" maxlength="11" value="<?php echo $db->convert_html_chars((isset($_REQUEST['StgKz']) ? $_REQUEST['StgKz'] : ""));?>"></td>
</tr>
<tr>
<td align="right">SVNR:</td>
<td><input name="Svnr" type="text" size="30" maxlength="10" value="<?php echo $db->convert_html_chars((isset($_REQUEST['Svnr']) ? $_REQUEST['Svnr'] : ""));?>"></td>
@@ -114,6 +122,8 @@ if(isset($_REQUEST['submit']))
$bezieher->Semester = $_REQUEST['Semester'];
$bezieher->Studienjahr = $_REQUEST['Studienjahr'];
$bezieher->PersKz= $_REQUEST['PersKz'];
$bezieher->Matrikelnummer= $_REQUEST['Matrikelnummer'];
$bezieher->StgKz= $_REQUEST['StgKz'];
$bezieher->SVNR= $_REQUEST['Svnr'];
$bezieher->Familienname= $_REQUEST['Familienname'];
$bezieher->Vorname= $_REQUEST['Vorname'];
@@ -122,6 +132,8 @@ if(isset($_REQUEST['submit']))
$bezieher1->Semester = $_REQUEST['Semester'];
$bezieher1->Studienjahr = $_REQUEST['Studienjahr'];
$bezieher1->PersKz= $_REQUEST['PersKz'];
$bezieher1->Matrikelnummer= $_REQUEST['Matrikelnummer'];
$bezieher1->StgKz= $_REQUEST['StgKz'];
$bezieher1->SVNR= $_REQUEST['Svnr'];
$bezieher1->Familienname= $_REQUEST['Familienname'];
$bezieher1->Vorname= $_REQUEST['Vorname'];
@@ -147,5 +159,6 @@ if(isset($_REQUEST['submit']))
Legende:<br>
Antwortstatuscode: 1=gefunden; 2=nicht gefunden<br>
StudStatusCode: 1=aktiver Student; 2=Unterbrecher; 3=Absolvent; 4=Abbrecher<br>
Typ: AS = Antragsteller, AG = Angehöriger
</body>
</html>