diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 0656aa110..f12ac7fc6 100755 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -1733,103 +1733,4 @@ class prestudent extends person return false; } } - - - /** - * Laedt alle Studenten eines Studienplans und eines Studiensemesters - * @param $studienplan_id - * @param $studiensemester_kurzbz - * @param $studiengang_kz - * @return array mit allen Prestudenten, welche sich für den angegebenen Studienplan im angegebenen Semester beworben haben - */ - public function getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz) - { - if(!is_numeric($studienplan_id)) - { - $this->errormsg = 'studienplan_id ist ungueltig'; - return false; - } - - if(!$studiensemester_kurzbz || $studiensemester_kurzbz == "") - { - $this->errormsg = 'studiensemester_kurzbz ist ungueltig'; - return false; - } - - $stg_obj = new studiengang(); - $stg_obj->load($studiengang_kz); - - if($stg_obj->typ=='m') - { - $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus, - (Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)." - AND status_kurzbz='Bewerber') as anmerkung - FROM - public.tbl_prestudent - JOIN public.tbl_person USING(person_id) - LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgvmas_code) - LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz) - WHERE - tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)." - AND EXISTS( - SELECT - 1 - FROM - public.tbl_prestudentstatus - WHERE - tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id - AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)." - AND status_kurzbz='Bewerber' - AND ( - studienplan_id=". $this->db_add_param($studienplan_id)." - OR - (anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%') - ) - );"; - } - else - { - $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus, - (Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)." - AND status_kurzbz='Bewerber') as anmerkung - FROM - public.tbl_prestudent - JOIN public.tbl_person USING(person_id) - LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgv_code) - LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz) - WHERE - tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)." - AND EXISTS( - SELECT - 1 - FROM - public.tbl_prestudentstatus - WHERE - tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id - AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)." - AND status_kurzbz='Bewerber' - AND ( - studienplan_id=". $this->db_add_param($studienplan_id)." - OR - (anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%') - ) - );"; - } - - - if($result = $this->db_query($qry)) - { - $ret = array(); - - while($row = $this->db_fetch_object($result)) - $ret[] = $row; - - return $ret; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } } diff --git a/vilesci/personen/aliquote_reduktion.json.php b/vilesci/personen/aliquote_reduktion.json.php index d7e50134a..891f4eabc 100644 --- a/vilesci/personen/aliquote_reduktion.json.php +++ b/vilesci/personen/aliquote_reduktion.json.php @@ -62,8 +62,7 @@ switch($action) die("keine studiensemester_kurzbz erhalten"); $studiensemester_kurzbz = $_REQUEST["studiensemester_kurzbz"]; - $prestudent = new prestudent(); - $return = $prestudent->getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz); + $return = getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz); $db = new basis_db(); foreach($return as $key=>$value) @@ -170,10 +169,16 @@ switch($action) $maxlength[$spalte]=10; $worksheet->write($zeile,++$spalte,'Reihung',$format_bold); $maxlength[$spalte]=8; + $worksheet->write($zeile,++$spalte,'RT Punkte 1',$format_bold); + $maxlength[$spalte]=8; + $worksheet->write($zeile,++$spalte,'RT Punkte 2',$format_bold); + $maxlength[$spalte]=8; $worksheet->write($zeile,++$spalte,'RT Gesamt',$format_bold); $maxlength[$spalte]=8; $worksheet->write($zeile,++$spalte,'Interviewbogen',$format_bold); $maxlength[$spalte]=14; + $worksheet->write($zeile,++$spalte,'EMail',$format_bold); + $maxlength[$spalte]=8; $worksheet->write($zeile,++$spalte,'Status',$format_bold); $maxlength[$spalte]=8; $worksheet->write($zeile,++$spalte,'Auswahl',$format_bold); @@ -215,6 +220,31 @@ switch($action) if(mb_strlen((isset($s->seqPlace)?$s->seqPlace:''))>$maxlength[$spalte]) $maxlength[$spalte]=mb_strlen((isset($s->seqPlace)?$s->seqPlace:'')); + if(isset($s->rt_punkte1) && $s->rt_punkte1) + { + $worksheet->writeNumber($zeile,++$spalte, $s->rt_punkte1, $format_float); + if(mb_strlen($s->rt_punkte1)>$maxlength[$spalte]) + $maxlength[$spalte]=mb_strlen($s->rt_punkte1); + } + else + { + $worksheet->write($zeile,++$spalte, ""); + if(mb_strlen("")>$maxlength[$spalte]) + $maxlength[$spalte]=mb_strlen(""); + } + if(isset($s->rt_punkte2) && $s->rt_punkte2) + { + $worksheet->writeNumber($zeile,++$spalte, $s->rt_punkte2, $format_float); + if(mb_strlen($s->rt_punkte2)>$maxlength[$spalte]) + $maxlength[$spalte]=mb_strlen($s->rt_punkte2); + } + else + { + $worksheet->write($zeile,++$spalte, ""); + if(mb_strlen("")>$maxlength[$spalte]) + $maxlength[$spalte]=mb_strlen(""); + } + if(isset($s->rt_gesamtpunkte) && $s->rt_gesamtpunkte) { $worksheet->writeNumber($zeile,++$spalte, $s->rt_gesamtpunkte, $format_float); @@ -240,6 +270,11 @@ switch($action) if(mb_strlen("")>$maxlength[$spalte]) $maxlength[$spalte]=mb_strlen(""); } + + $worksheet->write($zeile,++$spalte, $s->email_privat); + if(mb_strlen($s->email_privat)>$maxlength[$spalte]) + $maxlength[$spalte]=mb_strlen($s->email_privat); + $worksheet->write($zeile,++$spalte, $s->laststatus); if(mb_strlen($s->laststatus)>$maxlength[$spalte]) $maxlength[$spalte]=mb_strlen($s->laststatus); @@ -279,4 +314,105 @@ function studentsSort($a, $b) } +/** + * Laedt die Studenten fuer die Reduktion + * @param $studienplan_id + * @param $studiensemester_kurzbz + * @param $studiengang_kz + * @return array mit allen Prestudenten, welche sich für den angegebenen Studienplan im angegebenen Semester beworben haben + */ +function getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz) +{ + $db = new basis_db(); + + if(!is_numeric($studienplan_id)) + { + $errormsg = 'studienplan_id ist ungueltig'; + return false; + } + + if(!$studiensemester_kurzbz || $studiensemester_kurzbz == "") + { + $errormsg = 'studiensemester_kurzbz ist ungueltig'; + return false; + } + + $stg_obj = new studiengang(); + $stg_obj->load($studiengang_kz); + + if($stg_obj->typ=='m') + { + $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus, + (Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)." + AND status_kurzbz='Bewerber') as anmerkung, rt_punkte1, rt_punkte2, + (SELECT kontakt FROM public.tbl_kontakt where kontakttyp='email' AND zustellung AND person_id=tbl_person.person_id limit 1) as email_privat + FROM + public.tbl_prestudent + JOIN public.tbl_person USING(person_id) + LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgvmas_code) + LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz) + WHERE + tbl_prestudent.studiengang_kz=". $db->db_add_param($studiengang_kz)." + AND EXISTS( + SELECT + 1 + FROM + public.tbl_prestudentstatus + WHERE + tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id + AND studiensemester_kurzbz=". $db->db_add_param($studiensemester_kurzbz)." + AND status_kurzbz='Bewerber' + AND ( + studienplan_id=". $db->db_add_param($studienplan_id)." + OR + (anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%') + ) + );"; + } + else + { + $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus, + (Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $db->db_add_param($studiensemester_kurzbz)." + AND status_kurzbz='Bewerber') as anmerkung, rt_punkte1, rt_punkte2, + (SELECT kontakt FROM public.tbl_kontakt where kontakttyp='email' AND zustellung AND person_id=tbl_person.person_id limit 1) as email_privat + FROM + public.tbl_prestudent + JOIN public.tbl_person USING(person_id) + LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgv_code) + LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz) + WHERE + tbl_prestudent.studiengang_kz=". $db->db_add_param($studiengang_kz)." + AND EXISTS( + SELECT + 1 + FROM + public.tbl_prestudentstatus + WHERE + tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id + AND studiensemester_kurzbz=". $db->db_add_param($studiensemester_kurzbz)." + AND status_kurzbz='Bewerber' + AND ( + studienplan_id=". $db->db_add_param($studienplan_id)." + OR + (anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $db->db_add_param($studienplan_id).") || '%') + ) + );"; + } + + + if($result = $db->db_query($qry)) + { + $ret = array(); + + while($row = $db->db_fetch_object($result)) + $ret[] = $row; + + return $ret; + } + else + { + $errormsg = 'Fehler beim Laden der Daten'; + return false; + } +} ?> diff --git a/vilesci/personen/aliquote_reduktion.php b/vilesci/personen/aliquote_reduktion.php index dd2f86df2..990cd428e 100644 --- a/vilesci/personen/aliquote_reduktion.php +++ b/vilesci/personen/aliquote_reduktion.php @@ -446,6 +446,8 @@ Vorname ZGV Gruppe Reihung + RT Punkte 1 + RT Punkte 2 RT Gesamt Interviewbogen Anmerkung/Prio @@ -462,6 +464,8 @@ {{stud.bezeichnung}} Keine Angabe {{stud.seqPlace}} + {{stud.rt_punkte1}} + {{stud.rt_punkte2}} {{stud.rt_gesamtpunkte}} {{stud.interviewbogen?'vorhanden':'nicht vorhanden'}} {{stud.anmerkung}} @@ -514,6 +518,8 @@ Vorname ZGV Gruppe Reihung + RT Punkte 1 + RT Punkte 2 RT Gesamt Interviewbogen Anmerkung/Prio @@ -529,6 +535,8 @@ {{stud.bezeichnung}} Keine Angabe {{stud.seqPlace}} + {{stud.rt_punkte1}} + {{stud.rt_punkte2}} {{stud.rt_gesamtpunkte}} {{stud.interviewbogen?'vorhanden':'nicht vorhanden'}} {{stud.anmerkung}}