mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 02:12:17 +00:00
Urlaubstool
This commit is contained in:
@@ -429,6 +429,16 @@ Seamonkey Version nicht möglich<br>
|
||||
<h2>Erledigte Anforderungen</h2>
|
||||
<br>
|
||||
<ul>
|
||||
<li>LVPlanung ist jetzt auch im Excel-Format verfügbar.
|
||||
Betreuungen sind in dieser Liste allerdings nicht enthalten<br>
|
||||
02.06.2008 oesi<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Wenn der Zustelladresse eines Mitarbeiters eine Firma zugeordnet
|
||||
ist, scheint die Firmenadresse am Lehrauftrag auf anstatt der eigenen.<br>
|
||||
02.06.2008 oesi<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Bei der Zuteilung von Lektoren zu Lehreinheiten werden jetzt
|
||||
automatisch die Semesterstunden der LV vorgeschlagen<br>
|
||||
27.05.2008 oesi<br>
|
||||
|
||||
+17
-6
@@ -81,6 +81,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
<command id="menu-statistic-koordinatorstunden:command" oncommand="StatistikPrintKoordinatorstunden();"/>
|
||||
<command id="menu-statistic-lehrauftraege:command" oncommand="StatistikPrintLehrauftraege();"/>
|
||||
<command id="menu-statistic-lvplanung:command" oncommand="StatistikPrintLVPlanung();"/>
|
||||
<command id="menu-statistic-lvplanungexcel:command" oncommand="StatistikPrintLVPlanungExcel();"/>
|
||||
<command id="menu-statistic-lehrauftragsliste:command" oncommand="StatistikPrintLehrauftragsliste();"/>
|
||||
<command id="menu-statistic-projektarbeit:command" oncommand="StatistikPrintProjektarbeit();"/>
|
||||
<command id="menu-statistic-abschlusspruefung:command" oncommand="StatistikPrintAbschlusspruefung();"/>
|
||||
@@ -231,12 +232,22 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
label = "&menu-statistic-lehrauftraege.label;"
|
||||
command = "menu-statistic-lehrauftraege:command"
|
||||
accesskey = "&menu-statistic-lehrauftraege.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-statistic-lvplanung"
|
||||
key = "menu-statistic-lvplanung:key"
|
||||
label = "&menu-statistic-lvplanung.label;"
|
||||
command = "menu-statistic-lvplanung:command"
|
||||
accesskey = "&menu-statistic-lvplanung.accesskey;"/>
|
||||
<menu id="menu-statistic-sublvplanung" label="&menu-statistic-sublvplanung.label;" accesskey="&menu-statistic-sublvplanung.accesskey;">
|
||||
<menupopup id="menu-statistic-substatistik-popup">
|
||||
<menuitem
|
||||
id = "menu-statistic-lvplanung"
|
||||
key = "menu-statistic-lvplanung:key"
|
||||
label = "&menu-statistic-lvplanung.label;"
|
||||
command = "menu-statistic-lvplanung:command"
|
||||
accesskey = "&menu-statistic-lvplanung.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-statistic-lvplanungexcel"
|
||||
key = "menu-statistic-lvplanungexcel:key"
|
||||
label = "&menu-statistic-lvplanungexcel.label;"
|
||||
command = "menu-statistic-lvplanungexcel:command"
|
||||
accesskey = "&menu-statistic-lvplanungexcel.accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem
|
||||
id = "menu-statistic-lehrauftragsliste"
|
||||
key = "menu-statistic-lehrauftragsliste:key"
|
||||
|
||||
@@ -738,6 +738,67 @@ function StatistikPrintLVPlanung()
|
||||
window.open(url,'LV-Planung');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Liefert eine Excel Liste mit Uebersicht der Lehrauftraege.
|
||||
// * Studiengang oder Fachbereich muss gewaehlt sein
|
||||
// ****
|
||||
function StatistikPrintLVPlanungExcel()
|
||||
{
|
||||
var studiensemester=getStudiensemester();
|
||||
|
||||
if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-verband'))
|
||||
{
|
||||
tree = document.getElementById('tree-verband');
|
||||
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst einen Studiengang auswaehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
//Studiengang und Semester holen
|
||||
var col;
|
||||
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
||||
var studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
|
||||
col = tree.columns ? tree.columns["sem"] : "sem";
|
||||
var semester=tree.view.getCellText(tree.currentIndex,col);
|
||||
var url = '<?php echo APP_ROOT ?>content/statistik/lvplanung.xls.php?studiengang_kz='+studiengang_kz+'&semester='+semester+'&studiensemester_kurzbz='+studiensemester;
|
||||
}
|
||||
else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-fachbereich'))
|
||||
{
|
||||
tree = document.getElementById('tree-fachbereich');
|
||||
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst einen Fachbereich auswaehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
//Fachbereich holen
|
||||
var col;
|
||||
col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz";
|
||||
var fachbereich_kurzbz=tree.view.getCellText(tree.currentIndex,col);
|
||||
var url = '<?php echo APP_ROOT ?>content/statistik/lvplanung.xls.php?institut='+fachbereich_kurzbz+'&studiensemester_kurzbz='+studiensemester;
|
||||
}
|
||||
else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-lektor'))
|
||||
{
|
||||
tree = document.getElementById('tree-lektor');
|
||||
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst einen Mitarbeiter auswaehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
//UID holen
|
||||
var col;
|
||||
col = tree.columns ? tree.columns["uid"] : "uid";
|
||||
var uid=tree.view.getCellText(tree.currentIndex,col);
|
||||
var url = '<?php echo APP_ROOT ?>content/statistik/lvplanung..xls.php?uid='+uid+'&studiensemester_kurzbz='+studiensemester;
|
||||
}
|
||||
window.open(url,'LV-Planung');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Erstellt ein Excel File mit der Uebersicht
|
||||
// * ueber alle Lektoren und deren Kosten eines Studienganges
|
||||
|
||||
@@ -0,0 +1,245 @@
|
||||
<?php
|
||||
/* Copyright (C) 2008 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
*/
|
||||
// Erstellt ein Excel mit den Kosten der Lehrveranstaltungen
|
||||
require_once('../../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');
|
||||
|
||||
if(!$conn=pg_pconnect(CONN_STRING))
|
||||
die('Fehler biem Connecten zur DB');
|
||||
|
||||
if(isset($_GET['studiensemester_kurzbz']))
|
||||
$studiensemester_kurzbz = $_GET['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 = '';
|
||||
|
||||
$stg_obj = new studiengang($conn);
|
||||
$stg_obj->getAll('typ, kurzbz', false);
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send("LVPlanung.xls");
|
||||
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet($studiensemester_kurzbz);
|
||||
|
||||
//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();
|
||||
|
||||
|
||||
$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
|
||||
studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
|
||||
funktion_kurzbz='fbk' 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, tbl_lehreinheitmitarbeiter.planstunden,
|
||||
tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ,
|
||||
tbl_lehreinheitmitarbeiter.anmerkung
|
||||
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)."'";
|
||||
|
||||
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";
|
||||
$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;
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$spalte=0;
|
||||
$zeile++;
|
||||
|
||||
$mitarbeiter = new mitarbeiter($conn);
|
||||
$mitarbeiter->load($row->mitarbeiter_uid);
|
||||
|
||||
//Studiengang
|
||||
$worksheet->write($zeile,$spalte,$stg_obj->kuerzel_arr[$row->studiengang_kz]);
|
||||
if($maxlength[$spalte]<strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]))
|
||||
$maxlength[$spalte]=strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]);
|
||||
//Fachbereich
|
||||
$worksheet->write($zeile,++$spalte,$row->fachbereich_kurzbz);
|
||||
if($maxlength[$spalte]<strlen($row->fachbereich_kurzbz))
|
||||
$maxlength[$spalte]=strlen($row->fachbereich_kurzbz);
|
||||
//Koordinator
|
||||
$worksheet->write($zeile,++$spalte,$row->koordinator);
|
||||
if($maxlength[$spalte]<strlen($row->koordinator))
|
||||
$maxlength[$spalte]=strlen($row->koordinator);
|
||||
//Lektor
|
||||
$worksheet->write($zeile,++$spalte,$mitarbeiter->nachname);
|
||||
if($maxlength[$spalte]<strlen($mitarbeiter->nachname))
|
||||
$maxlength[$spalte]=strlen($mitarbeiter->nachname);
|
||||
//Lehrfach
|
||||
$worksheet->write($zeile,++$spalte,$row->lf_bezeichnung);
|
||||
if($maxlength[$spalte]<strlen($row->lf_bezeichnung))
|
||||
$maxlength[$spalte]=strlen($row->lf_bezeichnung);
|
||||
//Semester
|
||||
$worksheet->write($zeile,++$spalte,$row->lv_semester);
|
||||
if($maxlength[$spalte]<strlen($row->lv_semester))
|
||||
$maxlength[$spalte]=strlen($row->lv_semester);
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
|
||||
$result_gruppe = pg_query($conn, $qry);
|
||||
$gruppe = '';
|
||||
while($row_gruppe = pg_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]<strlen($gruppe))
|
||||
$maxlength[$spalte]=strlen($gruppe);
|
||||
//Semesterstunden
|
||||
$worksheet->write($zeile,++$spalte,$row->semesterstunden);
|
||||
if($maxlength[$spalte]<strlen($row->semesterstunden))
|
||||
$maxlength[$spalte]=strlen($row->semesterstunden);
|
||||
|
||||
$kosten = ($row->stundensatz*$row->semesterstunden*$row->faktor);
|
||||
|
||||
//Kosten
|
||||
$worksheet->write($zeile,++$spalte,$kosten);
|
||||
if($maxlength[$spalte]<strlen($kosten))
|
||||
$maxlength[$spalte]=strlen($kosten);
|
||||
//Planstunden
|
||||
$worksheet->write($zeile,++$spalte,$row->planstunden);
|
||||
if($maxlength[$spalte]<strlen($row->planstunden))
|
||||
$maxlength[$spalte]=strlen($row->planstunden);
|
||||
//Stundenblockung
|
||||
$worksheet->write($zeile,++$spalte,$row->stundenblockung);
|
||||
if($maxlength[$spalte]<strlen($row->stundenblockung))
|
||||
$maxlength[$spalte]=strlen($row->stundenblockung);
|
||||
//Wochentrythmus
|
||||
$worksheet->write($zeile,++$spalte,$row->wochenrythmus);
|
||||
if($maxlength[$spalte]<strlen($row->wochenrythmus))
|
||||
$maxlength[$spalte]=strlen($row->wochenrythmus);
|
||||
//Raumtyp
|
||||
$worksheet->write($zeile,++$spalte,$row->raumtyp);
|
||||
if($maxlength[$spalte]<strlen($row->raumtyp))
|
||||
$maxlength[$spalte]=strlen($row->raumtyp);
|
||||
//Raumtypalternativ
|
||||
$worksheet->write($zeile,++$spalte,$row->raumtypalternativ);
|
||||
if($maxlength[$spalte]<strlen($row->raumtypalternativ))
|
||||
$maxlength[$spalte]=strlen($row->raumtypalternativ);
|
||||
//Anmerkung
|
||||
$worksheet->write($zeile,++$spalte,$row->anmerkung);
|
||||
if($maxlength[$spalte]<strlen($row->anmerkung))
|
||||
$maxlength[$spalte]=strlen($row->anmerkung);
|
||||
}
|
||||
//Die Breite der Spalten setzen
|
||||
foreach($maxlength as $i=>$breite)
|
||||
$worksheet->setColumn($i, $i, $breite+2);
|
||||
}
|
||||
$workbook->close();
|
||||
?>
|
||||
Reference in New Issue
Block a user