diff --git a/soap/stip.class.php b/soap/stip.class.php index b2a02b0de..5bb95be07 100644 --- a/soap/stip.class.php +++ b/soap/stip.class.php @@ -291,6 +291,28 @@ class stip extends basis_db return false; } + + /** + * + * Gibt den orgform_code zurück für übergebene orgform_kurzbz + * @param orgform_kurzbz + */ + function getOrgFormCodeFromKurzbz($orgform_kurzbz) + { + $qry = "SELECT code FROM bis.tbl_orgform WHERE orgform_kurzbz = '".addslashes($orgform_kurzbz)."';"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + return $row->code; + } + return false; + } + else + return false; + } + /** * * Ermittelt den StutStatusCode diff --git a/soap/stip.soap.php b/soap/stip.soap.php index 3448872bc..fd26fd4d1 100644 --- a/soap/stip.soap.php +++ b/soap/stip.soap.php @@ -104,6 +104,7 @@ function GetStipendienbezieherStip($parameters) $prestudent = new prestudent(); $prestudent->load($prestudentID); $prestudent->getLastStatus($prestudentID); + $prestudentStatus = new prestudent(); $student = new student(); $studentUID = $student->getUID($prestudentID); @@ -118,6 +119,18 @@ function GetStipendienbezieherStip($parameters) if($BezieherStip->Typ == "as" || $BezieherStip->Typ == "AS") { $StipBezieher->getOrgFormTeilCode($studentUID, $studSemester); + + // Wenn Studium ist VBB -> in Status vom Studenten schauen + if($StipBezieher->OrgFormTeilCode == 3) + { + // lade letzten status vom gesuchten semester + if(!$prestudentStatus->getLastStatus($prestudentID,$studSemester)) + return new SoapFault("Server", $prestudentStatus->errormsg); + $statusOrgForm = $prestudentStatus->orgform_kurzbz; + if(!$StipBezieher->OrgFormTeilCode = $StipBezieher->getOrgFormCodeFromKurzbz($statusOrgForm)) + return new SoapFault("Server", $StipBezieher->errormsg); + } + $StipBezieher->Studienbeitrag = $studGebuehr; $StipBezieher->Inskribiert ="j"; $StipBezieher->Ausbildungssemester = $StipBezieher->getSemester($prestudentID, $studSemester); diff --git a/soap/stip_client.php b/soap/stip_client.php index 10d26114b..f9185d014 100644 --- a/soap/stip_client.php +++ b/soap/stip_client.php @@ -64,8 +64,8 @@ require_once('stip.class.php'); if(isset($_REQUEST['submit'])) { - $client = new SoapClient("https://cis.technikum-wien.at/soap/stip.wsdl.php?".microtime()); - //$client = new SoapClient(APP_ROOT."/soap/stip.soap.wsdl", array('login'=>'stip','password'=>'stip')); + //$client = new SoapClient("https://cis.technikum-wien.at/soap/stip.wsdl.php?".microtime()); + $client = new SoapClient(APP_ROOT."/soap/stip.wsdl.php?".microtime()); $username = "test"; $passwort = "foo"; @@ -108,12 +108,12 @@ if(isset($_REQUEST['submit'])) { //$response = $client->GetStipendienbezieherStip(array("userName"=>$username,"passWord"=>$passwort,"anfrageDaten"=>array("ErhKz"=>$ErhKz, "AnfragedatenID"=>$AnfragedatenID,"Stipendiumsbezieher"=>array($bezieher, $bezieher1)))); $response_stip = $client->GetStipendienbezieherStip(array("userName"=>$username,"passWord"=>$passwort,"anfrageDaten"=>array("ErhKz"=>$ErhKz, "AnfragedatenID"=>$AnfragedatenID,"Stipendiumsbezieher"=>array($bezieher)))); - var_dump($response_stip); + var_dump($response_stip->GetStipendienbezieherStipResult); echo '