mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 09:52:22 +00:00
Bug Fix und Performanceverbesserungen
This commit is contained in:
@@ -1270,6 +1270,10 @@ class prestudent extends person
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Liefert ein Array mit den Interessentenzahlen
|
||||
* @param $studiensemester_kurzbz (optional)
|
||||
@@ -1334,6 +1338,122 @@ class prestudent extends person
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function listAnzAbbrecher($studiensemester_kurzbz=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_prestudentstatus.studiensemester_kurzbz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_prestudentstatus.ausbildungssemester,
|
||||
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
tbl_prestudentstatus.status_kurzbz='Abbrecher'
|
||||
AND bismelden=true";
|
||||
|
||||
if(!is_null($studiensemester_kurzbz))
|
||||
$qry.=" AND tbl_prestudentstatus.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
$this->result = array();
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
// Studiensemester
|
||||
if(!isset($this->result[$row->studiensemester_kurzbz]['anzahl']))
|
||||
$this->result[$row->studiensemester_kurzbz]['anzahl']=0;
|
||||
|
||||
$this->result[$row->studiensemester_kurzbz]['anzahl']++;
|
||||
|
||||
// Studiengang
|
||||
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']))
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']=0;
|
||||
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']++;
|
||||
|
||||
// Orgform
|
||||
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']))
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']=0;
|
||||
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']++;
|
||||
|
||||
// Ausbildungssemester
|
||||
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz][$row->ausbildungssemester]['anzahl']))
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz][$row->ausbildungssemester]['anzahl']=0;
|
||||
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz][$row->ausbildungssemester]['anzahl']++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function listAnzStudierende($studiensemester_kurzbz=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct on(prestudent_id) prestudent_id,
|
||||
tbl_prestudentstatus.studiensemester_kurzbz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_prestudentstatus.ausbildungssemester,
|
||||
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
tbl_prestudentstatus.status_kurzbz IN ('Student','Unterbrecher','Diplomand')
|
||||
AND bismelden=true";
|
||||
|
||||
if(!is_null($studiensemester_kurzbz))
|
||||
$qry.=" AND tbl_prestudentstatus.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
|
||||
|
||||
$this->result = array();
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
// Studiensemester
|
||||
if(!isset($this->result[$row->studiensemester_kurzbz]['anzahl']))
|
||||
$this->result[$row->studiensemester_kurzbz]['anzahl']=0;
|
||||
|
||||
$this->result[$row->studiensemester_kurzbz]['anzahl']++;
|
||||
|
||||
// Studiengang
|
||||
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']))
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']=0;
|
||||
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']++;
|
||||
|
||||
// Orgform
|
||||
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']))
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']=0;
|
||||
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']++;
|
||||
|
||||
// Ausbildungssemester
|
||||
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz][$row->ausbildungssemester]['anzahl']))
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz][$row->ausbildungssemester]['anzahl']=0;
|
||||
|
||||
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz][$row->ausbildungssemester]['anzahl']++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Anzahl der Abbrecher liefern.<br>
|
||||
* WM: Kopie von getBewerber() => @TODO: überprüfen!!!
|
||||
|
||||
Reference in New Issue
Block a user