From 6f48c3138a1d017e70bd83f7d4790b9d8f409371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 1 Apr 2009 13:32:26 +0000 Subject: [PATCH] =?UTF-8?q?Lektoren-=20und=20Mitarbeiterstatistik=20wurden?= =?UTF-8?q?=20um=20eine=20Detailansicht=20erweitert,=20in=20der=20die=20Pe?= =?UTF-8?q?rsonen=20Namentlich=20aufgef=C3=BChrt=20werden.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/statistik/lektorenstatistik.php | 216 +++++++++++++++------ content/statistik/mitarbeiterstatistik.php | 82 +++++++- 2 files changed, 233 insertions(+), 65 deletions(-) diff --git a/content/statistik/lektorenstatistik.php b/content/statistik/lektorenstatistik.php index 2dced2bd0..252018227 100644 --- a/content/statistik/lektorenstatistik.php +++ b/content/statistik/lektorenstatistik.php @@ -23,11 +23,14 @@ * Erstellt eine Tablle mit der Anzahl der Lektoren die im angegebenen * StudienJAHR einen Lehrauftrag im jeweiligen Institut haben, getrennt nach Fixangestellten und Freien * und der Anzahl der Stunden die in diesem Institut gehalten wurden + * Bei einem klick auf das Institut wird die Detailansicht angezeigt, in der die einzelnen + * Lektoren Namentlich aufscheinen. */ require_once('../../vilesci/config.inc.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/functions.inc.php'); +require_once('../../include/fachbereich.class.php'); if(!$conn = pg_pconnect(CONN_STRING)) die('Fehler beim Connecten zur DB'); @@ -51,6 +54,95 @@ echo ' '; + + +if(isset($_GET['details']) && isset($_GET['fachbereich_kurzbz'])) +{ + $ss = (isset($_GET['ss'])?$_GET['ss']:''); + $ws = (isset($_GET['ws'])?$_GET['ws']:''); + $fachbereich = new fachbereich($conn); + if(!$fachbereich->load($_GET['fachbereich_kurzbz'])) + die('Institut existiert nicht'); + + echo "

Lektorenstatistik (Lehrauftrag ohne Betreuungen) $ws / $ss - ".$fachbereich->bezeichnung.'

'; + $qry = "SELECT distinct mitarbeiter_uid, nachname, vorname, titelpre, titelpost + FROM lehre.tbl_lehreinheitmitarbeiter + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_lehrfach USING(lehrfach_id) + JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) + JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) + JOIN public.tbl_person USING(person_id) + WHERE studiensemester_kurzbz in('$ws','$ss') + AND fachbereich_kurzbz='".addslashes($fachbereich->fachbereich_kurzbz)."' AND fixangestellt + ORDER BY nachname, vorname"; + + + if($result = pg_query($conn, $qry)) + { + echo "Fixangestellt - Anzahl: ".pg_num_rows($result)." + + + + + + + + + + + "; + while($row = pg_fetch_object($result)) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + } + echo '
TitelPreNachnameVornameTitelpost
$row->titelpre$row->nachname$row->vorname$row->titelpost
'; + + $qry = "SELECT distinct mitarbeiter_uid, nachname, vorname, titelpre, titelpost + FROM lehre.tbl_lehreinheitmitarbeiter + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_lehrfach USING(lehrfach_id) + JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) + JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) + JOIN public.tbl_person USING(person_id) + WHERE studiensemester_kurzbz in('$ws','$ss') + AND fachbereich_kurzbz='".addslashes($fachbereich->fachbereich_kurzbz)."' AND NOT fixangestellt + ORDER BY nachname, vorname"; + + + if($result = pg_query($conn, $qry)) + { + echo "

Freiangestellt - Anzahl: ".pg_num_rows($result)." + + + + + + + + + + + "; + while($row = pg_fetch_object($result)) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + } + echo '
TitelPreNachnameVornameTitelpost
$row->titelpre$row->nachname$row->vorname$row->titelpost
'; +} +else +{ if(substr($stsem, 0, 2)=='WS') { $stsem_obj = new studiensemester($conn); @@ -63,7 +155,6 @@ echo 'getPreviousFrom($stsem); $ss = $stsem; } - echo "

Lektorenstatistik (Lehrauftrag ohne Betreuungen) $ws / $ss"; echo ''.date('d.m.Y').'


'; echo ''; @@ -89,76 +180,77 @@ echo '

'; -if($stsem!='') -{ - - echo " - - - - - - - - - - - - - - - - - "; - - $qry = "SELECT - bezeichnung, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrfach USING(lehrfach_id) JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE studiensemester_kurzbz in('$ws','$ss') AND fachbereich_kurzbz=a.fachbereich_kurzbz AND fixangestellt) a) as fix, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrfach USING(lehrfach_id) JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE studiensemester_kurzbz in('$ws','$ss') AND fachbereich_kurzbz=a.fachbereich_kurzbz AND NOT fixangestellt) a) as extern, - (SELECT sum(semesterstunden) FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE studiensemester_kurzbz='$ws' AND fachbereich_kurzbz=a.fachbereich_kurzbz AND faktor>0 AND stundensatz>0) as ws, - (SELECT sum(semesterstunden) FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE studiensemester_kurzbz='$ss' AND fachbereich_kurzbz=a.fachbereich_kurzbz AND faktor>0 AND stundensatz>0) as ss - FROM public.tbl_fachbereich a WHERE aktiv ORDER BY bezeichnung"; - /* - Mitarbeiter laut institutszuordnung - (SELECT count(*) FROM public.tbl_benutzerfunktion JOIN public.tbl_mitarbeiter on (uid=mitarbeiter_uid) WHERE fachbereich_kurzbz=a.fachbereich_kurzbz AND funktion_kurzbz='oezuordnung' AND fixangestellt AND aktiv) as fix, - (SELECT count(*) FROM public.tbl_benutzerfunktion JOIN public.tbl_mitarbeiter on (uid=mitarbeiter_uid) WHERE fachbereich_kurzbz=a.fachbereich_kurzbz AND funktion_kurzbz='oezuordnung' AND NOT fixangestellt AND aktiv) as extern, - */ - //echo '
'.$qry.'


'; - if($result = pg_query($conn, $qry)) + if($stsem!='') { - $gesamt_fix=0; - $gesamt_extern=0; - $gesamt_ws=0; - $gesamt_ss=0; - while($row = pg_fetch_object($result)) + echo "
AnzahlALVS
Institutefixextern$ws$ss
+ + + + + + + + + + + + + + + + + "; + + $qry = "SELECT + bezeichnung, fachbereich_kurzbz, + (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrfach USING(lehrfach_id) JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE studiensemester_kurzbz in('$ws','$ss') AND fachbereich_kurzbz=a.fachbereich_kurzbz AND fixangestellt) a) as fix, + (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrfach USING(lehrfach_id) JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE studiensemester_kurzbz in('$ws','$ss') AND fachbereich_kurzbz=a.fachbereich_kurzbz AND NOT fixangestellt) a) as extern, + (SELECT sum(semesterstunden) FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE studiensemester_kurzbz='$ws' AND fachbereich_kurzbz=a.fachbereich_kurzbz AND faktor>0 AND stundensatz>0) as ws, + (SELECT sum(semesterstunden) FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE studiensemester_kurzbz='$ss' AND fachbereich_kurzbz=a.fachbereich_kurzbz AND faktor>0 AND stundensatz>0) as ss + FROM public.tbl_fachbereich a WHERE aktiv ORDER BY bezeichnung"; + /* + Mitarbeiter laut institutszuordnung + (SELECT count(*) FROM public.tbl_benutzerfunktion JOIN public.tbl_mitarbeiter on (uid=mitarbeiter_uid) WHERE fachbereich_kurzbz=a.fachbereich_kurzbz AND funktion_kurzbz='oezuordnung' AND fixangestellt AND aktiv) as fix, + (SELECT count(*) FROM public.tbl_benutzerfunktion JOIN public.tbl_mitarbeiter on (uid=mitarbeiter_uid) WHERE fachbereich_kurzbz=a.fachbereich_kurzbz AND funktion_kurzbz='oezuordnung' AND NOT fixangestellt AND aktiv) as extern, + */ + //echo '
'.$qry.'


'; + if($result = pg_query($conn, $qry)) { - if($row->fix==0 && $row->extern==0) + + $gesamt_fix=0; + $gesamt_extern=0; + $gesamt_ws=0; + $gesamt_ss=0; + while($row = pg_fetch_object($result)) { - continue; + if($row->fix==0 && $row->extern==0) + { + continue; + } + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $gesamt_fix+=$row->fix; + $gesamt_extern+=$row->extern; + $gesamt_ws+=$row->ws; + $gesamt_ss+=$row->ss; } echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - $gesamt_fix+=$row->fix; - $gesamt_extern+=$row->extern; - $gesamt_ws+=$row->ws; - $gesamt_ss+=$row->ss; + } - echo ''; - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - + echo '
AnzahlALVS
Institutefixextern$ws$ss
fachbereich_kurzbz&ss=$ss&ws=$ws'>$row->bezeichnung$row->fix$row->extern$row->ws$row->ss
$row->bezeichnung$row->fix$row->extern$row->ws$row->ssSUMME  $gesamt_ws$gesamt_ss
SUMME  $gesamt_ws$gesamt_ss
'; } - echo ''; } ?> diff --git a/content/statistik/mitarbeiterstatistik.php b/content/statistik/mitarbeiterstatistik.php index e33fb6b45..f0999da6b 100644 --- a/content/statistik/mitarbeiterstatistik.php +++ b/content/statistik/mitarbeiterstatistik.php @@ -22,11 +22,14 @@ /* * Generiert eine Liste mit den Institutszuordnungen der Mitarbeiter * und einer aufschluesselung ob diese Fixangestellt sind + * Bei einem klick auf das Institut wird die Detailansicht angezeigt, in der die einzelnen + * Lektoren Namentlich aufscheinen. */ require_once('../../vilesci/config.inc.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/functions.inc.php'); +require_once('../../include/fachbereich.class.php'); if(!$conn = pg_pconnect(CONN_STRING)) die('Fehler beim Connecten zur DB'); @@ -41,7 +44,79 @@ echo ' '; - +if(isset($_GET['details']) && isset($_GET['fachbereich_kurzbz'])) +{ + $fachbereich = new fachbereich($conn); + if(!$fachbereich->load($_GET['fachbereich_kurzbz'])) + die('Institut existiert nicht'); + + echo "

Lektorenstatistik (Lehrauftrag ohne Betreuungen) - ".$fachbereich->bezeichnung.'

'; + $qry = "SELECT distinct uid, nachname, vorname, titelpre, titelpost + FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) + WHERE fachbereich_kurzbz='".addslashes($fachbereich->fachbereich_kurzbz)."' + AND fixangestellt AND funktion_kurzbz='oezuordnung' AND aktiv + ORDER BY nachname, vorname"; + + if($result = pg_query($conn, $qry)) + { + echo "Fixangestellt - Anzahl: ".pg_num_rows($result)." + + + + + + + + + + + "; + while($row = pg_fetch_object($result)) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + } + echo '
TitelPreNachnameVornameTitelpost
$row->titelpre$row->nachname$row->vorname$row->titelpost
'; + + $qry = "SELECT distinct uid, nachname, vorname, titelpre, titelpost + FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) + WHERE fachbereich_kurzbz='".addslashes($fachbereich->fachbereich_kurzbz)."' + AND NOT fixangestellt AND funktion_kurzbz='oezuordnung' AND aktiv + ORDER BY nachname, vorname"; + + if($result = pg_query($conn, $qry)) + { + echo "

Freiangestellt - Anzahl: ".pg_num_rows($result)." + + + + + + + + + + + "; + while($row = pg_fetch_object($result)) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + } + echo '
TitelPreNachnameVornameTitelpost
$row->titelpre$row->nachname$row->vorname$row->titelpost
'; +} +else +{ echo "

Mitarbeiterstatistik (Hauptzuordnung)"; echo ''.date('d.m.Y').'


'; echo ''; @@ -65,7 +140,7 @@ echo ''; - echo "$row->bezeichnung"; + echo "fachbereich_kurzbz."'>$row->bezeichnung"; echo "$row->fix"; echo "$row->extern"; echo ""; @@ -116,6 +191,7 @@ echo ''; +} ?> \ No newline at end of file