From 558a3fbdb189d64e2dbaf43581e6972b91bb8d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 22 Oct 2018 11:50:50 +0200 Subject: [PATCH] =?UTF-8?q?Abh=C3=A4ngigkeit=20von=20Tabelle=20Fachbereich?= =?UTF-8?q?=20entfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/personen/institutsliste.php | 144 ++++++++++++++++------------ 1 file changed, 81 insertions(+), 63 deletions(-) diff --git a/vilesci/personen/institutsliste.php b/vilesci/personen/institutsliste.php index fdeb1ffeb..326b6ab48 100644 --- a/vilesci/personen/institutsliste.php +++ b/vilesci/personen/institutsliste.php @@ -24,7 +24,7 @@ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/studiengang.class.php'); -require_once('../../include/fachbereich.class.php'); +require_once('../../include/organisationseinheit.class.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/benutzerberechtigung.class.php'); @@ -34,8 +34,15 @@ if (!$db = new basis_db()) $stg_obj = new studiengang(); $stg_obj->getAll('typ, kurzbz', false); -$fb_obj = new fachbereich(); -$fb_obj->getAll(); +$oe_typ = new organisationseinheit(); +$oe_typ->getTypen(); +foreach($oe_typ->result as $row) + $oe_typ_arr[$row->organisationseinheittyp_kurzbz]=$row->bezeichnung; +$oe_obj = new organisationseinheit(); +$oe_obj->getAll(); + +foreach($oe_obj->result as $row) + $oe_arr[$row->oe_kurzbz] = $oe_typ_arr[$row->organisationseinheittyp_kurzbz].' '.$row->bezeichnung; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen(get_uid()); @@ -55,26 +62,26 @@ echo ' -

Liste der MitarbeiterInnen der Institute

'; +

Liste der MitarbeiterInnen der Abteilungen

'; $stsem = new studiensemester(); if(isset($_GET['ws']) && check_stsem($_GET['ws'])) $ws = $_GET['ws']; else $ws = $stsem->getNearest(1); - + if(isset($_GET['ss']) && check_stsem($_GET['ss'])) $ss = $_GET['ss']; else @@ -82,49 +89,55 @@ else if($rechte->isBerechtigt('admin', 0) || $rechte->isBerechtigt('mitarbeiter', 0)) $where = ''; -else +else { - $fb = $rechte->getFbKz(); - if(count($fb)>0) + $oe = $rechte->getOEkurzbz('assistenz'); + if(count($oe)>0) { - $where = " AND EXISTS (SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) WHERE - tbl_lehreinheit.studiensemester_kurzbz in(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND - fachbereich_kurzbz IN("; - foreach ($fb as $fachbereich_kurzbz) + $where = " AND EXISTS ( + SELECT * FROM + lehre.tbl_lehreinheitmitarbeiter + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_lehrveranstaltung lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) + WHERE + tbl_lehreinheit.studiensemester_kurzbz in(".$db->db_add_param($ws).",".$db->db_add_param($ss).") + AND mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid + AND lehrfach.oe_kurzbz IN("; + foreach ($oe as $oe_kurzbz) { - $where.=$db->db_add_param($fachbereich_kurzbz).","; + $where.=$db->db_add_param($oe_kurzbz).","; } $where.="''))"; } - else + else die('Sie haben keine Berechtigung fuer diese Seite'); } //Alle aktiven Mitarbeiter holen mit den ALVS-Stunden und der Hauptinstitutszuteilung -$qry = "SELECT - personalnummer, vorname, nachname, fixangestellt, mitarbeiter_uid, kompetenzen, +$qry = "SELECT + personalnummer, vorname, nachname, fixangestellt, mitarbeiter_uid, kompetenzen, ( - SELECT - sum(semesterstunden) - FROM + SELECT + sum(semesterstunden) + FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - WHERE - mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND + WHERE + mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND studiensemester_kurzbz=".$db->db_add_param($ws)." ) as lvs_wintersemester, ( - SELECT - sum(semesterstunden) - FROM + SELECT + sum(semesterstunden) + FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - WHERE - mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND + WHERE + mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND studiensemester_kurzbz=".$db->db_add_param($ss)." ) as lvs_sommersemester, ( - SELECT - tbl_organisationseinheit.bezeichnung - FROM + SELECT + tbl_organisationseinheit.oe_kurzbz + FROM public.tbl_benutzerfunktion JOIN public.tbl_organisationseinheit USING(oe_kurzbz) WHERE uid=tbl_mitarbeiter.mitarbeiter_uid AND @@ -133,9 +146,9 @@ $qry = "SELECT AND (datum_bis>=now() OR datum_bis is null) LIMIT 1 ) as hauptzuteilung - FROM - public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) - JOIN public.tbl_person USING(person_id) + FROM + public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) + JOIN public.tbl_person USING(person_id) WHERE tbl_benutzer.aktiv $where"; if($result = $db->db_query($qry)) @@ -149,12 +162,11 @@ if($result = $db->db_query($qry)) Nachname Vorname Fix / Frei - Kompetenzen ALVS
".$db->convert_html_chars($ws)." ALVS
".$db->convert_html_chars($ss)." Studiengang - Institut Hauptzuteilung - Sonstige Institutszuteilungen + Disziplinäre Zuordnung + Zuteilungen laut Lehrauträge "; @@ -166,46 +178,52 @@ if($result = $db->db_query($qry)) echo "".$db->convert_html_chars($row->nachname).""; echo "".$db->convert_html_chars($row->vorname).""; echo "".($row->fixangestellt=='t'?'fix':'frei').""; - echo "".$db->convert_html_chars($row->kompetenzen).""; echo "$row->lvs_wintersemester"; echo "$row->lvs_sommersemester"; echo ''; $qry = " - SELECT - distinct studiengang_kz - FROM - lehre.tbl_lehreinheitmitarbeiter - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - WHERE - mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)." + SELECT + distinct studiengang_kz + FROM + lehre.tbl_lehreinheitmitarbeiter + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE + mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)." AND studiensemester_kurzbz in(".$db->db_add_param($ss).", ".$db->db_add_param($ws).")"; - + $text=''; + if($row->hauptzuteilung!='') + $abteilung = $oe_arr[$row->hauptzuteilung]; + else + $abteilung = ''; + if($result_stg = $db->db_query($qry)) while($row_stg = $db->db_fetch_object($result_stg)) $text.= $stg_obj->kuerzel_arr[$row_stg->studiengang_kz].', '; echo mb_substr($text, 0, mb_strlen($text)-2); echo ''; - echo "".$db->convert_html_chars($row->hauptzuteilung).""; + echo "".$db->convert_html_chars($abteilung).""; echo ""; $qry = " - SELECT - distinct fachbereich_kurzbz - FROM - lehre.tbl_lehreinheitmitarbeiter - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) - JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) - WHERE - mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)." + SELECT + distinct lehrfach.oe_kurzbz + FROM + lehre.tbl_lehreinheitmitarbeiter + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) + WHERE + mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)." AND studiensemester_kurzbz in(".$db->db_add_param($ss).", ".$db->db_add_param($ws).")"; - + $text=''; - if($result_fb = $db->db_query($qry)) - while($row_fb = $db->db_fetch_object($result_fb)) - $text.= $fb_obj->bezeichnung_arr[$row_fb->fachbereich_kurzbz].', '; + if($result_oe = $db->db_query($qry)) + while($row_oe = $db->db_fetch_object($result_oe)) + { + if($row_oe->oe_kurzbz!='') + $text.= $oe_arr[$row_oe->oe_kurzbz].', '; + } echo mb_substr($text, 0, mb_strlen($text)-2); echo ""; echo '';