mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
This commit is contained in:
+4
-4
@@ -53,26 +53,26 @@ class stip extends basis_db
|
||||
if($Bezieher->PersKz != null && strlen($Bezieher->PersKz) != 10)
|
||||
{
|
||||
$this->errormsg = "Kein gültiger Wert für PersKz";
|
||||
return false;
|
||||
// return false;
|
||||
}
|
||||
|
||||
if(mb_strlen($Bezieher->SVNR) != 10 || !is_numeric($Bezieher->SVNR))
|
||||
{
|
||||
$this->errormsg = "Kein gültiger Wert für SVNR";
|
||||
return false;
|
||||
// return false;
|
||||
}
|
||||
|
||||
// preg_match funktioniert noch nicht || preg_match_all('[^0-9]*',$Bezieher->Familienname)>0
|
||||
if(mb_strlen($Bezieher->Familienname) > 255 || $Bezieher->Familienname == null || mb_strlen($Bezieher->Familienname)<2)
|
||||
{
|
||||
$this->errormsg = "Kein gültiger Wert für Familienname";
|
||||
return false;
|
||||
//return false;
|
||||
}
|
||||
|
||||
if(mb_strlen($Bezieher->Vorname) > 255 || $Bezieher->Vorname == null || mb_strlen($Bezieher->Vorname) <2)
|
||||
{
|
||||
$this->errormsg = "Kein gültiger Wert für Vorname";
|
||||
return false;
|
||||
// return false;
|
||||
}
|
||||
|
||||
if(mb_strlen($Bezieher->Typ) != 2 || ($Bezieher->Typ != "ag" && $Bezieher->Typ != "as" && $Bezieher->Typ != "AG" && $Bezieher->Typ != "AS"))
|
||||
|
||||
+128
-75
@@ -15,9 +15,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Karl Burkhart <burkhart@technikum-wien.at>.
|
||||
* Authors: Karl Burkhart <burkhart@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
@@ -26,90 +24,145 @@ require_once('../include/prestudent.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
require_once('../include/konto.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/benutzer.class.php');
|
||||
require_once('../include/webservicelog.class.php');
|
||||
require_once('stip.class.php');
|
||||
|
||||
$SOAPServer = new SoapServer("stip.soap.wsdl");
|
||||
$SOAPServer->addFunction(array("getStipDaten", "getErrorCode"));
|
||||
ini_set("soap.wsdl_cache_enabled", "0");
|
||||
|
||||
$SOAPServer = new SoapServer(APP_ROOT."/soap/stip.wsdl.php?".microtime());
|
||||
//$SOAPServer = new SoapServer("http://localhost/fhcomplete/trunk/soap/stip.wsdl.php?".microtime());
|
||||
$SOAPServer->addFunction("GetStipendienbezieherStip");
|
||||
$SOAPServer->handle();
|
||||
|
||||
|
||||
function getStipDaten($ErhKz, $AnfragedatenID, $Bezieher)
|
||||
function GetStipendienbezieherStip($parameters)
|
||||
{
|
||||
$prestudentID;
|
||||
$studentUID;
|
||||
$studSemester;
|
||||
$StipBezieher = new stip();
|
||||
$datum_obj = new datum();
|
||||
$anfrageDaten = $parameters->anfrageDaten;
|
||||
$Stipendiumsbezieher = $anfrageDaten->Stipendiumsbezieher;
|
||||
|
||||
if($StipBezieher->validateStipDaten($ErhKz, $AnfragedatenID, $Bezieher))
|
||||
$ErhalterKz = $anfrageDaten->ErhKz;
|
||||
$AnfrageDatenID = $anfrageDaten->AnfragedatenID;
|
||||
|
||||
|
||||
// Eintrag in der LogTabelle anlegen
|
||||
$log = new webservicelog();
|
||||
$log->request_data = file_get_contents('php://input');
|
||||
$log->webservicetyp_kurzbz = 'stip';
|
||||
$log->request_id = $AnfrageDatenID;
|
||||
$log->beschreibung = "Anfrage von Stip";
|
||||
$log->save(true);
|
||||
|
||||
$StipBezieherAntwort = array();
|
||||
|
||||
//return new SoapFault("Server", "asdf".print_r($Stipendiumsbezieher->StipendiumsbezieherAnfrage, true));
|
||||
$i=0;
|
||||
if(!is_array($Stipendiumsbezieher->StipendiumsbezieherAnfrage))
|
||||
$Stipendiumsbezieher->StipendiumsbezieherAnfrage = array($Stipendiumsbezieher->StipendiumsbezieherAnfrage);
|
||||
|
||||
foreach($Stipendiumsbezieher->StipendiumsbezieherAnfrage as $BezieherStip)
|
||||
{
|
||||
$StipBezieher->Semester = $Bezieher->Semester;
|
||||
$StipBezieher->Studienjahr = $Bezieher->Studienjahr;
|
||||
$StipBezieher->PersKz = $Bezieher->PersKz;
|
||||
$StipBezieher->SVNR = $Bezieher->SVNR;
|
||||
$StipBezieher->Familienname = $Bezieher->Familienname;
|
||||
$StipBezieher->Vorname = $Bezieher->Vorname;
|
||||
$StipBezieher->Typ = $Bezieher->Typ;
|
||||
|
||||
// Studiensemester_kurzbz auslesen
|
||||
if($Bezieher->Semester == "WS" || $Bezieher->Semester == "ws")
|
||||
//$test= print_r($BezieherStip, true);
|
||||
//return new SoapFault("Server", "asdf".$BezieherStip->Semester);
|
||||
$prestudentID;
|
||||
$studentUID;
|
||||
$studSemester;
|
||||
$StipBezieher = new stip();
|
||||
$datum_obj = new datum();
|
||||
|
||||
if($StipBezieher->validateStipDaten($anfrageDaten->ErhKz, $anfrageDaten->AnfragedatenID, $BezieherStip))
|
||||
{
|
||||
$year = mb_substr($Bezieher->Studienjahr, 0,4);
|
||||
$studSemester = "WS".$year;
|
||||
}elseif ($Bezieher->Semester == "SS" || $Bezieher->Semester == "ss")
|
||||
{
|
||||
$year = mb_substr($Bezieher->Studienjahr, 0,4);
|
||||
$studSemester = "SS".$year;
|
||||
}
|
||||
|
||||
if(!$prestudentID = $StipBezieher->searchPersonKz($Bezieher->PersKz))
|
||||
if(!$prestudentID = $StipBezieher->searchSvnr($Bezieher->SVNR))
|
||||
$prestudentID = $StipBezieher->searchVorNachname($Bezieher->Vorname, $Bezieher->Familienname);
|
||||
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->load($prestudentID);
|
||||
$prestudent->getLastStatus($prestudentID);
|
||||
|
||||
$student = new student();
|
||||
$studentUID = $student->getUID($prestudentID);
|
||||
$student->load($studentUID);
|
||||
|
||||
$konto = new konto();
|
||||
$studGebuehr = $konto->getStudiengebuehrGesamt($studentUID, $studSemester);
|
||||
|
||||
// Student wurde gefunden
|
||||
if($StipBezieher->AntwortStatusCode == 1)
|
||||
{
|
||||
if($Bezieher->Typ == "as" || $Bezieher->Typ == "AS")
|
||||
{
|
||||
$StipBezieher->getOrgFormTeilCode($studentUID, $studSemester);
|
||||
$StipBezieher->Studienbeitrag = $studGebuehr;
|
||||
$StipBezieher->Inskribiert ="j";
|
||||
$StipBezieher->Ausbildungssemester = $StipBezieher->getSemester($prestudentID, $studSemester);
|
||||
$StipBezieher->StudStatusCode = $StipBezieher->getStudStatusCode($prestudentID, $studSemester);
|
||||
if($StipBezieher->StudStatusCode==3 || $StipBezieher->StudStatusCode==4)
|
||||
$StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($prestudent->datum,'dmY');
|
||||
|
||||
$StipBezieher->Erfolg = $StipBezieher->getErfolg($prestudentID, $studSemester);
|
||||
}
|
||||
elseif($Bezieher->Typ ="ag" || $Bezieher->Typ == "AG")
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$Erhalter = sprintf("%03d",$StipBezieher->getErhalterKz());
|
||||
$StipBezieher->Semester = $BezieherStip->Semester;
|
||||
$StipBezieher->Studienjahr = $BezieherStip->Studienjahr;
|
||||
$StipBezieher->PersKz = $BezieherStip->PersKz;
|
||||
$StipBezieher->SVNR = $BezieherStip->SVNR;
|
||||
$StipBezieher->Familienname = $BezieherStip->Familienname;
|
||||
$StipBezieher->Vorname = $BezieherStip->Vorname;
|
||||
$StipBezieher->Typ = $BezieherStip->Typ;
|
||||
|
||||
$new = array($Erhalter,$AnfragedatenID, $StipBezieher);
|
||||
return $new;
|
||||
}else
|
||||
return new SoapFault("Server", $StipBezieher->errormsg);
|
||||
// Studiensemester_kurzbz auslesen
|
||||
if($BezieherStip->Semester == "WS" || $BezieherStip->Semester == "ws")
|
||||
{
|
||||
$year = mb_substr($BezieherStip->Studienjahr, 0,4);
|
||||
$studSemester = "WS".$year;
|
||||
}elseif ($BezieherStip->Semester == "SS" || $BezieherStip->Semester == "ss")
|
||||
{
|
||||
$year = mb_substr($BezieherStip->Studienjahr, 0,4);
|
||||
$studSemester = "SS".$year;
|
||||
}
|
||||
|
||||
if(!$prestudentID = $StipBezieher->searchPersonKz($BezieherStip->PersKz))
|
||||
if(!$prestudentID = $StipBezieher->searchSvnr($BezieherStip->SVNR))
|
||||
$prestudentID = $StipBezieher->searchVorNachname($BezieherStip->Vorname, $BezieherStip->Familienname);
|
||||
|
||||
// Student wurde gefunden
|
||||
if($StipBezieher->AntwortStatusCode == 1)
|
||||
{
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->load($prestudentID);
|
||||
$prestudent->getLastStatus($prestudentID);
|
||||
|
||||
$student = new student();
|
||||
$studentUID = $student->getUID($prestudentID);
|
||||
|
||||
$student->load($studentUID);
|
||||
|
||||
$konto = new konto();
|
||||
$studGebuehr = $konto->getStudiengebuehrGesamt($studentUID, $studSemester);
|
||||
|
||||
if($BezieherStip->Typ == "as" || $BezieherStip->Typ == "AS")
|
||||
{
|
||||
$StipBezieher->getOrgFormTeilCode($studentUID, $studSemester);
|
||||
$StipBezieher->Studienbeitrag = $studGebuehr;
|
||||
$StipBezieher->Inskribiert ="j";
|
||||
$StipBezieher->Ausbildungssemester = $StipBezieher->getSemester($prestudentID, $studSemester);
|
||||
$StipBezieher->StudStatusCode = $StipBezieher->getStudStatusCode($prestudentID, $studSemester);
|
||||
if($StipBezieher->StudStatusCode==3 || $StipBezieher->StudStatusCode==4)
|
||||
$StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($prestudent->datum,'dmY');
|
||||
else
|
||||
$StipBezieher->BeendigungsDatum = null;
|
||||
|
||||
$StipBezieher->Erfolg = $StipBezieher->getErfolg($prestudentID, $studSemester);
|
||||
}
|
||||
elseif($Bezieher->Typ ="ag" || $Bezieher->Typ == "AG")
|
||||
{
|
||||
$StipBezieher->Ausbildungssemester = null;
|
||||
$StipBezieher->StudStatusCode = null;
|
||||
$StipBezieher->BeendigungsDatum = null;
|
||||
$StipBezieher->Studienbeitrag = null;
|
||||
}
|
||||
|
||||
$StipBezieherAntwort[$i] = $StipBezieher;
|
||||
$i++;
|
||||
|
||||
}else if($StipBezieher->AntwortStatusCode == 2)
|
||||
{
|
||||
// Student wurde nicht gefunden
|
||||
$StipBezieher->PersKz_Antwort = null;
|
||||
$StipBezieher->SVNR_Antwort = null;
|
||||
$StipBezieher->Familienname_Antwort = null;
|
||||
$StipBezieher->Vorname_Antwort = null;
|
||||
$StipBezieher->Ausbildungssemester = null;
|
||||
$StipBezieher->StudStatusCode = null;
|
||||
$StipBezieher->BeendigungsDatum = null;
|
||||
$StipBezieher->VonNachPersKz = null;
|
||||
$StipBezieher->Studienbeitrag = null;
|
||||
$StipBezieher->Inskribiert = null;
|
||||
$StipBezieher->Erfolg = null;
|
||||
$StipBezieher->OrgFormTeilCode = null;
|
||||
$StipBezieherAntwort[$i] = $StipBezieher;
|
||||
$i++;
|
||||
}
|
||||
|
||||
}else
|
||||
return new SoapFault("Server", $StipBezieher->errormsg);
|
||||
}
|
||||
$ret = array("ErhKz"=>$ErhalterKz,"AnfragedatenID"=>$AnfrageDatenID, "Stipendiumsbezieher"=>$StipBezieherAntwort);
|
||||
//return new SoapFault("Server", print_r($ret,true));
|
||||
return $ret;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function getErrorCode($ErhKz, $StateCode, $StateMessage, $ErrorStatusCode, $JobId, $ErrorContent)
|
||||
function SendStipendienbezieherStipError($ErhKz, $StateCode, $StateMessage, $ErrorStatusCode, $JobId, $ErrorContent)
|
||||
{
|
||||
return "$ErhKz, $StateCode";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user