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 '';