From 5ea0621a7810b9f51136334734f7b4efb757ea1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 22 Oct 2018 12:08:21 +0200 Subject: [PATCH] =?UTF-8?q?Abh=C3=A4ngigkeit=20von=20Fachbereich=20f=C3=BC?= =?UTF-8?q?r=20Auswertungen=20entfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/statistik/alvsstatistik.php | 216 ++++++++++++------------ content/statistik/lvplanung.php | 21 ++- content/statistik/lvplanung.xls.php | 245 ++++++++++++---------------- 3 files changed, 218 insertions(+), 264 deletions(-) diff --git a/content/statistik/alvsstatistik.php b/content/statistik/alvsstatistik.php index e1b851654..982427c9a 100644 --- a/content/statistik/alvsstatistik.php +++ b/content/statistik/alvsstatistik.php @@ -22,7 +22,6 @@ 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/Excel/excel.php'); require_once('../../include/benutzerberechtigung.class.php'); @@ -45,24 +44,31 @@ $stg_arr = array(); foreach ($studiengang->result as $row) $stg_arr[$row->studiengang_kz] = $row->kuerzel.' ('.$row->kurzbzlang.')'; -$fachbereich = new fachbereich(); -$fachbereich->getAll(); +$oe_obj = new organisationseinheit(); +$oe_obj->getTypen(); +foreach($oe_obj->result as $row) +{ + $oetyp_arr[$row->organisationseinheittyp_kurzbz] = $row->bezeichnung; +} -$fb_arr = array(); -foreach ($fachbereich->result as $row) - $fb_arr[$row->fachbereich_kurzbz]=$row->bezeichnung; +$oe_obj = new organisationseinheit(); +$oe_obj->getAll(); + +$oe_arr = array(); +$oe_arr['']='Nicht Zugewiesen'; +foreach ($oe_obj->result as $row) + $oe_arr[$row->oe_kurzbz]=$oetyp_arr[$row->organisationseinheittyp_kurzbz].' '.$row->bezeichnung; $db = new basis_db(); -// ALVS pro Fachbereich +// ALVS pro OE $qry = " SELECT * FROM ( SELECT - fachbereich_kurzbz, tbl_lehrveranstaltung.studiengang_kz, geschlecht,sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semesterstunden + lehrfach.oe_kurzbz as lehrfach_oe_kurzbz, tbl_lehrveranstaltung.studiengang_kz, geschlecht,sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semesterstunden FROM lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_lehrveranstaltung as lehrfach, - public.tbl_fachbereich, lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person @@ -73,28 +79,27 @@ SELECT * FROM ( tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id AND tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND - tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz AND faktor<>0 AND stundensatz<>0 AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id - GROUP BY fachbereich_kurzbz, geschlecht, tbl_lehrveranstaltung.studiengang_kz + GROUP BY lehrfach.oe_kurzbz, geschlecht, tbl_lehrveranstaltung.studiengang_kz ) as a JOIN public.tbl_studiengang USING(studiengang_kz) -ORDER BY typ, tbl_studiengang.kurzbz, fachbereich_kurzbz +ORDER BY typ, tbl_studiengang.kurzbz, lehrfach_oe_kurzbz "; if(!$db->db_query($qry)) die('Fehler bei Datenbankabfrage'); -$fachbereiche = array(); +$organisationseinheiten = array(); while($row = $db->db_fetch_object()) { - if(!in_array($row->fachbereich_kurzbz, $fachbereiche)) - $fachbereiche[] = $row->fachbereich_kurzbz; - $data[$row->studiengang_kz][$row->fachbereich_kurzbz][$row->geschlecht]=$row->semesterstunden; + if(!in_array($row->lehrfach_oe_kurzbz, $organisationseinheiten)) + $organisationseinheiten[] = $row->lehrfach_oe_kurzbz; + $data[$row->studiengang_kz][$row->lehrfach_oe_kurzbz][$row->geschlecht]=$row->semesterstunden; } -sort($fachbereiche); +sort($organisationseinheiten); //Betreuerstunden $qry = " @@ -138,7 +143,6 @@ if($format=='xls') //Formate Definieren $format_bold =& $workbook->addFormat(); $format_bold->setBold(); - //$format_bold->setBorder(1); $format_border =& $workbook->addFormat(); $format_border->setBorder(1); @@ -147,19 +151,19 @@ if($format=='xls') $format_rotate->setTextRotation(270); $format_rotate->setAlign("center"); $format_rotate->setBold(); - + $format_m_w =& $workbook->addFormat(); $format_m_w->setAlign("center"); $format_m_w->setBold(); - + $format_data =& $workbook->addFormat(); $format_data->setNumFormat("0.00"); - + $format_bold_data =& $workbook->addFormat(); $format_bold_data->setBold(); $format_bold_data->setNumFormat("0.00"); $format_bold_data->setVAlign("vcenter"); - + $format_bold_center_data =& $workbook->addFormat(); $format_bold_center_data->setBold(); $format_bold_center_data->setNumFormat("0.00"); @@ -168,59 +172,45 @@ if($format=='xls') $spalte=0; $zeile=0; - $worksheet->write($zeile,$spalte,$stsem, $format_bold); $maxlength[$spalte]=13; - $summe_fb = array(); - foreach ($fachbereiche as $fb) + $summe_oe = array(); + foreach ($organisationseinheiten as $oe) { $zeile=0; - $worksheet->write($zeile,++$spalte,$fb_arr[$fb], $format_rotate); + $worksheet->write($zeile,++$spalte,$oe_arr[$oe], $format_rotate); $worksheet->mergeCells($zeile,$spalte,0,$spalte+1); - $fachbereiche[$fb]=$spalte; - + $organisationseinheiten_idx[$oe]=$spalte; + $worksheet->write(++$zeile,$spalte,'m',$format_m_w); $worksheet->write($zeile,++$spalte,'w',$format_m_w); - - //$fachbereiche[$fb]=$spalte; - $summe_fb[$fb]=array(); - //++$spalte; + + $summe_oe[$oe]=array(); + $maxlength[$spalte]=7; $maxlength[$spalte-1]=7; } $zeile=0; $worksheet->write($zeile,++$spalte,'Betreuungen', $format_rotate); $worksheet->mergeCells($zeile,$spalte,0,$spalte+1); - + $worksheet->write(++$zeile,$spalte,'m',$format_m_w); $worksheet->write($zeile,++$spalte,'w',$format_m_w); - + $maxlength[$spalte]=7; $maxlength[$spalte-1]=7; - - $fachbereiche['betreuungen']=$spalte-1; - //$maxlength[$spalte]=3; - $summe_fb['betreuungen']=array(); - //++$spalte; - + + $organisationseinheiten_idx['betreuungen']=$spalte-1; + $summe_oe['betreuungen']=array(); + $zeile=0; $worksheet->write($zeile,++$spalte,'Summe', $format_rotate); $worksheet->mergeCells($zeile,$spalte,0,$spalte+2); $worksheet->write(++$zeile,$spalte,'m',$format_m_w); $worksheet->write($zeile,++$spalte,'w',$format_m_w); $worksheet->write($zeile,++$spalte,'Gesamt',$format_m_w); - + $maxspalten=$spalte; - - /*++$zeile; - $spalte=0; - foreach ($fachbereiche as $fb) - { - $worksheet->write($zeile,++$spalte,'m'); - $worksheet->write($zeile,++$spalte,'w'); - //$fachbereiche[$fb]=$spalte; - //++$spalte; - }*/ if(isset($data)) { @@ -231,27 +221,23 @@ if($format=='xls') $worksheet->write($zeile,$spalte,$stg_arr[$key], $format_bold); $summe_m=0; $summe_w=0; - foreach ($data[$key] as $fb=>$stunden) + foreach ($data[$key] as $oe=>$stunden) { if(!isset($stunden['m'])) $stunden['m']=0; $summe_m+=$stunden['m']; - if(!isset($summe_fb[$fb]['m'])) - $summe_fb[$fb]['m']=0; - $summe_fb[$fb]['m']+=$stunden['m']; - $worksheet->write($zeile,$fachbereiche[$fb],$stunden['m'],$format_data); - //if($maxlength[$fachbereiche[$fb]]write($zeile,$organisationseinheiten_idx[$oe],$stunden['m'],$format_data); + if(!isset($stunden['w'])) $stunden['w']=0; $summe_w+=$stunden['w']; - if(!isset($summe_fb[$fb]['w'])) - $summe_fb[$fb]['w']=0; - $summe_fb[$fb]['w']+=$stunden['w']; - $worksheet->write($zeile,$fachbereiche[$fb]+1,$stunden['w'],$format_data); - //if($maxlength[$fachbereiche[$fb]]write($zeile,$organisationseinheiten_idx[$oe]+1,$stunden['w'],$format_data); } $worksheet->write($zeile,$maxspalten-2,number_format($summe_m,2,'.',''), $format_bold_data); $worksheet->write($zeile,$maxspalten-1,number_format($summe_w,2,'.',''), $format_bold_data); @@ -264,20 +250,20 @@ if($format=='xls') $zeile++; $worksheet->write($zeile,0,'Summe', $format_bold_data); $worksheet->mergeCells($zeile,0,$zeile+1,0); - //foreach ($summe_fb as $fb=>$summe) - foreach ($summe_fb as $fb=>$summe) + + foreach ($summe_oe as $oe=>$summe) { if(!isset($summe['m'])) $summe['m']=0; if(!isset($summe['w'])) $summe['w']=0; - - if(isset($fachbereiche[$fb])) - $worksheet->write($zeile,$fachbereiche[$fb],number_format($summe['m'],2,'.',''), $format_bold_center_data); - $worksheet->write($zeile,$fachbereiche[$fb]+1,number_format($summe['w'],2,'.',''), $format_bold_center_data); + + if(isset($organisationseinheiten_idx[$oe])) + $worksheet->write($zeile,$organisationseinheiten_idx[$oe],number_format($summe['m'],2,'.',''), $format_bold_center_data); + $worksheet->write($zeile,$organisationseinheiten_idx[$oe]+1,number_format($summe['w'],2,'.',''), $format_bold_center_data); $gesamt = $summe['m']+$summe['w']; - $worksheet->write(++$zeile,$fachbereiche[$fb],number_format($gesamt,2,'.',''), $format_bold_center_data); - $worksheet->mergeCells($zeile,$fachbereiche[$fb],$zeile,$fachbereiche[$fb]+1); + $worksheet->write(++$zeile,$organisationseinheiten_idx[$oe],number_format($gesamt,2,'.',''), $format_bold_center_data); + $worksheet->mergeCells($zeile,$organisationseinheiten_idx[$oe],$zeile,$organisationseinheiten_idx[$oe]+1); --$zeile; } @@ -303,72 +289,70 @@ else } td { - + } '; - - echo "

ALVS $stsem

"; echo ''; echo ''; - $summe_fb = array(); + $summe_oe = array(); - foreach ($fachbereiche as $fb) + foreach ($organisationseinheiten as $oe) { - echo ""; - $summe_fb[$fb]=array(); + echo ""; + $summe_oe[$oe]=array(); } echo ""; - $summe_fb['betreuungen']=array(); + $summe_oe['betreuungen']=array(); echo ""; echo ""; // Spalten m/w echo ''; - foreach ($fachbereiche as $fb) + foreach ($organisationseinheiten as $oe) { echo ""; } echo ""; echo ""; - //$summe_fb['betreuungen']=0; + echo ""; echo ""; echo ""; echo ""; - // Für jeden Fachbereich eine Variable definieren - foreach ($fachbereiche as $fb) + // Für jede OE eine Variable definieren + foreach ($organisationseinheiten as $oe) { - $summe_fb[$fb]["m"] = 0; - $summe_fb[$fb]["w"] = 0; + $summe_oe[$oe]["m"] = 0; + $summe_oe[$oe]["w"] = 0; } - $summe_fb['betreuungen']['m'] = 0; - $summe_fb['betreuungen']['w'] = 0; + $summe_oe['betreuungen']['m'] = 0; + $summe_oe['betreuungen']['w'] = 0; foreach ($data as $key=>$val) { echo ""; echo ""; $summe_m =0; $summe_w =0; - foreach ($fachbereiche as $fb) + foreach ($organisationseinheiten as $oe) { - if(isset($data[$key][$fb]["m"])) + if(isset($data[$key][$oe]["m"])) { - $summe_m+=$data[$key][$fb]["m"]; - $summe_fb[$fb]["m"]+=$data[$key][$fb]["m"]; - echo ""; + $summe_m+=$data[$key][$oe]["m"]; + $summe_oe[$oe]["m"]+=$data[$key][$oe]["m"]; + echo ""; } else echo ""; - if(isset($data[$key][$fb]["w"])) + if(isset($data[$key][$oe]["w"])) { - $summe_w+=$data[$key][$fb]["w"]; - $summe_fb[$fb]["w"]+=$data[$key][$fb]["w"]; - echo ""; + $summe_w+=$data[$key][$oe]["w"]; + $summe_oe[$oe]["w"]+=$data[$key][$oe]["w"]; + echo ""; } else echo ""; @@ -376,7 +360,7 @@ else if(isset($data[$key]['betreuungen']['m'])) { echo ""; - $summe_fb['betreuungen']['m']+=$data[$key]['betreuungen']['m']; + $summe_oe['betreuungen']['m']+=$data[$key]['betreuungen']['m']; $summe_m+=$data[$key]['betreuungen']['m']; } else @@ -384,7 +368,7 @@ else if(isset($data[$key]['betreuungen']['w'])) { echo ""; - $summe_fb['betreuungen']['w']+=$data[$key]['betreuungen']['w']; + $summe_oe['betreuungen']['w']+=$data[$key]['betreuungen']['w']; $summe_w+=$data[$key]['betreuungen']['w']; } else @@ -398,44 +382,44 @@ else echo ""; echo ""; - foreach ($fachbereiche as $fb) + foreach ($organisationseinheiten as $oe) { - if(isset($summe_fb[$fb]["m"])) - echo ""; + if(isset($summe_oe[$oe]["m"])) + echo ""; else echo ""; - if(isset($summe_fb[$fb]["w"])) - echo ""; + if(isset($summe_oe[$oe]["w"])) + echo ""; else echo ""; } - if(isset($summe_fb['betreuungen']['m'])) - echo ""; + if(isset($summe_oe['betreuungen']['m'])) + echo ""; else echo ""; - if(isset($summe_fb['betreuungen']['w'])) - echo ""; + if(isset($summe_oe['betreuungen']['w'])) + echo ""; else echo ""; echo ""; echo ""; - + echo ""; //echo ""; - foreach ($fachbereiche as $fb) + foreach ($organisationseinheiten as $oe) { - if(isset($summe_fb[$fb]["m"]) || isset($summe_fb[$fb]["w"])) - echo ""; + if(isset($summe_oe[$oe]["m"]) || isset($summe_oe[$oe]["w"])) + echo ""; else echo ""; } - if(isset($summe_fb['betreuungen']['m']) || isset($summe_fb['betreuungen']['w'])) - echo ""; + if(isset($summe_oe['betreuungen']['m']) || isset($summe_oe['betreuungen']['w'])) + echo ""; else echo ""; echo ""; echo ""; - + echo '
'.$stsem.'".$fb_arr[$fb]."".$oe_arr[$oe]."BetreuungenSumme
 mwmwmwGesamt
".$stg_arr[$key]."".$data[$key][$fb]["m"]."".$data[$key][$oe]["m"]." ".$data[$key][$fb]["w"]."".$data[$key][$oe]["w"]." ".number_format($data[$key]['betreuungen']['m'],2)."".number_format($data[$key]['betreuungen']['w'],2)."
Summe".$summe_fb[$fb]["m"]."".$summe_oe[$oe]["m"]." ".$summe_fb[$fb]["w"]."".$summe_oe[$oe]["w"]." ".number_format($summe_fb['betreuungen']['m'],2)."".number_format($summe_oe['betreuungen']['m'],2)." ".number_format($summe_fb['betreuungen']['w'],2)."".number_format($summe_oe['betreuungen']['w'],2)."  
".($summe_fb[$fb]["m"] + $summe_fb[$fb]["w"])."".($summe_oe[$oe]["m"] + $summe_oe[$oe]["w"])." ".number_format(($summe_fb['betreuungen']['m'] + $summe_fb['betreuungen']['w']),2)."".number_format(($summe_oe['betreuungen']['m'] + $summe_oe['betreuungen']['w']),2)."  
'; echo ' '; diff --git a/content/statistik/lvplanung.php b/content/statistik/lvplanung.php index bff0417d5..be06f5c12 100644 --- a/content/statistik/lvplanung.php +++ b/content/statistik/lvplanung.php @@ -25,6 +25,7 @@ require_once('../../include/lehrveranstaltung.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/person.class.php'); require_once('../../include/benutzer.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); if(isset($_GET['studiengang_kz'])) $studiengang_kz = $_GET['studiengang_kz']; @@ -43,12 +44,18 @@ else if(isset($_GET['oe_kurzbz'])) $oe_kurzbz = $_GET['oe_kurzbz']; -else +else $oe_kurzbz = ''; $user = get_uid(); loadVariables($user); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('assistenz', null, 's')) + die($rechte->errormsg); + $db = new basis_db(); $stg_arr = array(); @@ -62,6 +69,10 @@ if($studiengang_kz!='') { $studiengang = new studiengang(); $studiengang->load($studiengang_kz); + + if(!$rechte->isBerechtigt('assistenz', $studiengang->oe_kurzbz, 's')) + die($rechte->errormsg); + } if($mitarbeiter_uid!='') @@ -159,9 +170,9 @@ $qry = "SELECT tbl_person.person_id=tbl_benutzer.person_id AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell); - $qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id"; + $qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id"; } -else +else die('Fehlerhafte Parameteruebergabe'); echo ''; @@ -309,7 +320,7 @@ elseif($oe_kurzbz!='') (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 "; } -else +else die('Something unexpected happend'); if($result = $db->db_query($qry)) @@ -329,7 +340,7 @@ if($result = $db->db_query($qry)) echo ""; echo ''; echo ''; - + $gesamtkosten_betreuung=0; $stunden_betreuung=0; while($row = $db->db_fetch_object($result)) diff --git a/content/statistik/lvplanung.xls.php b/content/statistik/lvplanung.xls.php index 237fbe703..c46f695dc 100644 --- a/content/statistik/lvplanung.xls.php +++ b/content/statistik/lvplanung.xls.php @@ -27,6 +27,8 @@ require_once('../../include/Excel/excel.php'); require_once('../../include/person.class.php'); require_once('../../include/benutzer.class.php'); require_once('../../include/mitarbeiter.class.php'); +require_once('../../include/organisationseinheit.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); $user = get_uid(); @@ -36,119 +38,114 @@ if(isset($_GET['studiensemester_kurzbz'])) $studiensemester_kurzbz = $_GET['studiensemester_kurzbz']; else if(isset($_POST['studiensemester_kurzbz'])) $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; -else +else die('studiensemester_kurzbz muss uebergeben werden'); - + if(isset($_GET['studiengang_kz'])) $studiengang_kz = $_GET['studiengang_kz']; -else +else $studiengang_kz=''; - + if(isset($_GET['semester'])) $semester = $_GET['semester']; -else +else $semester=''; if(isset($_GET['oe_kurzbz'])) $oe_kurzbz = $_GET['oe_kurzbz']; -else +else $oe_kurzbz = ''; - + if(isset($_GET['uid'])) $uid = $_GET['uid']; -else +else $uid = ''; - + $db = new basis_db(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if($studiengang_kz != '') +{ + if(!$rechte->isBerechtigt('assistenz', $studiengang_kz, 's')) + die($rechte->errormsg); +} +elseif($oe_kurzbz!='') +{ + if(!$rechte->isBerechtigt('assistenz', $oe_kurzbz, 's')) + die($rechte->errormsg); +} +else +{ + if(!$rechte->isBerechtigt('assistenz', null, 's')) + die($rechte->errormsg); +} + +$oetyp = new organisationseinheit(); +$oetyp->getTypen(); + +foreach($oetyp->result as $row) +{ + $oetyp_arr[$row->organisationseinheittyp_kurzbz] = $row->bezeichnung; +} + +$oe = new organisationseinheit(); +$oe->getAll(); + +foreach($oe->result as $row) +{ + $oe_arr[$row->oe_kurzbz] = $oetyp_arr[$row->organisationseinheittyp_kurzbz].' '.$row->bezeichnung; +} + $stg_obj = new studiengang(); $stg_obj->getAll('typ, kurzbz', false); $qry = " -SELECT (SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) - WHERE uid=COALESCE(tbl_lehrveranstaltung.koordinator, (SELECT uid FROM public.tbl_benutzerfunktion - WHERE fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz AND - tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND - funktion_kurzbz='fbk' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - LIMIT 1 - ) - ) - ) as koordinator, - (SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) - WHERE uid=COALESCE(tbl_lehrveranstaltung.koordinator, (SELECT uid FROM public.tbl_benutzerfunktion - WHERE fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz AND - tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND - funktion_kurzbz='fbk' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - LIMIT 1 - ) - ) - ) as vorname, - - lehrfach.bezeichnung as lf_bezeichnung, tbl_lehrveranstaltung.studiengang_kz, - tbl_fachbereich.fachbereich_kurzbz as fachbereich_kurzbz, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, +SELECT + lehrfach.bezeichnung as lf_bezeichnung, tbl_lehrveranstaltung.studiengang_kz, lehrfach.oe_kurzbz as lehrfach_oe_kurzbz, + tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.semester as lv_semester, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheitmitarbeiter.faktor, - tbl_lehreinheitmitarbeiter.stundensatz, + tbl_lehreinheitmitarbeiter.stundensatz, tbl_lehreinheitmitarbeiter.semesterstunden lemss, tbl_lehreinheitmitarbeiter.planstunden, tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ, tbl_lehreinheitmitarbeiter.anmerkung ,tbl_lehreinheit.studiensemester_kurzbz ,tbl_lehrveranstaltung.ects - ,tbl_lehrveranstaltung.semesterstunden + ,tbl_lehrveranstaltung.semesterstunden ,tbl_lehrveranstaltung.semesterstunden as sws ,tbl_lehrveranstaltung.lehrform_kurzbz ,tbl_lehrveranstaltung.lehrveranstaltung_id - ,(SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) + ,(SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=(SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehre.tbl_lehreinheitmitarbeiter.lehreinheit_id=lehre.tbl_lehreinheit.lehreinheit_id and lehre.tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz='LV-Leitung' LIMIT 1) - )as lv_leitung - ,(SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) + )as lv_leitung + ,(SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=(SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehre.tbl_lehreinheitmitarbeiter.lehreinheit_id=lehre.tbl_lehreinheit.lehreinheit_id and lehre.tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz='LV-Leitung' LIMIT 1) - )as lv_leitung_vorname + )as lv_leitung_vorname ,(SELECT bezeichnung FROM lehre.tbl_lehrform WHERE lehre.tbl_lehrform.lehrform_kurzbz=tbl_lehrveranstaltung.lehrform_kurzbz LIMIT 1) as lv_type ,tbl_lehrveranstaltung.lehrform_kurzbz -FROM - lehre.tbl_lehrveranstaltung - JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) - JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) +FROM + lehre.tbl_lehrveranstaltung + JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) + JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) - LEFT JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) -WHERE - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); +WHERE + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); -# ,(SELECT lv_semesterstunden FROM campus.vw_lehreinheit WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id and lehreinheit_id=lehre.tbl_lehreinheit.lehreinheit_id and studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' LIMIT 1) as sws - if($studiengang_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); - + if($oe_kurzbz!='') - $qry.=" AND tbl_fachbereich.oe_kurzbz=".$db->db_add_param($oe_kurzbz); + $qry.=" AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz); if($semester!='') $qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); - + if($uid!='') $qry.=" AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$db->db_add_param($uid); $qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung"; -/* -// exit($qry); -if($result = $db->db_query($qry)) -{ - $row = $db->db_fetch_object($result); - var_dump($row); -} -else - echo 'nix
'; -var_dump($stg_obj); -exit; -*/ - - - // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); @@ -174,10 +171,8 @@ $zeile=0; $spalte=0; $worksheet->write($zeile,$spalte,"Studiengang", $format_bold); $maxlength[$spalte]=11; -$worksheet->write($zeile,++$spalte,"Institut", $format_bold); +$worksheet->write($zeile,++$spalte,"Organisationseinheit", $format_bold); $maxlength[$spalte]=8; -$worksheet->write($zeile,++$spalte,"Koordinator", $format_bold); -$maxlength[$spalte]=11; $worksheet->write($zeile,++$spalte,"Lektor", $format_bold); $maxlength[$spalte]=6; $worksheet->write($zeile,++$spalte,"Lehrfach", $format_bold); @@ -227,22 +222,20 @@ if($result = $db->db_query($qry)) $spalte=0; $zeile++; - + $mitarbeiter = new mitarbeiter(); $mitarbeiter->load($row->mitarbeiter_uid); - + //Studiengang $worksheet->write($zeile,$spalte,$stg_obj->kuerzel_arr[$row->studiengang_kz]); if($maxlength[$spalte]kuerzel_arr[$row->studiengang_kz])) $maxlength[$spalte]=mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]); - //Fachbereich - $worksheet->write($zeile,++$spalte,$row->fachbereich_kurzbz); - if($maxlength[$spalte]fachbereich_kurzbz)) - $maxlength[$spalte]=mb_strlen($row->fachbereich_kurzbz); - //Koordinator - $worksheet->write($zeile,++$spalte,$row->koordinator.' '.$row->vorname); - if($maxlength[$spalte]koordinator.' '.$row->vorname)) - $maxlength[$spalte]=mb_strlen($row->koordinator.' '.$row->vorname); + + //Organisationseinheit + $worksheet->write($zeile,++$spalte,$oe_arr[$row->lehrfach_oe_kurzbz]); + if($maxlength[$spalte]lehrfach_oe_kurzbz])) + $maxlength[$spalte]=mb_strlen($oe_arr[$row->lehrfach_oe_kurzbz]); + //Lektor $worksheet->write($zeile,++$spalte,$mitarbeiter->nachname.' '.$mitarbeiter->vorname); if($maxlength[$spalte]nachname.' '.$mitarbeiter->vorname)) @@ -255,7 +248,7 @@ if($result = $db->db_query($qry)) $worksheet->write($zeile,++$spalte,$row->lv_semester); if($maxlength[$spalte]lv_semester)) $maxlength[$spalte]=mb_strlen($row->lv_semester); - + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER); $result_gruppe = $db->db_query($qry); $gruppe = ''; @@ -265,10 +258,10 @@ if($result = $db->db_query($qry)) $gruppe.=', '; if($row_gruppe->gruppe_kurzbz!='') $gruppe.=$row_gruppe->gruppe_kurzbz; - else + else $gruppe.=trim($stg_obj->kuerzel_arr[$row_gruppe->studiengang_kz].'-'.$row_gruppe->semester.$row_gruppe->verband.$row_gruppe->gruppe); } - + //Gruppen $worksheet->write($zeile,++$spalte,$gruppe); if($maxlength[$spalte]db_query($qry)) $worksheet->write($zeile,++$spalte,$row->lemss); if($maxlength[$spalte]lemss)) $maxlength[$spalte]=mb_strlen($row->lemss); - + $kosten = ($row->stundensatz*$row->lemss*$row->faktor); - + //Kosten $worksheet->write($zeile,++$spalte,$kosten); if($maxlength[$spalte]db_query($qry)) $worksheet->write($zeile,++$spalte,$row->anmerkung); if($maxlength[$spalte]anmerkung)) $maxlength[$spalte]=mb_strlen($row->anmerkung); - -// Neu 13.11.2009 sequens + //LV-Leitung $worksheet->write($zeile,++$spalte,$row->lv_leitung.' '.$row->lv_leitung_vorname); if($maxlength[$spalte]lv_leitung.' '.$row->lv_leitung_vorname)) @@ -320,22 +312,15 @@ if($result = $db->db_query($qry)) if($maxlength[$spalte]lehrveranstaltung_id)) $maxlength[$spalte]=mb_strlen($row->lehrveranstaltung_id); - //SWS - - -/* $worksheet->write($zeile,++$spalte,$row->sws); - if($maxlength[$spalte]sws)) - $maxlength[$spalte]=mb_strlen($row->sws); -*/ + //Semesterstunden $semesterstunden = $row->semesterstunden; if ($row->stundensatz==0 || $row->lemss==0 || $row->faktor==0) $semesterstunden = 0; - + $worksheet->write($zeile,++$spalte,$semesterstunden); if($maxlength[$spalte]write($zeile,++$spalte,$row->ects); if($maxlength[$spalte]ects)) @@ -347,51 +332,28 @@ if($result = $db->db_query($qry)) $worksheet->write($zeile,++$spalte,$row->lv_type); if($maxlength[$spalte]lv_type)) $maxlength[$spalte]=mb_strlen($row->lv_type); - + } - + //Betreuungen $qry = "SELECT - tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz, - (SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) - WHERE uid=COALESCE(tbl_lehrveranstaltung.koordinator, (SELECT uid FROM public.tbl_benutzerfunktion - WHERE fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz AND - tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND - funktion_kurzbz='fbk' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - LIMIT 1 - ) - ) - ) as koordinator, - (SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) - WHERE uid=COALESCE(tbl_lehrveranstaltung.koordinator, (SELECT uid FROM public.tbl_benutzerfunktion - WHERE fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz AND - tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND - funktion_kurzbz='fbk' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - LIMIT 1 - ) - ) - ) as koordinator_vorname, nachname, vorname, lehrfach.bezeichnung, - tbl_lehrveranstaltung.semester, student_uid, stunden, tbl_projektbetreuer.stundensatz, + tbl_lehrveranstaltung.studiengang_kz, lehrfach.oe_kurzbz as lehrfach_oe_kurzbz, + nachname, vorname, lehrfach.bezeichnung, + tbl_lehrveranstaltung.semester, student_uid, stunden, tbl_projektbetreuer.stundensatz, tbl_projektbetreuer.faktor FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, - lehre.tbl_projektbetreuer, public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_fachbereich + lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, + lehre.tbl_projektbetreuer, public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach WHERE tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND - lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz AND tbl_person.person_id=tbl_projektbetreuer.person_id AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 "; - if($uid!=='') { $mitarbeiter = new mitarbeiter($uid); @@ -399,11 +361,11 @@ if($result = $db->db_query($qry)) } if($oe_kurzbz!='') - $qry.=" AND tbl_fachbereich.oe_kurzbz=".$db->db_add_param($oe_kurzbz); - + $qry.=" AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz); + if($studiengang_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); - + if($result = $db->db_query($qry)) { $spalte=0; @@ -415,20 +377,17 @@ if($result = $db->db_query($qry)) { $spalte=0; $zeile++; - + //Studiengang $worksheet->write($zeile,$spalte,$stg_obj->kuerzel_arr[$row->studiengang_kz]); if($maxlength[$spalte]kuerzel_arr[$row->studiengang_kz])) $maxlength[$spalte]=mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]); - - //Fachbereich - $worksheet->write($zeile,++$spalte,$row->fachbereich_kurzbz); - if($maxlength[$spalte]fachbereich_kurzbz)) - $maxlength[$spalte]=mb_strlen($row->fachbereich_kurzbz); - //Koordinator - $worksheet->write($zeile,++$spalte,$row->koordinator.' '.$row->koordinator_vorname); - if($maxlength[$spalte]koordinator.' '.$row->koordinator_vorname)) - $maxlength[$spalte]=mb_strlen($row->koordinator.' '.$row->koordinator_vorname); + + //Organisationseinheit + $worksheet->write($zeile,++$spalte,$oe_arr[$row->lehrfach_oe_kurzbz]); + if($maxlength[$spalte]lehrfach_oe_kurzbz])) + $maxlength[$spalte]=mb_strlen($oe_arr[$row->lehrfach_oe_kurzbz]); + //Lektor $worksheet->write($zeile,++$spalte,$row->nachname.' '.$row->vorname); if($maxlength[$spalte]nachname.' '.$row->vorname)) @@ -441,7 +400,7 @@ if($result = $db->db_query($qry)) $worksheet->write($zeile,++$spalte,$row->semester); if($maxlength[$spalte]semester)) $maxlength[$spalte]=mb_strlen($row->semester); - + $benutzer = new benutzer(); $benutzer->load($row->student_uid); //Student @@ -456,10 +415,10 @@ if($result = $db->db_query($qry)) $worksheet->write($zeile,++$spalte,$row->stunden*$row->stundensatz*$row->faktor); if($maxlength[$spalte]stunden*$row->stundensatz*$row->faktor)) $maxlength[$spalte]=mb_strlen($row->stunden*$row->stundensatz*$row->faktor); - + } } - + //Die Breite der Spalten setzen foreach($maxlength as $i=>$breite) $worksheet->setColumn($i, $i, $breite+2);
Kosten