From fe2b2b081fd02e42dc2c243b327da6c9aa2c574b Mon Sep 17 00:00:00 2001 From: Karl Burkhart Date: Wed, 13 Apr 2011 11:47:34 +0000 Subject: [PATCH] --- soap/stip.class.php | 35 ++++++++++++++++++++++++++++++++--- soap/stip.soap.php | 24 ++++++++++++++++++------ 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/soap/stip.class.php b/soap/stip.class.php index 669b8a1e1..f3bbe5820 100644 --- a/soap/stip.class.php +++ b/soap/stip.class.php @@ -45,7 +45,7 @@ class stip extends basis_db $this->Vorname_Antwort = $row->vorname; $this->Familienname_Antwort = $row->nachname; $this->SVNR_Antwort = $row->svnr; - $this->PersKz_Antwort = $row->matrikelnr; + $this->PersKz_Antwort = trim($row->matrikelnr); $this->AntwortStatusCode = 1; return $row->prestudent_id; } @@ -80,7 +80,7 @@ class stip extends basis_db $this->Vorname_Antwort = $row->vorname; $this->Familienname_Antwort = $row->nachname; $this->SVNR_Antwort = $row->svnr; - $this->PersKz_Antwort = $row->matrikelnr; + $this->PersKz_Antwort = trim($row->matrikelnr); $this->AntwortStatusCode = 1; return $row->prestudent_id; } @@ -118,7 +118,7 @@ class stip extends basis_db $this->Vorname_Antwort = $row->vorname; $this->Familienname_Antwort = $row->nachname; $this->SVNR_Antwort = $row->svnr; - $this->PersKz_Antwort = $row->matrikelnr; + $this->PersKz_Antwort = trim($row->matrikelnr); $this->AntwortStatusCode = 1; return $row->prestudent_id; } @@ -157,6 +157,35 @@ class stip extends basis_db return false; } + /** + * + * Enter description here ... + * @param unknown_type $studentUID + * @param unknown_type $studSemester + */ + function getOrgFormTeilCode($studentUID, $studSemester) + { + $qry = "select orgform.code, studiengang.orgform_kurzbz as studorgkz, student.student_uid, student.studiengang_kz studiengang + from public.tbl_studiengang studiengang + join public.tbl_student student using(studiengang_kz) + join public.tbl_prestudent prestudent using(prestudent_id) + join public.tbl_prestudentstatus status using(prestudent_id) + join bis.tbl_orgform orgform on(orgform.orgform_kurzbz = studiengang.orgform_kurzbz) where student_uid='$studentUID' + and status.studiensemester_kurzbz ='$studSemester';"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->OrgFormTeilCode = $row->code; + return true; + } + return false; + } + else + return false; + } + /** * * Ermittelt den StutStatusCode diff --git a/soap/stip.soap.php b/soap/stip.soap.php index 8d644a2dc..700704e44 100644 --- a/soap/stip.soap.php +++ b/soap/stip.soap.php @@ -37,6 +37,7 @@ function getStipDaten($ErhKz, $AnfragedatenID, $Bezieher) { $prestudentID; $studentUID; + $studSemester; $StipBezieher = new stip(); $datum_obj = new datum(); @@ -50,35 +51,46 @@ function getStipDaten($ErhKz, $AnfragedatenID, $Bezieher) $StipBezieher->Vorname = $Bezieher->Vorname; $StipBezieher->Typ = $Bezieher->Typ; - + // Studiensemester_kurzbz auslesen + if($Bezieher->Semester == "WS" || $Bezieher->Semester == "ws") + { + $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); + //$prestudent->loadLastStatus $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, 'SS2009'); + $StipBezieher->Ausbildungssemester = $StipBezieher->getSemester($prestudentID, $studSemester); //return new SoapFault("Server", "Some error message"); - $StipBezieher->StudStatusCode = $StipBezieher->getStudStatusCode($prestudentID, 'SS2009'); + $StipBezieher->StudStatusCode = $StipBezieher->getStudStatusCode($prestudentID, $studSemester); if($StipBezieher->StudStatusCode==3 || $StipBezieher->StudStatusCode==4) $StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($prestudent->datum,'dmY'); - if($konto->checkStudienbeitrag($studentUID, 'SS2009')) - $StipBezieher->Studienbeitrag = 300; } elseif($Bezieher->Typ ="ag" || $Bezieher->Typ == "AG") {