mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 23:42:17 +00:00
- Gesamtpunkte berechnen bei Aufnahmeterminen summiert nur noch die Punkte des Studiengangs des Prestudenten
- Gesamtpunkte berechnen bei Aufnahmeterminen zieht nur die Reihungstests des jüngsten Studiensemesters der zugeordneten Reihungstests zur Berechnung der Gesamtpunkte mit ein
This commit is contained in:
@@ -73,6 +73,7 @@ require_once('../../include/adresse.class.php');
|
||||
require_once('../../include/reihungstest.class.php');
|
||||
require_once('../../include/studienplan.class.php');
|
||||
require_once('../../include/mobilitaet.class.php');
|
||||
require_once('../../include/studienordnung.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$db = new basis_db();
|
||||
@@ -4101,17 +4102,57 @@ if(!$error)
|
||||
}
|
||||
else
|
||||
{
|
||||
$gesamtpunkte=0;
|
||||
$gesamtpunkte_arr = array();
|
||||
$reihungstest = new reihungstest();
|
||||
if($reihungstest->getReihungstestPerson($prestudent->person_id))
|
||||
{
|
||||
foreach($reihungstest->result as $row)
|
||||
$gesamtpunkte += $row->punkte;
|
||||
{
|
||||
$studienplan = new studienplan();
|
||||
if($studienplan->loadStudienplan($row->studienplan_id))
|
||||
{
|
||||
$studienordnung = new studienordnung();
|
||||
if($studienordnung->loadStudienordnung($studienplan->studienordnung_id))
|
||||
{
|
||||
if($studienordnung->studiengang_kz == $prestudent->studiengang_kz)
|
||||
{
|
||||
$rt_obj = new reihungstest();
|
||||
$rt_obj->load($row->reihungstest_id);
|
||||
if(!isset($gesamtpunkte_arr[$rt_obj->studiensemester_kurzbz]))
|
||||
$gesamtpunkte_arr[$rt_obj->studiensemester_kurzbz]=0;
|
||||
$gesamtpunkte_arr[$rt_obj->studiensemester_kurzbz] += $row->punkte;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $studienordnung->errormsg;
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $studienplan->errormsg;
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
||||
$return = true;
|
||||
$error = false;
|
||||
$data = $gesamtpunkte;
|
||||
$errormsg = 'Erfolgreich gespeichert';
|
||||
if(!$error)
|
||||
{
|
||||
if(count(array_keys($gesamtpunkte_arr))>0)
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
$stsem = $studiensemester->getYoungestFromArray(array_keys($gesamtpunkte_arr));
|
||||
$gesamtpunkte = $gesamtpunkte_arr[$stsem];
|
||||
}
|
||||
else
|
||||
$gesamtpunkte = '0';
|
||||
$return = true;
|
||||
$error = false;
|
||||
$data = $gesamtpunkte;
|
||||
$errormsg = 'Erfolgreich gespeichert';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -662,7 +662,7 @@ class studiensemester extends basis_db
|
||||
public function getFinished($limit = null)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_studiensemester WHERE start <= NOW() ORDER BY ende DESC";
|
||||
|
||||
|
||||
if(!is_null($limit) && is_numeric($limit))
|
||||
$qry.=' LIMIT '.$limit;
|
||||
|
||||
@@ -768,22 +768,22 @@ class studiensemester extends basis_db
|
||||
{
|
||||
if (!isset($this->begin))
|
||||
$this->begin = new stdclass();
|
||||
|
||||
|
||||
$this->begin->start = mktime(0, 0, 0,
|
||||
mb_substr($row->start, 5, 2),
|
||||
mb_substr($row->start, 8, 2),
|
||||
mb_substr($row->start, 0, 4)
|
||||
);
|
||||
|
||||
|
||||
if (!isset($this->end))
|
||||
$this->ende = new stdclass();
|
||||
|
||||
|
||||
$this->ende->ende = mktime(0, 0, 0,
|
||||
mb_substr($row->ende, 5, 2),
|
||||
mb_substr($row->ende, 8, 2),
|
||||
mb_substr($row->ende, 0, 4)
|
||||
);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -976,5 +976,44 @@ class studiensemester extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert aus einer Liste von Studiensemester das neueste Studiensemester zurueck
|
||||
* @param $studiensemester_arr Array mit Studiensemester_kurzbz
|
||||
* @return Studiensemester aus dem Array das zuletzt startet
|
||||
*/
|
||||
public function getYoungestFromArray($studiensemester_arr)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
studiensemester_kurzbz IN(".$this->db_implode4SQL($studiensemester_arr).")
|
||||
ORDER BY
|
||||
start desc
|
||||
LIMIT 1";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$this->start = $row->start;
|
||||
$this->ende = $row->ende;
|
||||
return $row->studiensemester_kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es wurde kein Studiensemester gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln des Studiensemesters';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user