From d4ac9549587dbbdec7f6304d7235f5529830a0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 23 Nov 2018 11:40:20 +0100 Subject: [PATCH] =?UTF-8?q?BIS-Meldung=20-=20Bewerberblock=20f=C3=BCr=20me?= =?UTF-8?q?hrere=20Organisationsformen=20wird=20jetzt=20nicht=20nur=20gesc?= =?UTF-8?q?hrieben=20wenn=20der=20Studiengang=20die=20Orgform=20VZB=20hat?= =?UTF-8?q?=20sondern=20auch=20wenn=20der=20Studiengang=20Studienpl=C3=A4n?= =?UTF-8?q?e=20f=C3=BCr=20mehr=20als=20eine=20Organisationsform=20hat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/studiengang.class.php | 52 ++++++++++++++++++++++++-------- vilesci/bis/studentenmeldung.php | 6 ++-- 2 files changed, 44 insertions(+), 14 deletions(-) diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 3a6861443..d39fb723a 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -244,31 +244,31 @@ class studiengang extends basis_db } /** - * Gibt alle aktiven Studiengaenge und Lehrgaenge (mit Typ) zurueck, bei denen das Attribut onlinebewerbung true ist. + * Gibt alle aktiven Studiengaenge und Lehrgaenge (mit Typ) zurueck, bei denen das Attribut onlinebewerbung true ist. * - * @param string $order Spalten, nach denen Sortiert werden soll.
Default: tbl_studiengang.typ, tbl_lgartcode.bezeichnung ASC, tbl_studiengang.bezeichnung. + * @param string $order Spalten, nach denen Sortiert werden soll.
Default: tbl_studiengang.typ, tbl_lgartcode.bezeichnung ASC, tbl_studiengang.bezeichnung. * @return boolean */ public function getAllForOnlinebewerbung($order = 'tbl_studiengang.typ, tbl_lgartcode.bezeichnung ASC, tbl_studiengang.bezeichnung') { - $qry = "SELECT - tbl_studiengang.studiengang_kz, - tbl_studiengang.typ, + $qry = "SELECT + tbl_studiengang.studiengang_kz, + tbl_studiengang.typ, tbl_studiengangstyp.bezeichnung AS typ_bezeichnung, tbl_studiengang.lgartcode, tbl_studiengang.bezeichnung AS studiengangbezeichnung, tbl_studiengang.english AS studiengangbezeichnung_englisch, - tbl_organisationseinheit.organisationseinheittyp_kurzbz, + tbl_organisationseinheit.organisationseinheittyp_kurzbz, tbl_organisationseinheit.standort, tbl_lgartcode.bezeichnung AS lehrgangsart - FROM public.tbl_studiengang - LEFT JOIN bis.tbl_lgartcode USING (lgartcode) + FROM public.tbl_studiengang + LEFT JOIN bis.tbl_lgartcode USING (lgartcode) LEFT JOIN public.tbl_organisationseinheit USING (oe_kurzbz) JOIN public.tbl_organisationseinheittyp USING (organisationseinheittyp_kurzbz) JOIN public.tbl_studiengangstyp USING (typ) - WHERE tbl_studiengang.onlinebewerbung IS TRUE + WHERE tbl_studiengang.onlinebewerbung IS TRUE AND tbl_studiengang.aktiv IS TRUE"; - + $qry .= " ORDER BY ".$order; if(!$result = $this->db_query($qry)) @@ -276,12 +276,12 @@ class studiengang extends basis_db $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - + while($row = $this->db_fetch_object($result)) { $this->result[] = $row; } - + return true; } @@ -1045,4 +1045,32 @@ class studiengang extends basis_db } return true; } + + /** + * Prueft ob ein Studiengang in einem Studiensemester mehrere Studienplaene mit unterschiedlichen Orgformen hat + * @param $studiengang_kz integer Kennzahl des Studiengangs. + * @param $studiensemester_kurzbz varchar Studiensemester (optional). + * @return true wenn mehrere Orgformen vorhanden sind, false wenn nicht. + */ + public function isMischform($studiengang_kz, $studiensemester_kurzbz = null) + { + $qry = "SELECT distinct orgform_kurzbz + FROM + lehre.tbl_studienplan + JOIN lehre.tbl_studienordnung USING(studienordnung_id) + JOIN lehre.tbl_studienplan_semester USING(studienplan_id) + WHERE + studiengang_kz=".$this->db_add_param($studiengang_kz); + + if(!is_null($studiensemester_kurzbz)) + $qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); + + if($result = $this->db_query($qry)) + { + if($this->db_num_rows($result)>1) + return true; + else + return false; + } + } } diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 236e8392b..84dbf2b1e 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -300,7 +300,9 @@ if($result = $db->db_query($qry)) //Bewerberblock bei Ausserordentlichen nicht anzeigen if($stg_kz!=('9'.$erhalter)) { - if($orgform_code==3) + $stg_obj = new studiengang(); + + if($orgform_code==3 || $stg_obj->isMischform($stg_kz,$ssem) || $stg_obj->isMischform($stg_kz,$psem)) { $orgcodes = array_unique($orgform_code_array); //Mischform @@ -1005,7 +1007,7 @@ function GenerateXMLStudentBlock($row) $datei.=" ".$row->ersatzkennzeichen.""; } - + $datei.=" ".$row->staatsbuergerschaft." ".$plz."