Get OrgFormTeilCode wurde überarbeitet und gibt jetzt wenn nichts gefunden wurde null zurück

Studiengebuehr wird jetzt Richtigerweise mithilfe der Studiengang_kz berechnet
This commit is contained in:
Karl Burkhart
2012-02-22 14:28:11 +00:00
parent 3fc6f2699d
commit 149cee53fb
2 changed files with 66 additions and 29 deletions
+54 -12
View File
@@ -22,6 +22,7 @@ require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/zeugnisnote.class.php');
require_once('../include/prestudent.class.php');
class stip extends basis_db
{
@@ -268,27 +269,68 @@ class stip extends basis_db
* @param $studentUID
* @param $studSemester
*/
function getOrgFormTeilCode($studentUID, $studSemester)
function getOrgFormTeilCode($studentUID, $studSemester, $prestudentID)
{
$qry = "select orgform.code, studiengang.orgform_kurzbz as studorgkz, student.student_uid, student.studiengang_kz studiengang
// hole mischform von studenten
$qry_mischform = "select studiengang.mischform
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))
where student_uid='$studentUID'";
if($this->db_query($qry_mischform))
{
if($row = $this->db_fetch_object())
if($row= $this->db_fetch_object())
{
$this->OrgFormTeilCode = $row->code;
$mischform = ($row->mischform=='t'?true:false);
}
}
// hole OrgFormTeilCode aus studiengang
if($mischform == false)
{
$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';";
// Wenn kein Status gefunden wurde -> null
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->OrgFormTeilCode = $row->code;
return true;
}
$this->OrgFormTeilCode = null;
return false;
}
else
return false;
}
else // hole OrgFormTeilCode aus letztem Status
{
$prestudentStatus = new prestudent();
// wenn status vorhanden übernehme OrgForm
if($prestudentStatus->getLastStatus($prestudentID,$studSemester))
{
$statusOrgForm = $prestudentStatus->orgform_kurzbz;
$this->OrgFormTeilCode = $this->getOrgFormCodeFromKurzbz($statusOrgForm);
return true;
}
return false;
else
$this->OrgFormTeilCode = null;
}
else
return false;
$this->OrgFormTeilCode = null;
}
+12 -17
View File
@@ -110,32 +110,27 @@ function GetStipendienbezieherStip($parameters)
$studentUID = $student->getUID($prestudentID);
$student->load($studentUID);
$studiengang_kz = $student->studiengang_kz;
$konto = new konto();
$studGebuehr = $konto->getStudiengebuehrGesamt($studentUID, $studSemester);
$studGebuehr = $konto->getStudiengebuehrGesamt($studentUID, $studSemester, $studiengang_kz);
// , als Dezimaltrennzeichen
$studGebuehr = str_replace('.', ',', $studGebuehr);
// wenn nicht bezahlt
if($studGebuehr == "")
$studGebuehr = "0,00";
if(!$prestudentStatus->getLastStatus($prestudentID,$studSemester))
$StipBezieher->Inskribiert = 'n';
else
$StipBezieher->Inskribiert = 'j';
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
$prestudentStatus->getLastStatus($prestudentID,$studSemester);
$statusOrgForm = $prestudentStatus->orgform_kurzbz;
$StipBezieher->OrgFormTeilCode = $StipBezieher->getOrgFormCodeFromKurzbz($statusOrgForm);
}
$StipBezieher->getOrgFormTeilCode($studentUID, $studSemester, $prestudentID);
$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)
@@ -144,6 +139,7 @@ function GetStipendienbezieherStip($parameters)
$StipBezieher->BeendigungsDatum = null;
$StipBezieher->Erfolg = $StipBezieher->getErfolg($prestudentID, $studSemester);
}
elseif($Bezieher->Typ ="ag" || $Bezieher->Typ == "AG")
{
@@ -151,7 +147,6 @@ function GetStipendienbezieherStip($parameters)
$StipBezieher->StudStatusCode = null;
$StipBezieher->BeendigungsDatum = null;
$StipBezieher->Studienbeitrag = null;
$StipBezieher->Inskribiert ="j";
$StipBezieher->OrgFormTeilCode = null;
}