diff --git a/soap/stip.class.php b/soap/stip.class.php index f3bbe5820..c66610eef 100644 --- a/soap/stip.class.php +++ b/soap/stip.class.php @@ -2,6 +2,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'); class stip extends basis_db { @@ -333,6 +334,31 @@ class stip extends basis_db return $sem; } + /** + * Liefert die ECTS Punkte + * + * @param $prestudent_id + * @param $studiensemester_kurzbz + */ + public function getErfolg($prestudent_id, $studiensemester_kurzbz) + { + $student = new student(); + $uid = $student->getUid($prestudent_id); + + $obj = new zeugnisnote(); + $ects=0; + if(!$obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid, $studiensemester_kurzbz)) + die('Fehler beim Laden der Noten:'.$obj->errormsg); + foreach($obj->result as $row) + { + //Note darf nicht teilnote(0), negativ(5), noch nicht eingetragen(7), nicht beurteilt (9), nicht erfolgreich absolviert (13), angerechnet(6) sein + if($row->zeugnis && $row->note!=0 && $row->note!=5 && $row->note!=7 && $row->note!=9 && $row->note!=13 && $row->note!=6) + { + $ects += $row->ects; + } + } + return number_format($ects,2,',',''); + } } class error diff --git a/soap/stip.soap.php b/soap/stip.soap.php index 700704e44..1d841a716 100644 --- a/soap/stip.soap.php +++ b/soap/stip.soap.php @@ -90,7 +90,7 @@ function getStipDaten($ErhKz, $AnfragedatenID, $Bezieher) $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") {