, * Andreas Oesterreicher , * Rudolf Hangl and */ // Erstellt ein Excel mit den Kosten der Lehrveranstaltungen require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/Excel/excel.php'); require_once('../../include/person.class.php'); require_once('../../include/benutzer.class.php'); require_once('../../include/mitarbeiter.class.php'); $user = get_uid(); loadVariables($user); if(isset($_GET['studiensemester_kurzbz'])) $studiensemester_kurzbz = $_GET['studiensemester_kurzbz']; else if(isset($_POST['studiensemester_kurzbz'])) $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; else die('studiensemester_kurzbz muss uebergeben werden'); if(isset($_GET['studiengang_kz'])) $studiengang_kz = $_GET['studiengang_kz']; else $studiengang_kz=''; if(isset($_GET['semester'])) $semester = $_GET['semester']; else $semester=''; if(isset($_GET['institut'])) $institut = $_GET['institut']; else $institut = ''; if(isset($_GET['uid'])) $uid = $_GET['uid']; else $uid = ''; $db = new basis_db(); $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(koordinator, (SELECT uid FROM public.tbl_benutzerfunktion WHERE fachbereich_kurzbz=tbl_lehrfach.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, tbl_lehrfach.bezeichnung as lf_bezeichnung, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrfach.fachbereich_kurzbz as fachbereich_kurzbz, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.semester as lv_semester, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheitmitarbeiter.faktor, 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 as sws ,tbl_lehrveranstaltung.lehrform_kurzbz ,tbl_lehrveranstaltung.lehrveranstaltung_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 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) JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE tbl_lehreinheit.studiensemester_kurzbz='".addslashes($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='".addslashes($studiengang_kz)."'"; if($institut!='') $qry.=" AND tbl_lehrfach.fachbereich_kurzbz='".addslashes($institut)."'"; if($semester!='') $qry.=" AND tbl_lehrveranstaltung.semester='".addslashes($semester)."'"; if($uid!='') $qry.=" AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".addslashes($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(); // sending HTTP headers $workbook->send("LVPlanung.xls"); $workbook->setVersion(8); // Creating a worksheet $worksheet =& $workbook->addWorksheet($studiensemester_kurzbz); $worksheet->setInputEncoding('utf-8'); //Formate Definieren $format_bold =& $workbook->addFormat(); $format_bold->setBold(); $format_number =& $workbook->addFormat(); $format_number->setNumFormat('0,0.00'); $format_number_bold =& $workbook->addFormat(); $format_number_bold->setNumFormat('0,0.00'); $format_number_bold->setBold(); $zeile=0; $spalte=0; $worksheet->write($zeile,$spalte,"Studiengang", $format_bold); $maxlength[$spalte]=11; $worksheet->write($zeile,++$spalte,"Institut", $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); $maxlength[$spalte]=8; $worksheet->write($zeile,++$spalte,"Semester", $format_bold); $maxlength[$spalte]=8; $worksheet->write($zeile,++$spalte,"Gruppen", $format_bold); $maxlength[$spalte]=7; $worksheet->write($zeile,++$spalte,"Stunden", $format_bold); $maxlength[$spalte]=7; $worksheet->write($zeile,++$spalte,"Kosten", $format_bold); $maxlength[$spalte]=6; $worksheet->write($zeile,++$spalte,"Planstunden", $format_bold); $maxlength[$spalte]=11; $worksheet->write($zeile,++$spalte,"Stundenblockung", $format_bold); $maxlength[$spalte]=15; $worksheet->write($zeile,++$spalte,"Wochenrythmus", $format_bold); $maxlength[$spalte]=13; $worksheet->write($zeile,++$spalte,"Raum", $format_bold); $maxlength[$spalte]=4; $worksheet->write($zeile,++$spalte,"Raum alternativ", $format_bold); $maxlength[$spalte]=15; $worksheet->write($zeile,++$spalte,"Anmerkung", $format_bold); $maxlength[$spalte]=9; // Neu 13.11.2009 sequens $worksheet->write($zeile,++$spalte,"LV- Leitung", $format_bold); $maxlength[$spalte]=9; $worksheet->write($zeile,++$spalte,"LV-Nummer", $format_bold); $maxlength[$spalte]=9; $worksheet->write($zeile,++$spalte,"ALVS", $format_bold); $maxlength[$spalte]=9; $worksheet->write($zeile,++$spalte,"ECTS", $format_bold); $maxlength[$spalte]=9; $worksheet->write($zeile,++$spalte,"LV-Typ", $format_bold); $maxlength[$spalte]=9; if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { $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); if($maxlength[$spalte]koordinator)) $maxlength[$spalte]=mb_strlen($row->koordinator); //Lektor $worksheet->write($zeile,++$spalte,$mitarbeiter->nachname); if($maxlength[$spalte]nachname)) $maxlength[$spalte]=mb_strlen($mitarbeiter->nachname); //Lehrfach $worksheet->write($zeile,++$spalte,$row->lf_bezeichnung); if($maxlength[$spalte]lf_bezeichnung)) $maxlength[$spalte]=mb_strlen($row->lf_bezeichnung); //Semester $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='$row->lehreinheit_id'"; $result_gruppe = $db->db_query($qry); $gruppe = ''; while($row_gruppe = $db->db_fetch_object($result_gruppe)) { if($gruppe!='') $gruppe.=', '; if($row_gruppe->gruppe_kurzbz!='') $gruppe.=$row_gruppe->gruppe_kurzbz; 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]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]write($zeile,++$spalte,$row->planstunden); if($maxlength[$spalte]planstunden)) $maxlength[$spalte]=mb_strlen($row->planstunden); //Stundenblockung $worksheet->write($zeile,++$spalte,$row->stundenblockung); if($maxlength[$spalte]stundenblockung)) $maxlength[$spalte]=mb_strlen($row->stundenblockung); //Wochentrythmus $worksheet->write($zeile,++$spalte,$row->wochenrythmus); if($maxlength[$spalte]wochenrythmus)) $maxlength[$spalte]=mb_strlen($row->wochenrythmus); //Raumtyp $worksheet->write($zeile,++$spalte,$row->raumtyp); if($maxlength[$spalte]raumtyp)) $maxlength[$spalte]=mb_strlen($row->raumtyp); //Raumtypalternativ $worksheet->write($zeile,++$spalte,$row->raumtypalternativ); if($maxlength[$spalte]raumtypalternativ)) $maxlength[$spalte]=mb_strlen($row->raumtypalternativ); //Anmerkung $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); if($maxlength[$spalte]lv_leitung)) $maxlength[$spalte]=mb_strlen($row->lv_leitung); //LV-Nummer $worksheet->write($zeile,++$spalte,$row->lehrveranstaltung_id); 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); */ $worksheet->write($zeile,++$spalte,$row->semesterstunden); if($maxlength[$spalte]semesterstunden)) $maxlength[$spalte]=mb_strlen($row->semesterstunden); //ECTS $worksheet->write($zeile,++$spalte,$row->ects); if($maxlength[$spalte]ects)) $maxlength[$spalte]=mb_strlen($row->ects); //LV-Typ if (empty($row->lv_type) || $row->lehrform_kurzbz=='-' ) $row->lv_type='keine'; $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(koordinator, (SELECT uid FROM public.tbl_benutzerfunktion WHERE fachbereich_kurzbz=tbl_lehrfach.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, nachname, tbl_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_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=tbl_lehrfach.lehrfach_id AND tbl_person.person_id=tbl_projektbetreuer.person_id AND tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 "; if($uid!=='') { $mitarbeiter = new mitarbeiter($uid); $qry.=" AND tbl_projektbetreuer.person_id='$mitarbeiter->person_id'"; } if($institut!='') $qry.=" AND tbl_lehrfach.fachbereich_kurzbz='".addslashes($institut)."'"; if($studiengang_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."'"; if($result = $db->db_query($qry)) { $spalte=0; $zeile++; $zeile++; $worksheet->write($zeile,$spalte,"Betreuungen", $format_bold); while($row = $db->db_fetch_object($result)) { $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); if($maxlength[$spalte]koordinator)) $maxlength[$spalte]=mb_strlen($row->koordinator); //Lektor $worksheet->write($zeile,++$spalte,$row->nachname); if($maxlength[$spalte]nachname)) $maxlength[$spalte]=mb_strlen($row->nachname); //Lehrfach $worksheet->write($zeile,++$spalte,$row->bezeichnung); if($maxlength[$spalte]bezeichnung)) $maxlength[$spalte]=mb_strlen($row->bezeichnung); //Semester $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 $worksheet->write($zeile,++$spalte,$benutzer->nachname.' '.$benutzer->vorname); if($maxlength[$spalte]nachname.' '.$benutzer->vorname)) $maxlength[$spalte]=mb_strlen($benutzer->nachname.' '.$benutzer->vorname); //Stunden $worksheet->write($zeile,++$spalte,$row->stunden); if($maxlength[$spalte]stunden)) $maxlength[$spalte]=mb_strlen($row->stunden); //Kosten $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); } $workbook->close(); ?>