Abhängigkeit von Tabelle Fachbereich entfernt

This commit is contained in:
Andreas Österreicher
2018-10-22 11:50:50 +02:00
parent e47cbd2c1c
commit 558a3fbdb1
+81 -63
View File
@@ -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 '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[1,0]],
widgets: ["zebra"],
headers: {11: {sorter: false}, 12: {sorter: false}, 13: {sorter: false}}
});
});
});
</script>
</head>
<body class="Background_main">
<h2>Liste der MitarbeiterInnen der Institute</h2>';
<h2>Liste der MitarbeiterInnen der Abteilungen</h2>';
$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))
<th>Nachname</th>
<th>Vorname</th>
<th>Fix / Frei</th>
<th>Kompetenzen</th>
<th>ALVS<br>".$db->convert_html_chars($ws)."</th>
<th>ALVS<br>".$db->convert_html_chars($ss)."</th>
<th>Studiengang</th>
<th>Institut Hauptzuteilung</th>
<th>Sonstige Institutszuteilungen</th>
<th>Disziplinäre Zuordnung</th>
<th>Zuteilungen laut Lehrauträge</th>
</tr>
</thead>
<tbody>";
@@ -166,46 +178,52 @@ if($result = $db->db_query($qry))
echo "<td>".$db->convert_html_chars($row->nachname)."</td>";
echo "<td>".$db->convert_html_chars($row->vorname)."</td>";
echo "<td>".($row->fixangestellt=='t'?'fix':'frei')."</td>";
echo "<td>".$db->convert_html_chars($row->kompetenzen)."</td>";
echo "<td>$row->lvs_wintersemester</td>";
echo "<td>$row->lvs_sommersemester</td>";
echo '<td>';
$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 '</td>';
echo "<td>".$db->convert_html_chars($row->hauptzuteilung)."</td>";
echo "<td>".$db->convert_html_chars($abteilung)."</td>";
echo "<td>";
$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 "</td>";
echo '</tr>';