Merge branch 'feature-5156/Lehrauftragslisten_Stundensatz'

This commit is contained in:
Andreas Österreicher
2020-02-03 13:05:43 +01:00
18 changed files with 618 additions and 1691 deletions
-32
View File
@@ -96,7 +96,6 @@ foreach($addon_obj->result as $addon)
<command id="menu-prefs-stpltable-stundenplandev:command" oncommand="stpltableChange('stundenplandev');"/>
<command id="menu-prefs-kontofilterstg:command" oncommand="EinstellungenKontoFilterStgChange();"/>
<command id="menu-prefs-number_displayed_past_studiensemester:command" oncommand="variableChangeValue('number_displayed_past_studiensemester');"/>
<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();"/>
@@ -115,14 +114,12 @@ foreach($addon_obj->result as $addon)
<command id="menu-statistic-substatistik-studentenprosemester-html:command" oncommand="StatistikPrintStudentenProSemester('');"/>
<command id="menu-statistic-substatistik-alvsstatistik-excel:command" oncommand="StatistikPrintALVSStatistik('xls');"/>
<command id="menu-statistic-substatistik-alvsstatistik-html:command" oncommand="StatistikPrintALVSStatistik('');"/>
<command id="menu-statistic-substatistik-lvplanunggesamtsj-excel:command" oncommand="StatistikPrintLvPlanungGesamtSJ();"/>
<command id="menu-statistic-absolventenstatistik:command" oncommand="StatistikPrintAbsolventenstatistik();"/>
<command id="menu-statistic-absolventenzahlen:command" oncommand="StatistikPrintAbsolventenZahlen();"/>
<command id="menu-statistic-studentenstatistik:command" oncommand="StatistikPrintStudentenstatistik();"/>
<command id="menu-statistic-oehbeitraege:command" oncommand="StatistikPrintOehBeitrag();"/>
<command id="menu-statistic-mitarbeiterstatistik:command" oncommand="StatistikPrintMitarbeiterstatistik();"/>
<command id="menu-statistic-studentendetails:command" oncommand="StatistikPrintStudentExportExtended();"/>
<command id="menu-statistic-lektorenstatistik:command" oncommand="StatistikPrintLektorenstatistik();"/>
<command id="menu-statistic-stromanalyse:command" oncommand="StatistikPrintStromanalyse();"/>
<command id="menu-dokumente-bewerberakt:command" oncommand="StudentPrintBewerberakt(event);"/>
<command id="menu-dokumente-inskriptionsbestaetigung:command" oncommand="StudentPrintInskriptionsbestaetigung(event);"/>
@@ -317,12 +314,6 @@ foreach($addon_obj->result as $addon)
<menu id="menu-statistic-mitarbeiter" label="&menu-statistic-mitarbeiter.label;" accesskey="&menu-statistic-mitarbeiter.accesskey;">
<menupopup id="menu-statistic-mitarbeiter-popup">
<menuitem
id = "menu-statistic-koordinatorstunden"
key = "menu-statistic-koordinatorstunden:key"
label = "&menu-statistic-koordinatorstunden.label;"
command = "menu-statistic-koordinatorstunden:command"
accesskey = "&menu-statistic-koordinatorstunden.accesskey;"/>
<menuitem
id = "menu-statistic-lehrauftragsliste"
key = "menu-statistic-lehrauftragsliste:key"
label = "&menu-statistic-lehrauftragsliste.label;"
@@ -422,23 +413,6 @@ foreach($addon_obj->result as $addon)
accesskey = "&menu-statistic-substatistik-alvsstatistik-html.accesskey;"/>
</menupopup>
</menu>
<?php
if($rechte->isBerechtigt('admin'))
{
echo '
<menu id="menu-statistic-substatistik-lvplanunggesamtsj" label="&menu-statistic-substatistik-lvplanunggesamtsj.label;" accesskey="&menu-statistic-substatistik-lvplanunggesamtsj.accesskey;">
<menupopup id="menu-statistic-substatistik-lvplanunggesamtsj-popup">
<menuitem
id = "menu-statistic-substatistik-lvplanunggesamtsj-excel"
key = "menu-statistic-substatistik-lvplanunggesamtsj-excel:key"
label = "&menu-statistic-substatistik-lvplanunggesamtsj-excel.label;"
command = "menu-statistic-substatistik-lvplanunggesamtsj-excel:command"
accesskey = "&menu-statistic-substatistik-lvplanunggesamtsj-excel.accesskey;"/>
</menupopup>
</menu>
';
}
?>
<menu id="menu-statistic-substatistik-bewerberstatistik" label="&menu-statistic-substatistik-bewerberstatistik.label;" accesskey="&menu-statistic-substatistik-bewerberstatistik.accesskey;">
<menupopup id="menu-statistic-substatistik-bewerberstatistik-popup">
<menuitem
@@ -480,12 +454,6 @@ foreach($addon_obj->result as $addon)
command = "menu-statistic-studentenstatistik:command"
accesskey = "&menu-statistic-studentenstatistik.accesskey;"/>
<menuitem
id = "menu-statistic-lektorenstatistik"
key = "menu-statistic-lektorenstatistik:key"
label = "&menu-statistic-lektorenstatistik.label;"
command = "menu-statistic-lektorenstatistik:command"
accesskey = "&menu-statistic-lektorenstatistik.accesskey;"/>
<menuitem
id = "menu-statistic-mitarbeiterstatistik"
key = "menu-statistic-mitarbeiterstatistik:key"
label = "&menu-statistic-mitarbeiterstatistik.label;"
-42
View File
@@ -797,30 +797,6 @@ function loadURL(event)
if (url) contentFrame.setAttribute('src', url);
};
// ****
// * Liefert eine HTML Liste mit den Koordinatorstunden
// * fuer einen Fachbereich
// ****
function StatistikPrintKoordinatorstunden()
{
tree = document.getElementById('tree-organisationseinheit');
try
{
//Organisationseinheit holen
var col;
col = tree.columns ? tree.columns["organisationseinheit-treecol-oe_kurzbz"] : "organisationseinheit-treecol-oe_kurzbz";
var oe_kurzbz=tree.view.getCellText(tree.currentIndex,col);
window.open('<?php echo APP_ROOT ?>content/statistik/koordinatorstunden.php?oe_kurzbz='+oe_kurzbz,'Koordinatorstunden');
}
catch(e)
{
alert('Bitte einen Fachbereich auswaehlen');
return false;
}
}
// ****
// * Erstellt das PDF File fuer die Lehrauftraege
// * Studiengang muss ausgewaehlt sein
@@ -1209,16 +1185,6 @@ function StatistikPrintStudentenstatistik()
window.open('<?php echo APP_ROOT ?>content/statistik/studentenstatistik.php?stsem='+stsem,'Studentenstatistik');
}
// ****
// * Liefert eine statistik ueber die Lektorenverteilung auf die Institute
// ****
function StatistikPrintLektorenstatistik()
{
var stsem = getStudiensemester();
window.open('<?php echo APP_ROOT ?>content/statistik/lektorenstatistik.php?stsem='+stsem,'Lektorenstatistik');
}
// ****
// * Liefert eine statistik ueber die Institutszuordnungen und Aufteilung auf intern/extern
// ****
@@ -1584,14 +1550,6 @@ function StatistikPrintALVSStatistik(format)
window.open('<?php echo APP_ROOT ?>content/statistik/alvsstatistik.php?format='+format,'ALVS-Statistik','');
}
// ****
// * Oeffnet die LVPlanunggesamtSJ Statistik
// ****
function StatistikPrintLvPlanungGesamtSJ()
{
window.open('<?php echo APP_ROOT ?>content/statistik/lvplanunggesamtsj.php','LVPlanungGesamtSJ','');
}
// ****
// * Oeffnet Studenten/Semester Statistik
// ****
+2 -8
View File
@@ -157,8 +157,6 @@ function getStundenproInstitut($mitarbeiter_uid, $studiensemester_kurzbz, $oe_ar
WHERE
mitarbeiter_uid=".$db->db_add_param($mitarbeiter_uid)." AND
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
faktor>0 AND
stundensatz>0 AND
bismelden AND
tbl_studiengang.oe_kurzbz in(".$db->db_implode4SQL($oe_arr).")
GROUP BY tbl_studiengang.bezeichnung";
@@ -305,12 +303,12 @@ if(!$error)
$le = new lehreinheit();
$le->load($lem->lehreinheit_id);
if($lem->stundensatz<=0 || $lem->faktor<=0 || $lem->bismelden==false)
if($lem->bismelden==false)
$neue_stunden_eingerechnet=false;
else
$neue_stunden_eingerechnet=true;
if(($stundensatz_alt<=0 || $faktor_alt<=0 || $bismelden_alt==false))
if($bismelden_alt==false)
$alte_stunden_eingerechnet=false;
else
$alte_stunden_eingerechnet=true;
@@ -337,8 +335,6 @@ if(!$error)
WHERE
mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid)." AND
studiensemester_kurzbz=".$db->db_add_param($le->studiensemester_kurzbz)." AND
faktor>0 AND
stundensatz>0 AND
bismelden";
if(count($oe_arr)>0)
@@ -559,8 +555,6 @@ if(!$error)
WHERE
mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid)." AND
studiensemester_kurzbz=".$db->db_add_param($le->studiensemester_kurzbz)." AND
faktor>0 AND
stundensatz>0 AND
bismelden";
if(count($oe_arr)>0)
@@ -2546,8 +2546,8 @@ function LeMitarbeiterGesamtkosten()
faktor = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-faktor').value
stundensatz = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-stundensatz').value
if(!isNaN(semesterstunden) && !isNaN(faktor) && !isNaN(stundensatz))
gesamtkosten = semesterstunden*faktor*stundensatz;
if(!isNaN(semesterstunden) && !isNaN(stundensatz))
gesamtkosten = semesterstunden*stundensatz;
else
gesamtkosten = 0;
+17 -14
View File
@@ -31,14 +31,12 @@ require_once('../../include/studiensemester.class.php');
require_once('../../include/phrasen.class.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$sprache = getSprache();
$p = new phrasen($sprache);
$doc = new dokument_export('Lehrtaetigkeit');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -86,12 +84,12 @@ foreach($active_semester_arr as $active_semester)
$studiensemester_start_date = $ss->start;
$studiensemester_end_date = $ss->ende;
// * get total amount of semesterstunden of the lehreinheiten, where stundensatz > 0
// * get total amount of semesterstunden of the lehreinheiten
$total_semesterstunden = 0;
foreach ($le_id_arr as $le_id)
{
$le_ma = new Lehreinheitmitarbeiter($le_id, $uid);
if ($le_ma && (!is_null ($le_ma->stundensatz) && $le_ma->stundensatz > 0))
if ($le_ma)
{
$total_semesterstunden = $total_semesterstunden + $le_ma->semesterstunden;
}
@@ -140,15 +138,16 @@ foreach ($project_arr as $project)
}, $projektstunden_per_semester
));
// * if studiensemester exists, sum up hours of projektarbeit, where stundensatz > 0
// * if studiensemester exists, sum up hours of projektarbeit
if ($studiensemester_index !== false)
{
$projektstunden_per_semester [$studiensemester_index]['total_semesterstunden'] = $projektstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + $projektstunden;
$projektstunden_per_semester[$studiensemester_index]['total_semesterstunden'] =
$projektstunden_per_semester[$studiensemester_index]['total_semesterstunden'] + $projektstunden;
}
// * if not, create new index
else
{
$projektstunden_per_semester []= (
$projektstunden_per_semester[] = (
array(
'studiensemester_kurzbz'=> $studiensemester_kurzbz,
'total_semesterstunden' => $projektstunden,
@@ -171,7 +170,9 @@ foreach ($projektstunden_per_semester as $item)
// * if studiensemester exists, merge lehreinheit- and projektarbeit hours
if ($studiensemester_index !== false)
{
$semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] = $semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + $item['total_semesterstunden'];
$semesterstunden_per_semester[$studiensemester_index]['total_semesterstunden'] =
$semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden']
+ $item['total_semesterstunden'];
}
// * if not, create new index
else
@@ -202,12 +203,15 @@ $actual_studiensemester_index = array_search($actual_studiensemester, array_map(
}, $semesterstunden_per_semester
));
// * if lector is teaching actually, split former teaching activities from actual teaching activities of actual studiensemester
// if lector is teaching actually, split former teaching activities
// from actual teaching activities of actual studiensemester
$semesterstunden_of_actual_semester = array();
if ($actual_studiensemester_index !== false)
{
$semesterstunden_of_actual_semester = array_slice($semesterstunden_per_semester, $actual_studiensemester_index); // array with actual + future semester
$semesterstunden_per_semester = array_slice($semesterstunden_per_semester, 0, $actual_studiensemester_index); // array with all former semester
// array with actual + future semester
$semesterstunden_of_actual_semester = array_slice($semesterstunden_per_semester, $actual_studiensemester_index);
// array with all former semester
$semesterstunden_per_semester = array_slice($semesterstunden_per_semester, 0, $actual_studiensemester_index);
}
// Semester begin and ending date of lehreinheit- and projektarbeit studiensemester
@@ -257,7 +261,8 @@ if (!empty($semesterstunden_per_semester))
}
else
{
$data[]= array('total_ss_per_semester'=> ''); // empty if lector has no lehreinheit- or projektarbeitsstunden in the past (before the actual studiensemester)
// empty if lector has no lehreinheit- or projektarbeitsstunden in the past (before the actual studiensemester)
$data[]= array('total_ss_per_semester'=> '');
}
// Add data to lehrtaetigkeit.xsl
@@ -275,5 +280,3 @@ $doc->output();
// unlink doc from tmp-folder
$doc->close();
+2 -5
View File
@@ -64,7 +64,8 @@ $db = new basis_db();
$qry = "
SELECT * FROM (
SELECT
lehrfach.oe_kurzbz as lehrfach_oe_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,
@@ -79,8 +80,6 @@ SELECT * FROM (
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND
tbl_benutzer.person_id = tbl_person.person_id AND
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND
faktor<>0 AND
stundensatz<>0 AND
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
GROUP BY lehrfach.oe_kurzbz, geschlecht, tbl_lehrveranstaltung.studiengang_kz
) as a JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -116,9 +115,7 @@ WHERE
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_projektbetreuer.person_id=tbl_person.person_id AND
tbl_projektbetreuer.faktor<>0 AND
tbl_projektbetreuer.stunden<>0 AND
tbl_projektbetreuer.stundensatz<>0 AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem)."
GROUP BY studiengang_kz,geschlecht";
-137
View File
@@ -1,137 +0,0 @@
<?php
/* Copyright (C) 2006 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* Erstellt eine Liste der Koordinatoren eines Instituts und der Anzahl der Stunden
* die er in den jeweiligen Studiengaengen unterrichtet
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Koordinatorstunden</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body>';
$user = get_uid();
loadVariables($user);
$db = new basis_db();
if(isset($_GET['oe_kurzbz']))
$oe_kurzbz = $_GET['oe_kurzbz'];
else
die('Falsche Parameteruebergabe');
echo '<h2>Koordinatorstunden - Organisationseinheit '.$oe_kurzbz.'</h2>';
$stg_arr = array();
$data = array();
$name = array();
//alle Studiengaenge holen
$studiengang = new studiengang();
$studiengang->getAll();
foreach ($studiengang->result as $row)
$stg_arr[$row->studiengang_kz]=$row->kuerzel;
//Alle Fachbereichsleiter des uebergebenen Studienganges holen und
//Die Anzahl der Stunden die dieser in den einzelnen Studiengaengen haelt ermitteln
$qry = "SELECT
distinct on(tbl_lehreinheit.lehreinheit_id)
tbl_benutzerfunktion.uid,
tbl_lehreinheitmitarbeiter.semesterstunden,
tbl_lehrveranstaltung.studiengang_kz,
tbl_person.vorname,
tbl_person.nachname
FROM
public.tbl_benutzerfunktion
JOIN lehre.tbl_lehreinheitmitarbeiter ON(tbl_benutzerfunktion.uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_benutzer ON(tbl_benutzer.uid=tbl_benutzerfunktion.uid)
JOIN public.tbl_person ON(tbl_person.person_id=tbl_benutzer.person_id)
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
JOIN public.tbl_fachbereich ON(tbl_benutzerfunktion.fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz)
WHERE
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
tbl_fachbereich.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." 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())
ORDER BY tbl_lehreinheit.lehreinheit_id, nachname, vorname
";
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
if(array_key_exists($row->uid, $data))
{
if(array_key_exists($row->studiengang_kz, $data[$row->uid]))
{
$data[$row->uid][$row->studiengang_kz] += $row->semesterstunden;
}
else
$data[$row->uid][$row->studiengang_kz] = $row->semesterstunden;
}
else
$data[$row->uid][$row->studiengang_kz] = $row->semesterstunden;
$name[$row->uid]['vorname']=$row->vorname;
$name[$row->uid]['nachname']=$row->nachname;
}
}
echo '<br /><table class="liste table-autosort:0 table-stripeclass:alternate table-autostripe">
<thead>
<tr class="liste">
<th class="table-sortable:default">Name</th>
<th class="table-sortable:default">Studiengang</th>
<th class="table-sortable:numeric">Stunden</th>
</tr>
</thead>
<tbody>';
$i=0;
foreach ($name as $uid=>$row)
{
foreach ($data[$uid] as $stg=>$row2)
{
echo '<tr>
<td>'.$name[$uid]['vorname'].' '.$name[$uid]['nachname'].'</td>
<td>'.$stg_arr[$stg].'</td>
<td>'.$row2.'</td>
</tr>';
$i++;
}
}
echo '</tbody></table>';
?>
</body>
</html>
@@ -1,283 +0,0 @@
<?php
/* Copyright (C) 2006 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Erstellt ein Excel File mit allen Lektoren und den Studiengaengen in denen diese Unterrichten
* Diese Liste wird dann per Mail an die Geschaeftsstelle gesendet.
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/Excel/excel.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/mail.class.php');
$stsem = new studiensemester();
$semester_aktuell = $stsem->getaktorNext();
$file = 'lehrauftragsgesamtliste.xls';
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer($file);
$workbook->setVersion(8);
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Lektoren");
$worksheet->setInputEncoding('utf-8');
//Formate Definieren
$format_left =& $workbook->addFormat();
$format_left->setLeft(2);
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_bold_border =& $workbook->addFormat();
$format_bold_border->setBold();
$format_bold_border->setBorder(2);
$format_bold_center =& $workbook->addFormat();
$format_bold_center->setBold();
$format_bold_center->setAlign('center');
$format_bold_center->setBorder(2);
$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();
$format_number_bold->setLeft(2);
$i=0;
$studiensemester = new studiensemester();
$stsem = $studiensemester->getNearest();
$worksheet->write(0,0,'Erstellt am '.date('d.m.Y')." Studiensemester: $stsem", $format_bold);
//Ueberschriften
$zeile=1;
$spalte=0;
$maxlength[$spalte]=10;
$worksheet->write($zeile+1,$spalte++,"Nachname", $format_bold);
$maxlength[$spalte]=10;
$worksheet->write($zeile+1,$spalte++,"Vorname", $format_bold);
$maxlength[$spalte]=10;
$worksheet->write($zeile+1,$spalte++,"UID", $format_bold);
$db = new basis_db();
$qry = "SELECT
distinct tbl_studiengang.studiengang_kz, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kuerzel
FROM
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND
tbl_lehreinheitmitarbeiter.faktor is not null AND
tbl_lehreinheitmitarbeiter.faktor<>0 AND
tbl_lehreinheitmitarbeiter.stundensatz is not null AND
tbl_lehreinheitmitarbeiter.stundensatz<>0 AND
tbl_lehreinheitmitarbeiter.semesterstunden is not null AND
tbl_lehreinheitmitarbeiter.semesterstunden<>0 ORDER BY kuerzel";
if(!$result = $db->db_query($qry))
die('Fehler in qry');
while($row = $db->db_fetch_object($result))
{
$worksheet->write($zeile, $spalte,$row->kuerzel, $format_bold_center);
$worksheet->write($zeile, $spalte+1,$row->kuerzel, $format_bold_center);
$worksheet->write($zeile, $spalte+2,$row->kuerzel, $format_bold_center);
$worksheet->write($zeile, $spalte+3,$row->kuerzel, $format_bold_center);
$stg_spalte[$row->studiengang_kz]=$spalte;
$maxlength[$spalte]=7;
$worksheet->write($zeile+1, $spalte++,'Stunden', $format_bold_border);
$maxlength[$spalte]=5;
$worksheet->write($zeile+1, $spalte++,'Sätze', $format_bold_border);
$maxlength[$spalte]=6;
$worksheet->write($zeile+1, $spalte++,'Faktor', $format_bold_border);
$maxlength[$spalte]=6;
$worksheet->write($zeile+1, $spalte++,'Gesamt', $format_bold_border);
$worksheet->mergeCells($zeile,$spalte-4,$zeile,$spalte-1);
}
$maxlength[$spalte]=12;
$worksheet->write($zeile+1, $spalte,'Gesamtsumme', $format_bold);
$maxspalten = $spalte;
function drawStg($stg)
{
global $faktor_arr, $satz_arr, $stunden, $gesamt, $worksheet, $stg_spalte;
global $zeile, $gesamtsumme, $format_number, $maxlength, $format_left;
$faktoren = '';
$saetze = '';
foreach ($faktor_arr as $faktor)
{
if($faktoren!='')
$faktoren.=', ';
$faktoren.=$faktor;
}
foreach ($satz_arr as $satz)
{
if($saetze!='')
$saetze.=', ';
$saetze.=$satz;
}
if(strlen($stunden)>$maxlength[$stg_spalte[$stg]])
$maxlength[$stg_spalte[$stg]]=strlen($stunden);
$worksheet->write($zeile, $stg_spalte[$stg], $stunden, $format_left);
if(strlen($saetze)>$maxlength[$stg_spalte[$stg]+1])
$maxlength[$stg_spalte[$stg]+1]=strlen($saetze);
$worksheet->write($zeile, $stg_spalte[$stg]+1, $saetze);
if(strlen($faktoren)>$maxlength[$stg_spalte[$stg]+2])
$maxlength[$stg_spalte[$stg]+2]=strlen($faktoren);
$worksheet->write($zeile, $stg_spalte[$stg]+2, $faktoren);
if(strlen($gesamt)>$maxlength[$stg_spalte[$stg]+3])
$maxlength[$stg_spalte[$stg]+3]=strlen($gesamt)+5;
$worksheet->write($zeile, $stg_spalte[$stg]+3, $gesamt, $format_number);
$gesamtsumme += $gesamt;
$faktor_arr = array();
$satz_arr = array();
$stunden = 0;
$gesamt = 0;
}
function drawGesamtsumme()
{
global $maxspalten, $zeile, $gesamtsumme, $worksheet, $format_number_bold, $maxlength;
if(strlen($gesamtsumme)>$maxlength[$maxspalten])
$maxlength[$maxspalten]=strlen($gesamtsumme);
$worksheet->write($zeile, $maxspalten, $gesamtsumme, $format_number_bold);
}
$qry = "
SELECT
mitarbeiter_uid, stundensatz, faktor, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as stunden,
stundensatz*sum(tbl_lehreinheitmitarbeiter.semesterstunden)*faktor AS gesamt, studiengang_kz,
nachname, vorname
FROM
lehre.tbl_lehreinheitmitarbeiter JOIN campus.vw_benutzer ON (mitarbeiter_uid=uid)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
WHERE
studiensemester_kurzbz=".$db->db_add_param($stsem)." AND
tbl_lehreinheitmitarbeiter.faktor is not null AND
tbl_lehreinheitmitarbeiter.faktor<>0 AND
tbl_lehreinheitmitarbeiter.stundensatz is not null AND
tbl_lehreinheitmitarbeiter.stundensatz<>0 AND
tbl_lehreinheitmitarbeiter.semesterstunden is not null AND
tbl_lehreinheitmitarbeiter.semesterstunden<>0
GROUP BY mitarbeiter_uid, studiengang_kz, stundensatz, faktor, nachname, vorname ORDER BY nachname, vorname, studiengang_kz
";
if($result = $db->db_query($qry))
{
$lastuid='';
$laststg='';
$zeile++;
while($row = $db->db_fetch_object($result))
{
if($lastuid!=$row->mitarbeiter_uid)
{
if($lastuid!='')
{
// letzten Studiengang ausgeben
drawStg($laststg);
//Gesamtsumme ausgeben
drawGesamtsumme();
}
$zeile++;
$lastuid=$row->mitarbeiter_uid;
$laststg=$row->studiengang_kz;
$faktor_arr = array();
$satz_arr = array();
$stunden = 0;
$gesamt = 0;
$gesamtsumme=0;
if(strlen($row->nachname)>$maxlength[0])
$maxlength[0]=strlen($row->nachname);
$worksheet->write($zeile, 0, $row->nachname);
if(strlen($row->vorname)>$maxlength[1])
$maxlength[1]=strlen($row->vorname);
$worksheet->write($zeile, 1, $row->vorname);
if(strlen($row->mitarbeiter_uid)>$maxlength[2])
$maxlength[2]=strlen($row->mitarbeiter_uid);
$worksheet->write($zeile, 2, $row->mitarbeiter_uid);
foreach ($stg_spalte as $spalte)
{
$worksheet->write($zeile, $spalte, null, $format_left);
}
}
if($laststg!=$row->studiengang_kz && $laststg!='')
{
drawStg($laststg);
}
if($row->faktor!='' && $row->faktor!='0' && $row->stunden!='' && $row->stunden!='0' && $row->stundensatz!='' && $row->stundensatz!='0')
{
if(!in_array($row->faktor, $faktor_arr))
$faktor_arr[]=$row->faktor;
if(!in_array($row->stundensatz, $satz_arr))
$satz_arr[]=$row->stundensatz;
$stunden += $row->stunden;
$gesamt += $row->gesamt;
}
$laststg = $row->studiengang_kz;
}
drawStg($laststg);
drawGesamtsumme();
}
else
die('Fehler in qry');
$workbook->close();
//Mail versenden mit Excel File im Anhang
$to = MAIL_GST;
$subject = "Lehrauftragsgesamtliste ".date('d.m.Y');
$message = "Dies ist eine automatische eMail!\nAnbei die Lehrauftragsgesamtliste vom ".date('d.m.Y');
$fileatttype = "application/xls";
$fileattname = "lehrauftragsgesamtliste_".date('Y_m_d').".xls";
$mail = new mail($to, 'vilesci@'.DOMAIN, $subject, $message);
$mail->addAttachmentBinary($file, $fileatttype, $fileattname);
if($mail->send())
echo "Email mit Lehrauftragsgesamtliste wurde versandt";
else
echo "Fehler beim Versenden der Lehrauftragsgesamtliste";
?>
+59 -51
View File
@@ -30,12 +30,12 @@ require_once('../../include/studiengang.class.php');
if(isset($_GET['studiengang_kz']) && is_numeric($_GET['studiengang_kz']))
$studiengang_kz=$_GET['studiengang_kz'];
else
else
die('studiengangs_kz muss uebergeben werden');
if(isset($_GET['semester']) && is_numeric($_GET['semester']))
$semester=$_GET['semester'];
else
else
$semester='';
$user = get_uid();
@@ -78,46 +78,48 @@ $worksheet->write(2,++$i,"Kosten", $format_bold);
$db = new basis_db();
//Daten holen
$qry = "SELECT * FROM (
SELECT
tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, tbl_mitarbeiter.fixangestellt,
tbl_lehreinheitmitarbeiter.faktor as faktor, tbl_lehreinheitmitarbeiter.stundensatz as stundensatz,
SELECT
tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid,
tbl_mitarbeiter.fixangestellt,
tbl_lehreinheitmitarbeiter.stundensatz as stundensatz,
tbl_lehreinheitmitarbeiter.semesterstunden as semesterstunden
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_mitarbeiter,
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_mitarbeiter,
public.tbl_benutzer, public.tbl_person, lehre.tbl_lehrveranstaltung
WHERE
tbl_person.person_id = tbl_benutzer.person_id AND
tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
studiengang_kz=".$db->db_add_param($studiengang_kz)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null
AND tbl_lehreinheitmitarbeiter.stundensatz<>0 AND tbl_lehreinheitmitarbeiter.faktor<>0 AND
EXISTS (SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)";
WHERE
tbl_person.person_id = tbl_benutzer.person_id AND
tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND
studiengang_kz = ".$db->db_add_param($studiengang_kz)."
AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null
AND EXISTS (SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)";
if($semester!='')
$qry.=" AND semester=".$db->db_add_param($semester);
//Projektsbetreuungen
$qry.= " UNION
SELECT
$qry.= " UNION
SELECT
tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, tbl_mitarbeiter.fixangestellt,
0 as faktor, 0 as stundensatz,
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid,
tbl_mitarbeiter.fixangestellt,
0 as stundensatz,
0 as semesterstunden
FROM
lehre.tbl_lehreinheit, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer,
FROM
lehre.tbl_lehreinheit, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer,
public.tbl_mitarbeiter, public.tbl_benutzer, lehre.tbl_lehrveranstaltung, public.tbl_person
WHERE
tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
tbl_benutzer.person_id=tbl_projektbetreuer.person_id AND
tbl_mitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND
tbl_benutzer.person_id = tbl_projektbetreuer.person_id AND
tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id AND
tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
tbl_person.person_id=tbl_projektbetreuer.person_id";
tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
tbl_person.person_id = tbl_projektbetreuer.person_id";
if($semester!='')
$qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
$qry.=") as foo";
@@ -129,19 +131,19 @@ if($result = $db->db_query($qry))
$gesamtkosten = 0;
$gesamtstunden = 0;
$liste=array();
while($row = $db->db_fetch_object($result))
{
//Gesamtstunden und Kosten ermitteln
if(array_key_exists($row->mitarbeiter_uid, $liste))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden'] = $liste[$row->mitarbeiter_uid]['gesamtstunden'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz*$row->faktor);
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz);
}
else
else
{
$liste[$row->mitarbeiter_uid]['gesamtstunden'] = $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz*$row->faktor;
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz;
}
$liste[$row->mitarbeiter_uid]['personalnummer'] = $row->personalnummer;
$liste[$row->mitarbeiter_uid]['titelpre'] = $row->titelpre;
@@ -149,18 +151,24 @@ if($result = $db->db_query($qry))
$liste[$row->mitarbeiter_uid]['vorname'] = $row->vorname;
$liste[$row->mitarbeiter_uid]['nachname'] = $row->nachname;
}
//Betreuungen fuer Projektarbeiten
foreach ($liste as $uid=>$arr)
{
$qry = "SELECT tbl_projektbetreuer.faktor, tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=".$db->db_add_param($uid)." AND
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND student_uid=vw_student.uid
AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
$qry = "
SELECT
tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
WHERE
tbl_projektbetreuer.person_id=tbl_benutzer.person_id
AND tbl_benutzer.uid=".$db->db_add_param($uid)."
AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id
AND student_uid=vw_student.uid
AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id
AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if($semester!='')
$qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
if($result = $db->db_query($qry))
@@ -168,14 +176,14 @@ if($result = $db->db_query($qry))
while($row = $db->db_fetch_object($result))
{
$liste[$uid]['gesamtstunden'] = $liste[$uid]['gesamtstunden'] + $row->stunden;
$liste[$uid]['gesamtkosten'] = $liste[$uid]['gesamtkosten'] + ($row->stunden*$row->stundensatz*$row->faktor);
$liste[$uid]['gesamtkosten'] = $liste[$uid]['gesamtkosten'] + ($row->stunden*$row->stundensatz);
}
}
}
//Daten ausgeben
foreach ($liste as $row)
{
{
$i=0;
//Studiengang
$worksheet->write($zeile,$i,$studiengang->kuerzel);
@@ -186,24 +194,24 @@ if($result = $db->db_query($qry))
//Vorname
$worksheet->write($zeile,++$i,$row['vorname']);
//Nachname
$worksheet->write($zeile,++$i,$row['nachname']);
$worksheet->write($zeile,++$i,$row['nachname']);
//Fixangestellt
$worksheet->write($zeile,++$i,($row['fixangestellt']=='t'?'Ja':'Nein'));
$worksheet->write($zeile,++$i,($row['fixangestellt']=='t'?'Ja':'Nein'));
//Stunden
$worksheet->write($zeile,++$i,$row['gesamtstunden']);
//Kosten
$worksheet->writeNumber($zeile,++$i,$row['gesamtkosten'], $format_number);
//Kosten zu den Gesamtkosten hinzurechnen
$gesamtkosten = $gesamtkosten + $row['gesamtkosten'];
$gesamtstunden = $gesamtstunden + $row['gesamtstunden'];
$zeile++;
}
//Gesamtkosten und Gesamtstunden anzeigen
$worksheet->writeNumber($zeile,6,$gesamtstunden, $format_bold);
$worksheet->writeNumber($zeile,7,$gesamtkosten, $format_number_bold);
}
$workbook->close();
?>
+341 -306
View File
@@ -33,24 +33,24 @@ require_once('../../include/mail.class.php');
$stsem = new studiensemester();
if(isset($_GET['stsem']))
if (isset($_GET['stsem']))
{
if(check_stsem($_GET['stsem']))
if (check_stsem($_GET['stsem']))
$semester_aktuell = $_GET['stsem'];
else
die('Studiensemester ist ungueltig');
}
else
$semester_aktuell = $stsem->getaktorNext();
$semester_aktuell = $stsem->getaktorNext();
//UID als Kommandozeilenparameter
if(isset($_SERVER['argv']) && isset($_SERVER['argv'][1]) && !strstr($_SERVER['argv'][1],'='))
if (isset($_SERVER['argv']) && isset($_SERVER['argv'][1]) && !strstr($_SERVER['argv'][1], '='))
{
$oe_kurzbz = $_SERVER['argv'][1];
}
else
{
if(isset($_GET['oe_kurzbz']))
if (isset($_GET['oe_kurzbz']))
$oe_kurzbz = $_GET['oe_kurzbz'];
else
{
@@ -61,7 +61,7 @@ else
}
$file = 'lehrauftragsliste.xls';
$file = tempnam('/tmp','lehrauftragsliste_').'.xls';
$file = tempnam('/tmp', 'lehrauftragsliste_').'.xls';
// Creating a workbook
echo 'Lehrauftragslisten werden erstellt. Bitte warten!<BR>';
@@ -72,10 +72,10 @@ $db = new basis_db();
$stg = new studiengang();
$stg->getStudiengaengeFromOe($oe_kurzbz);
$stg_arr=array();
if(count($stg->result)>0)
$stg_arr = array();
if (count($stg->result) > 0)
{
foreach($stg->result as $row)
foreach ($stg->result as $row)
{
$stg_arr[] = $row->studiengang_kz;
}
@@ -91,9 +91,7 @@ $qry_stg = "SELECT distinct studiengang_kz, typ, kurzbz
WHERE
lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND
tbl_lehreinheitmitarbeiter.semesterstunden is not null AND
tbl_lehreinheitmitarbeiter.stundensatz<>0 AND
tbl_lehreinheitmitarbeiter.faktor<>0
tbl_lehreinheitmitarbeiter.semesterstunden is not null
UNION
SELECT
studiengang_kz
@@ -107,16 +105,16 @@ $qry_stg = "SELECT distinct studiengang_kz, typ, kurzbz
) as foo
JOIN public.tbl_studiengang USING (studiengang_kz)
";
if(count($stg_arr)>0)
$qry_stg.=" WHERE studiengang_kz in (".$db->db_implode4SQL($stg_arr).")";
if (count($stg_arr) > 0)
$qry_stg .= " WHERE studiengang_kz in (".$db->db_implode4SQL($stg_arr).")";
$qry_stg.=" ORDER BY typ, kurzbz";
$qry_stg .= " ORDER BY typ, kurzbz";
$liste_gesamt = array();
$gesamt =& $workbook->addWorksheet('Gesamt');
$gesamt->setInputEncoding('utf-8');
$gesamtsheet_row=1;
$gesamtsheet_row = 1;
//Formate Definieren
$format_bold =& $workbook->addFormat();
@@ -127,69 +125,71 @@ $format_colored =& $workbook->addFormat();
$format_colored->setFgColor(10);
$format_number_colored =& $workbook->addFormat();
$format_number_colored->setNumFormat('0,0.00');
$format_number_colored->setNumFormat('0, 0.00');
//$format_number_colored->setNumFormat('0.00');
$format_number_colored->setFgColor(10);
$format_number =& $workbook->addFormat();
$format_number->setNumFormat('0,0.00');
$format_number->setNumFormat('0, 0.00');
$format_number_bold =& $workbook->addFormat();
$format_number_bold->setNumFormat('0,0.00');
$format_number_bold->setNumFormat('0, 0.00');
//$format_number_bold->setNumFormat('0.00');
$format_number_bold->setBold();
$format_normal = & $workbook->addFormat();
if($result_stg = $db->db_query($qry_stg))
if ($result_stg = $db->db_query($qry_stg))
{
while($row_stg = $db->db_fetch_object($result_stg))
while ($row_stg = $db->db_fetch_object($result_stg))
{
//Studiengang laden
$studiengang = new studiengang($row_stg->studiengang_kz);
$studiengang_kz=$row_stg->studiengang_kz;
$studiengang_kz = $row_stg->studiengang_kz;
// Creating a worksheet
$worksheet =& $workbook->addWorksheet($studiengang->kuerzel);
$worksheet->setInputEncoding('utf-8');
//echo "Writing $studiengang->kuerzel ...".microtime()."<br>";
$i=0;
$i = 0;
$gesamtsheet_row++;
//$gesamt->write(0,0,"", $format_colored); Mag er nicht. Wirft Fehler in MS Excel
//$gesamt->write(0,1,"Kennzeichnet Änderungen am Lehrauftrag innerhalb der letzten 31 Tage", $format_normal); Mag er nicht. Wirft Fehler in MS Excel
$worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold);
$gesamt->write($gesamtsheet_row,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold);
$gesamtsheet_row+=2;
$worksheet->write(0, 0, 'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold);
$gesamt->write($gesamtsheet_row, 0, 'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold);
$gesamtsheet_row += 2;
//Ueberschriften
$worksheet->write(2,$i,"Studiengang", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Studiengang", $format_bold);
$worksheet->write(2,++$i,"Personalnr", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Personalnr", $format_bold);
$worksheet->write(2,++$i,"Titel", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Titel", $format_bold);
$worksheet->write(2,++$i,"Vorname", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Vorname", $format_bold);
$worksheet->write(2,++$i,"Familienname", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Familienname", $format_bold);
$worksheet->write(2,++$i,"Fixangestellt", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Fixangestellt", $format_bold);
$worksheet->write(2,++$i,"Disz. Zuordnung", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Disz. Zuordnung", $format_bold);
$worksheet->write(2,++$i,"Department", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Department", $format_bold);
$worksheet->write(2,++$i,"LV-Stunden", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"LV-Stunden", $format_bold);
$worksheet->write(2,++$i,"LV-Kosten", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"LV-Kosten", $format_bold);
$worksheet->write(2,++$i,"Betreuerstunden", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Betreuerstunden", $format_bold);
$worksheet->write(2,++$i,"Betreuerkosten", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Betreuer-Kosten", $format_bold);
$worksheet->write(2,++$i,"Gesamtstunden", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Gesamtstunden", $format_bold);
$worksheet->write(2,++$i,"Gesamtkosten", $format_bold);
$gesamt->write($gesamtsheet_row,$i,"Gesamtkosten", $format_bold);
$worksheet->write(2, $i, "Studiengang", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Studiengang", $format_bold);
$worksheet->write(2, ++$i, "Personalnr", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Personalnr", $format_bold);
$worksheet->write(2, ++$i, "Titel", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Titel", $format_bold);
$worksheet->write(2, ++$i, "Vorname", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Vorname", $format_bold);
$worksheet->write(2, ++$i, "Familienname", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Familienname", $format_bold);
$worksheet->write(2, ++$i, "Fixangestellt", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Fixangestellt", $format_bold);
$worksheet->write(2, ++$i, "Disz. Zuordnung", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Disz. Zuordnung", $format_bold);
$worksheet->write(2, ++$i, "Department", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Department", $format_bold);
$worksheet->write(2, ++$i, "LV-Stunden", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "LV-Stunden", $format_bold);
$worksheet->write(2, ++$i, "LV-Kosten", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "LV-Kosten", $format_bold);
$worksheet->write(2, ++$i, "Betreuerstunden", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Betreuerstunden", $format_bold);
$worksheet->write(2, ++$i, "Betreuerkosten", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Betreuer-Kosten", $format_bold);
$worksheet->write(2, ++$i, "Gesamtstunden", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden", $format_bold);
$worksheet->write(2, ++$i, "Gesamtkosten", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtkosten", $format_bold);
$worksheet->write(2, ++$i, "Gesamtstunden angenommen", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden angenommen", $format_bold);
$worksheet->write(2, ++$i, "Gesamtkosten angenommen", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtkosten angenommen", $format_bold);
//Daten holen
$qry = "SELECT tbl_lehreinheit.*,
tbl_person.vorname,
@@ -198,10 +198,9 @@ if($result_stg = $db->db_query($qry_stg))
tbl_mitarbeiter.personalnummer,
tbl_person.person_id,
tbl_mitarbeiter.mitarbeiter_uid,
tbl_lehreinheitmitarbeiter.faktor AS faktor,
tbl_lehreinheitmitarbeiter.stundensatz AS stundensatz,
tbl_lehreinheitmitarbeiter.semesterstunden AS semesterstunden,
CASE
CASE
WHEN tbl_mitarbeiter.fixangestellt = true
THEN 'Ja'
ELSE 'Nein'
@@ -242,9 +241,9 @@ if($result_stg = $db->db_query($qry_stg))
AND tbl_benutzerfunktion.uid = tbl_benutzer.uid LIMIT 1
)
AND aktiv = true
UNION ALL
SELECT o.oe_kurzbz,
o.oe_parent_kurzbz,
o.organisationseinheittyp_kurzbz
@@ -258,11 +257,19 @@ if($result_stg = $db->db_query($qry_stg))
JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz)
WHERE meine_oes.organisationseinheittyp_kurzbz = 'Department'
) AS department,
CASE
CASE
WHEN COALESCE(tbl_lehreinheitmitarbeiter.updateamum, tbl_lehreinheitmitarbeiter.insertamum) > now() - interval '31 days'
THEN 't'
ELSE 'f'
END AS geaendert
END AS geaendert,
(SELECT
vertragsstatus_kurzbz
FROM
lehre.tbl_vertrag_vertragsstatus
WHERE
vertrag_id = tbl_lehreinheitmitarbeiter.vertrag_id
ORDER BY datum DESC
LIMIT 1) as vertragsstatus
FROM lehre.tbl_lehreinheit,
lehre.tbl_lehreinheitmitarbeiter,
PUBLIC.tbl_mitarbeiter,
@@ -278,8 +285,6 @@ if($result_stg = $db->db_query($qry_stg))
AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)."
AND tbl_lehreinheitmitarbeiter.semesterstunden <> 0
AND tbl_lehreinheitmitarbeiter.semesterstunden IS NOT NULL
AND tbl_lehreinheitmitarbeiter.stundensatz <> 0
AND tbl_lehreinheitmitarbeiter.faktor <> 0
AND EXISTS (
SELECT lehreinheit_id
FROM lehre.tbl_lehreinheitgruppe
@@ -289,28 +294,62 @@ if($result_stg = $db->db_query($qry_stg))
vorname,
tbl_mitarbeiter.mitarbeiter_uid";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
$zeile=3;
$zeile = 3;
$gesamtkosten = 0;
$liste=array();
$liste = array();
$gesamtsheet_row++;
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
//Gesamtstunden und Kosten ermitteln
if(array_key_exists($row->mitarbeiter_uid, $liste))
if (array_key_exists($row->mitarbeiter_uid, $liste))
{
$liste[$row->mitarbeiter_uid]['lvstunden'] = $liste[$row->mitarbeiter_uid]['lvstunden'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['lvkosten'] = $liste[$row->mitarbeiter_uid]['lvkosten'] + ($row->semesterstunden*$row->stundensatz*$row->faktor);
$liste[$row->mitarbeiter_uid]['gesamtstunden'] = $liste[$row->mitarbeiter_uid]['gesamtstunden'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz*$row->faktor);
$liste[$row->mitarbeiter_uid]['lvstunden'] =
$liste[$row->mitarbeiter_uid]['lvstunden'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['lvkosten'] =
$liste[$row->mitarbeiter_uid]['lvkosten'] + ($row->semesterstunden * $row->stundensatz);
$liste[$row->mitarbeiter_uid]['gesamtstunden'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten'] =
$liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden * $row->stundensatz);
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert']))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = 0;
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = 0;
}
if ($row->vertragsstatus == 'akzeptiert')
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] =
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert']
+ ($row->semesterstunden * $row->stundensatz);
}
}
else
{
$liste[$row->mitarbeiter_uid]['lvstunden'] = $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['lvkosten'] = $row->semesterstunden*$row->stundensatz*$row->faktor;
$liste[$row->mitarbeiter_uid]['lvkosten'] = $row->semesterstunden * $row->stundensatz;
$liste[$row->mitarbeiter_uid]['gesamtstunden'] = $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz*$row->faktor;
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden * $row->stundensatz;
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert']))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = 0;
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = 0;
}
if ($row->vertragsstatus == 'akzeptiert')
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] =
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert']
+ ($row->semesterstunden * $row->stundensatz);
}
}
$liste[$row->mitarbeiter_uid]['personalnummer'] = $row->personalnummer;
$liste[$row->mitarbeiter_uid]['titelpre'] = $row->titelpre;
@@ -321,21 +360,27 @@ if($result_stg = $db->db_query($qry_stg))
$liste[$row->mitarbeiter_uid]['department'] = $row->department;
$liste[$row->mitarbeiter_uid]['betreuergesamtstunden'] = 0;
$liste[$row->mitarbeiter_uid]['betreuergesamtkosten'] = 0;
if($row->geaendert=='t')
$liste[$row->mitarbeiter_uid]['geaendert']=true;
if ($row->geaendert == 't')
$liste[$row->mitarbeiter_uid]['geaendert'] = true;
}
//Alle holen die eine Betreuung aber keinen Lehrauftrag haben
$qry = "SELECT
distinct personalnummer, titelpre, vorname, nachname, uid, CASE WHEN fixangestellt = true THEN 'Ja' ELSE 'Nein' END as fixangestellt,
(SELECT tbl_organisationseinheit.organisationseinheittyp_kurzbz||' '||tbl_organisationseinheit.bezeichnung
FROM public.tbl_benutzerfunktion
JOIN public.tbl_organisationseinheit USING (oe_kurzbz)
WHERE funktion_kurzbz='oezuordnung'
AND (datum_von IS NULL OR datum_von <= now())
AND (datum_bis IS NULL OR datum_bis >= now())
AND tbl_benutzerfunktion.uid = tbl_benutzer.uid
LIMIT 1) AS oezuordnung,
$qry = "SELECT
distinct personalnummer, titelpre, vorname, nachname, uid,
CASE WHEN fixangestellt = true THEN 'Ja' ELSE 'Nein' END as fixangestellt,
(SELECT
tbl_organisationseinheit.organisationseinheittyp_kurzbz
|| ' ' || tbl_organisationseinheit.bezeichnung
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_organisationseinheit USING (oe_kurzbz)
WHERE
funktion_kurzbz='oezuordnung'
AND (datum_von IS NULL OR datum_von <= now())
AND (datum_bis IS NULL OR datum_bis >= now())
AND tbl_benutzerfunktion.uid = tbl_benutzer.uid
LIMIT 1
) AS oezuordnung,
(
WITH RECURSIVE meine_oes(oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz) AS (
SELECT oe_kurzbz,
@@ -357,9 +402,9 @@ if($result_stg = $db->db_query($qry_stg))
AND tbl_benutzerfunktion.uid = tbl_benutzer.uid LIMIT 1
)
AND aktiv = true
UNION ALL
SELECT o.oe_kurzbz,
o.oe_parent_kurzbz,
o.organisationseinheittyp_kurzbz
@@ -373,11 +418,11 @@ if($result_stg = $db->db_query($qry_stg))
JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz)
WHERE meine_oes.organisationseinheittyp_kurzbz = 'Department'
) AS department
FROM
lehre.tbl_projektbetreuer, public.tbl_person, public.tbl_benutzer,
public.tbl_mitarbeiter, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit,
FROM
lehre.tbl_projektbetreuer, public.tbl_person, public.tbl_benutzer,
public.tbl_mitarbeiter, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit,
lehre.tbl_lehrveranstaltung
WHERE
WHERE
tbl_projektbetreuer.person_id=tbl_person.person_id AND
tbl_person.person_id=tbl_benutzer.person_id AND
tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
@@ -385,28 +430,31 @@ if($result_stg = $db->db_query($qry_stg))
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
NOT EXISTS (SELECT
mitarbeiter_uid
FROM
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
NOT EXISTS (SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
WHERE
WHERE
mitarbeiter_uid=tbl_benutzer.uid AND
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND
tbl_lehreinheitmitarbeiter.semesterstunden is not null AND
tbl_lehreinheitmitarbeiter.stundensatz<>0 AND
tbl_lehreinheitmitarbeiter.faktor<>0 AND
EXISTS (SELECT lehreinheit_id FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id) AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell).");";
if($result = $db->db_query($qry))
EXISTS (
SELECT lehreinheit_id
FROM
lehre.tbl_lehreinheitgruppe
WHERE
lehreinheit_id=tbl_lehreinheit.lehreinheit_id) AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell).");";
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
if(!isset($liste[$row->uid]))
if (!isset($liste[$row->uid]))
{
$liste[$row->uid]['personalnummer'] = $row->personalnummer;
$liste[$row->uid]['titelpre'] = $row->titelpre;
@@ -415,7 +463,7 @@ if($result_stg = $db->db_query($qry_stg))
$liste[$row->uid]['fixangestellt'] = $row->fixangestellt;
$liste[$row->uid]['oezuordnung'] = $row->oezuordnung;
$liste[$row->uid]['department'] = $row->department;
$liste[$row->uid]['geaendert']=false;
$liste[$row->uid]['geaendert'] = false;
$liste[$row->uid]['gesamtstunden'] = 0;
$liste[$row->uid]['gesamtkosten'] = 0;
$liste[$row->uid]['lvstunden'] = 0;
@@ -425,33 +473,69 @@ if($result_stg = $db->db_query($qry_stg))
}
}
}
//Betreuungen fuer Projektarbeiten
foreach ($liste as $uid=>$arr)
{
$qry = "SELECT tbl_projektbetreuer.faktor,
tbl_projektbetreuer.stunden,
tbl_projektbetreuer.stundensatz,
CASE WHEN COALESCE(tbl_projektbetreuer.updateamum, tbl_projektbetreuer.insertamum)>now()-interval '31 days' THEN 't' ELSE 'f' END as geaendert
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=".$db->db_add_param($uid)." AND
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND student_uid=vw_student.uid
AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if($result = $db->db_query($qry))
//Betreuungen fuer Projektarbeiten
foreach ($liste as $uid => $arr)
{
$qry = "
SELECT
tbl_projektbetreuer.stunden,
tbl_projektbetreuer.stundensatz,
CASE WHEN
COALESCE(tbl_projektbetreuer.updateamum, tbl_projektbetreuer.insertamum) > now() - interval '31 days'
THEN
't'
ELSE
'f'
END as geaendert,
(
SELECT
vertragsstatus_kurzbz
FROM
lehre.tbl_vertrag_vertragsstatus
WHERE
vertrag_id = tbl_projektbetreuer.vertrag_id
ORDER BY datum DESC
LIMIT 1
) as vertragsstatus
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
WHERE
tbl_projektbetreuer.person_id = tbl_benutzer.person_id
AND tbl_benutzer.uid = ".$db->db_add_param($uid)."
AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
AND student_uid = vw_student.uid
AND tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$liste[$uid]['gesamtstunden'] = $liste[$uid]['gesamtstunden'] + $row->stunden;
$liste[$uid]['gesamtkosten'] = $liste[$uid]['gesamtkosten'] + ($row->stunden*$row->stundensatz*$row->faktor);
$liste[$uid]['gesamtkosten'] =
$liste[$uid]['gesamtkosten'] + ($row->stunden * $row->stundensatz);
$liste[$uid]['betreuergesamtstunden'] = $liste[$uid]['betreuergesamtstunden'] + $row->stunden;
$liste[$uid]['betreuergesamtkosten'] = $liste[$uid]['betreuergesamtkosten'] + ($row->stunden*$row->stundensatz*$row->faktor);
if($row->geaendert=='t')
$liste[$uid]['betreuergesamtkosten'] =
$liste[$uid]['betreuergesamtkosten'] + ($row->stunden * $row->stundensatz);
if ($row->geaendert == 't')
{
$liste[$uid]['geaendert']=true;
$liste[$uid]['geaendert'] = true;
}
if (!isset($liste[$uid]['gesamtstunden_akzeptiert']))
{
$liste[$uid]['gesamtstunden_akzeptiert'] = 0;
$liste[$uid]['gesamtkosten_akzeptiert'] = 0;
}
if ($row->vertragsstatus == 'akzeptiert')
{
$liste[$uid]['gesamtstunden_akzeptiert'] =
$liste[$uid]['gesamtstunden_akzeptiert'] + $row->stunden;
$liste[$uid]['gesamtkosten_akzeptiert'] =
$liste[$uid]['gesamtkosten_akzeptiert'] + ($row->stunden * $row->stundensatz);
}
}
}
@@ -459,19 +543,19 @@ if($result_stg = $db->db_query($qry_stg))
$vn = array();
$nn = array();
foreach ($liste as $key => $row)
foreach ($liste as $key => $row)
{
$vn[$key] = $row['vorname'];
$nn[$key] = $row['nachname'];
$vn[$key] = $row['vorname'];
$nn[$key] = $row['nachname'];
}
array_multisort($nn, SORT_ASC, $vn, SORT_ASC, $liste);
//Daten ausgeben
foreach ($liste as $uid=>$row)
foreach ($liste as $uid => $row)
{
$i=0;
if(isset($row['geaendert']) && $row['geaendert']==true)
$i = 0;
if (isset($row['geaendert']) && $row['geaendert'] == true)
{
$format = $format_colored;
$formatnb = $format_number_colored;
@@ -482,231 +566,182 @@ if($result_stg = $db->db_query($qry_stg))
$formatnb = $format_number;
}
//Studiengang
$worksheet->write($zeile,$i,$studiengang->kuerzel, $format);
$gesamt->write($gesamtsheet_row,$i,$studiengang->kuerzel, $format);
$worksheet->write($zeile, $i, $studiengang->kuerzel, $format);
$gesamt->write($gesamtsheet_row, $i, $studiengang->kuerzel, $format);
//Personalnummer
$worksheet->write($zeile,++$i,$row['personalnummer'], $format);
$gesamt->write($gesamtsheet_row,$i,$row['personalnummer'], $format);
$worksheet->write($zeile, ++$i, $row['personalnummer'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['personalnummer'], $format);
//Titel
$worksheet->write($zeile,++$i,$row['titelpre'], $format);
$gesamt->write($gesamtsheet_row,$i,$row['titelpre'], $format);
$worksheet->write($zeile, ++$i, $row['titelpre'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['titelpre'], $format);
//Vorname
$worksheet->write($zeile,++$i,$row['vorname'], $format);
$gesamt->write($gesamtsheet_row,$i,$row['vorname'], $format);
$worksheet->write($zeile, ++$i, $row['vorname'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['vorname'], $format);
//Nachname
$worksheet->write($zeile,++$i,$row['nachname'], $format);
$gesamt->write($gesamtsheet_row,$i,$row['nachname'], $format);
$worksheet->write($zeile, ++$i, $row['nachname'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['nachname'], $format);
//Fixangestellt
$worksheet->write($zeile,++$i,$row['fixangestellt'], $format);
$gesamt->write($gesamtsheet_row,$i,$row['fixangestellt'], $format);
$worksheet->write($zeile, ++$i, $row['fixangestellt'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['fixangestellt'], $format);
//OE-Zuordnung
$worksheet->write($zeile,++$i,$row['oezuordnung'], $format);
$gesamt->write($gesamtsheet_row,$i,$row['oezuordnung'], $format);
$worksheet->write($zeile, ++$i, $row['oezuordnung'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['oezuordnung'], $format);
//Department der OE-Zuordnung
$worksheet->write($zeile,++$i,$row['department'], $format);
$gesamt->write($gesamtsheet_row,$i,$row['department'], $format);
$worksheet->write($zeile, ++$i, $row['department'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['department'], $format);
//LVStunden
$lvstunden = str_replace(',', '.', $row['lvstunden']);
$worksheet->write($zeile,++$i,$lvstunden, $format);
$gesamt->write($gesamtsheet_row,$i,$lvstunden, $format);
$lvstunden = str_replace(', ', '.', $row['lvstunden']);
$worksheet->write($zeile, ++$i, $lvstunden, $format);
$gesamt->write($gesamtsheet_row, $i, $lvstunden, $format);
//LVKosten
$lvkosten = str_replace(',', '.', $row['lvkosten']);
$worksheet->writeNumber($zeile,++$i,$lvkosten, $formatnb);
$gesamt->writeNumber($gesamtsheet_row,$i,$lvkosten, $formatnb);
$lvkosten = str_replace(', ', '.', $row['lvkosten']);
$worksheet->writeNumber($zeile, ++$i, $lvkosten, $formatnb);
$gesamt->writeNumber($gesamtsheet_row, $i, $lvkosten, $formatnb);
//Betreuerstunden
$betreuergesamtstunden = str_replace(',', '.', $row['betreuergesamtstunden']);
$worksheet->write($zeile,++$i,$betreuergesamtstunden, $formatnb);
$gesamt->write($gesamtsheet_row,$i,$betreuergesamtstunden, $formatnb);
$betreuergesamtstunden = str_replace(', ', '.', $row['betreuergesamtstunden']);
$worksheet->write($zeile, ++$i, $betreuergesamtstunden, $formatnb);
$gesamt->write($gesamtsheet_row, $i, $betreuergesamtstunden, $formatnb);
//Betreuerkosten
$betreuergesamtkosten = str_replace(',', '.', $row['betreuergesamtkosten']);
$worksheet->write($zeile,++$i,$betreuergesamtkosten, $formatnb);
$gesamt->write($gesamtsheet_row,$i,$betreuergesamtkosten, $formatnb);
$betreuergesamtkosten = str_replace(', ', '.', $row['betreuergesamtkosten']);
$worksheet->write($zeile, ++$i, $betreuergesamtkosten, $formatnb);
$gesamt->write($gesamtsheet_row, $i, $betreuergesamtkosten, $formatnb);
//Gesamtstunden
$gesamtstunden = str_replace(',', '.', $row['gesamtstunden']);
$worksheet->write($zeile,++$i,$gesamtstunden, $formatnb);
$gesamt->write($gesamtsheet_row,$i,$gesamtstunden, $formatnb);
$gesamtstunden = str_replace(', ', '.', $row['gesamtstunden']);
$worksheet->write($zeile, ++$i, $gesamtstunden, $formatnb);
$gesamt->write($gesamtsheet_row, $i, $gesamtstunden, $formatnb);
//Gesamtkosten
$gesamtkosten_row = str_replace(',', '.', $row['gesamtkosten']);
$worksheet->writeNumber($zeile,++$i,$gesamtkosten_row, $formatnb);
$gesamt->writeNumber($gesamtsheet_row,$i,$gesamtkosten_row, $formatnb);
$gesamtkosten_row = str_replace(', ', '.', $row['gesamtkosten']);
$worksheet->writeNumber($zeile, ++$i, $gesamtkosten_row, $formatnb);
$gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_row, $formatnb);
//Gesamtstunden akzeptiert
$gesamtstunden_akzeptiert = str_replace(', ', '.', $row['gesamtstunden_akzeptiert']);
$worksheet->write($zeile, ++$i, $gesamtstunden_akzeptiert, $formatnb);
$gesamt->write($gesamtsheet_row, $i, $gesamtstunden_akzeptiert, $formatnb);
//Gesamtkosten akzeptiert
$gesamtkosten_akzeptiert_row = str_replace(', ', '.', $row['gesamtkosten_akzeptiert']);
$worksheet->writeNumber($zeile, ++$i, $gesamtkosten_akzeptiert_row, $formatnb);
$gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_akzeptiert_row, $formatnb);
//Kosten zu den Gesamtkosten hinzurechnen
$gesamtkosten = $gesamtkosten + $row['gesamtkosten'];
$zeile++;
$gesamtsheet_row++;
$liste_gesamt[$uid]['personalnummer']=$row['personalnummer'];
$liste_gesamt[$uid]['titelpre']=$row['titelpre'];
$liste_gesamt[$uid]['vorname']=$row['vorname'];
$liste_gesamt[$uid]['nachname']=$row['nachname'];
if(isset($liste_gesamt[$uid]['gesamtstunden']))
$liste_gesamt[$uid]['gesamtstunden']+=$row['gesamtstunden'];
else
$liste_gesamt[$uid]['gesamtstunden']=$row['gesamtstunden'];
if(isset($liste_gesamt[$uid]['gesamtkosten']))
$liste_gesamt[$uid]['gesamtkosten']+=$row['gesamtkosten'];
else
$liste_gesamt[$uid]['gesamtkosten']=$row['gesamtkosten'];
$liste_gesamt[$uid]['personalnummer'] = $row['personalnummer'];
$liste_gesamt[$uid]['titelpre'] = $row['titelpre'];
$liste_gesamt[$uid]['vorname'] = $row['vorname'];
$liste_gesamt[$uid]['nachname'] = $row['nachname'];
if (isset($liste_gesamt[$uid]['gesamtstunden']))
$liste_gesamt[$uid]['gesamtstunden'] += $row['gesamtstunden'];
else
$liste_gesamt[$uid]['gesamtstunden'] = $row['gesamtstunden'];
if (isset($liste_gesamt[$uid]['gesamtkosten']))
$liste_gesamt[$uid]['gesamtkosten'] += $row['gesamtkosten'];
else
$liste_gesamt[$uid]['gesamtkosten'] = $row['gesamtkosten'];
if (isset($liste_gesamt[$uid]['gesamtstunden_akzeptiert']))
$liste_gesamt[$uid]['gesamtstunden_akzeptiert'] += $row['gesamtstunden_akzeptiert'];
else
$liste_gesamt[$uid]['gesamtstunden_akzeptiert'] = $row['gesamtstunden_akzeptiert'];
if (isset($liste_gesamt[$uid]['gesamtkosten_akzeptiert']))
$liste_gesamt[$uid]['gesamtkosten_akzeptiert'] += $row['gesamtkosten_akzeptiert'];
else
$liste_gesamt[$uid]['gesamtkosten_akzeptiert'] = $row['gesamtkosten_akzeptiert'];
}
//Gesamtkosten anzeigen
$worksheet->writeNumber($zeile,13,$gesamtkosten, $format_number_bold);
$gesamt->writeNumber($gesamtsheet_row,13,$gesamtkosten, $format_number_bold);
$worksheet->writeNumber($zeile, 13, $gesamtkosten, $format_number_bold);
$gesamt->writeNumber($gesamtsheet_row, 13, $gesamtkosten, $format_number_bold);
}
}
/*
// Gesamtliste ueber alle Studiengaenge
$worksheet =& $workbook->addWorksheet('Gesamt');
$i=0;
$gesamtkosten=0;
$zeile=3;
$worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' Gesamtliste', $format_bold);
//Ueberschriften
//$worksheet->write(2,$i,"Studiengang", $format_bold);
$worksheet->write(2,++$i,"Personalnr", $format_bold);
$worksheet->write(2,++$i,"Titel", $format_bold);
$worksheet->write(2,++$i,"Vorname", $format_bold);
$worksheet->write(2,++$i,"Familienname", $format_bold);
$worksheet->write(2,++$i,"Stunden", $format_bold);
$worksheet->write(2,++$i,"Kosten", $format_bold);
$vn = array();
$nn = array();
foreach ($liste_gesamt as $key => $row)
{
$vn[$key] = $row['vorname'];
$nn[$key] = $row['nachname'];
}
array_multisort($nn, SORT_ASC, $vn, SORT_ASC, $liste_gesamt);
//Daten ausgeben
foreach ($liste_gesamt as $uid=>$row)
{
$i=0;
if(isset($row['geaendert']) && $row['geaendert']==true)
{
$format = $format_colored;
$formatnb = $format_number_colored;
}
else
{
$format = $format_normal;
$formatnb = $format_number;
}
//Personalnummer
$worksheet->write($zeile,++$i,$row['personalnummer'], $format);
//Titel
$worksheet->write($zeile,++$i,$row['titelpre'], $format);
//Vorname
$worksheet->write($zeile,++$i,$row['vorname'], $format);
//Nachname
$worksheet->write($zeile,++$i,$row['nachname'], $format);
//Stunden
$worksheet->write($zeile,++$i,$row['gesamtstunden'], $format);
//Kosten
$worksheet->writeNumber($zeile,++$i,$row['gesamtkosten'], $formatnb);
//Kosten zu den Gesamtkosten hinzurechnen
$gesamtkosten = $gesamtkosten + $row['gesamtkosten'];
$zeile++;
}
//Gesamtkosten anzeigen
$worksheet->writeNumber($zeile,6,$gesamtkosten, $format_number_bold);
*/
//Betreuerstunden
$worksheet =& $workbook->addWorksheet('Betreuerstunden');
$worksheet->setInputEncoding('utf-8');
$qry = "SELECT
$qry = "SELECT
studiensemester_kurzbz, nachname, vorname, sum(stunden) AS stunden, titelpre,
sum(tbl_projektbetreuer.stundensatz*stunden*tbl_projektbetreuer.faktor)::numeric(8,2) AS euro, person_id
FROM
public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id)
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
sum(tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)::numeric(8, 2) AS euro, person_id
FROM
public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id)
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
WHERE
studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
stunden>0";
WHERE
studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND
stunden > 0";
if(count($stg_arr)>0)
$qry.=" AND tbl_lehrveranstaltung.studiengang_kz IN(".$db->db_implode4SQL($stg_arr).")";
if (count($stg_arr) > 0)
$qry .= " AND tbl_lehrveranstaltung.studiengang_kz IN(".$db->db_implode4SQL($stg_arr).")";
$qry.="
GROUP BY
studiensemester_kurzbz,person_id,nachname,vorname, titelpre
ORDER BY
nachname,vorname
$qry .= "
GROUP BY
studiensemester_kurzbz, person_id, nachname, vorname, titelpre
ORDER BY
nachname, vorname
";
$i=0;
$gesamtkosten=0;
$i = 0;
$gesamtkosten = 0;
$worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' Betreuerstunden', $format_bold);
$worksheet->write(0, 0, 'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' Betreuerstunden', $format_bold);
//Ueberschriften
//$worksheet->write(2,$i,"Studiengang", $format_bold);
$worksheet->write(2,++$i,"Titel", $format_bold);
$worksheet->write(2,++$i,"Familienname", $format_bold);
$worksheet->write(2,++$i,"Vorname", $format_bold);
$worksheet->write(2,++$i,"Stunden", $format_bold);
$worksheet->write(2,++$i,"Kosten", $format_bold);
//$worksheet->write(2, $i, "Studiengang", $format_bold);
$worksheet->write(2, ++$i, "Titel", $format_bold);
$worksheet->write(2, ++$i, "Familienname", $format_bold);
$worksheet->write(2, ++$i, "Vorname", $format_bold);
$worksheet->write(2, ++$i, "Stunden", $format_bold);
$worksheet->write(2, ++$i, "Kosten", $format_bold);
$format = $format_normal;
$formatnb = $format_number;
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
$zeile=3;
while($row = $db->db_fetch_object($result))
$zeile = 3;
while ($row = $db->db_fetch_object($result))
{
$i=0;
$i = 0;
//Studiensemester
$worksheet->write($zeile,++$i,$row->titelpre, $format);
$worksheet->write($zeile, ++$i, $row->titelpre, $format);
//Vorname
$worksheet->write($zeile,++$i,$row->nachname, $format);
$worksheet->write($zeile, ++$i, $row->nachname, $format);
//Nachname
$worksheet->write($zeile,++$i,$row->vorname, $format);
$worksheet->write($zeile, ++$i, $row->vorname, $format);
//Stunden
$worksheet->writeNumber($zeile,++$i,$row->stunden, $formatnb);
$worksheet->writeNumber($zeile, ++$i, $row->stunden, $formatnb);
//Kosten
$worksheet->writeNumber($zeile,++$i,$row->euro, $formatnb);
$worksheet->writeNumber($zeile, ++$i, $row->euro, $formatnb);
$zeile++;
$gesamtkosten = $gesamtkosten + $row->euro;
}
//Gesamtkosten anzeigen
$worksheet->writeNumber($zeile,5,$gesamtkosten, $format_number_bold);
$worksheet->writeNumber($zeile, 5, $gesamtkosten, $format_number_bold);
}
$workbook->close();
//Mail versenden mit Excel File im Anhang
$subject = "Lehrauftragsliste ".date('d.m.Y');
$message = "Dies ist eine automatische eMail!\n\nAnbei die Lehrauftragslisten vom ".date('d.m.Y');
$message.= "\n\nJederzeit abrufbar unter ".APP_ROOT.'content/statistik/lehrauftragsliste_mail.xls.php';
if($oe_kurzbz!='')
$message.="?oe_kurzbz=".$oe_kurzbz;
$message .= "\n\nJederzeit abrufbar unter ".APP_ROOT.'content/statistik/lehrauftragsliste_mail.xls.php';
if ($oe_kurzbz != '')
$message .= "?oe_kurzbz=".$oe_kurzbz;
$fileatttype = "application/xls";
$fileattname = "lehrauftragsliste_".date('Y_m_d').".xls";
$empfaenger = MAIL_GST;
if($oe_kurzbz=='lehrgang')
if ($oe_kurzbz == 'lehrgang')
$empfaenger = MAIL_LG;
$mail = new mail($empfaenger, 'noreply@'.DOMAIN, $subject, $message);
$mail->addAttachmentBinary($file, $fileatttype, $fileattname);
if($mail->send())
echo 'Email mit Lehrauftragslisten wurde an '.$empfaenger.' versandt!';
else
echo "Fehler beim Versenden der Lehrauftragsliste";
}
$mail = new mail($empfaenger, 'noreply@'.DOMAIN, $subject, $message);
$mail->addAttachmentBinary($file, $fileatttype, $fileattname);
?>
if ($mail->send())
echo 'Email mit Lehrauftragslisten wurde an '.$empfaenger.' versandt!';
else
echo "Fehler beim Versenden der Lehrauftragsliste";
}
-281
View File
@@ -1,281 +0,0 @@
<?php
/* Copyright (C) 2007 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* 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('../../config/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');
$ws='';
$ss='';
$db = new basis_db();
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
{
$stsem_obj = new studiensemester();
$stsem = $stsem_obj->getaktorNext();
}
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body>';
if(isset($_GET['details']) && isset($_GET['fachbereich_kurzbz']))
{
$ss = (isset($_GET['ss'])?$_GET['ss']:'');
$ws = (isset($_GET['ws'])?$_GET['ws']:'');
$fachbereich = new fachbereich();
if(!$fachbereich->load($_GET['fachbereich_kurzbz']))
die('Institut existiert nicht');
echo "<h2>LektorInnenstatistik (Lehrauftrag ohne Betreuungen) $ws / $ss - ".$fachbereich->bezeichnung.'</h2>';
$qry = "SELECT distinct mitarbeiter_uid, anrede, nachname, vorname, titelpre, titelpost,
(SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_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) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND fixangestellt AND geschlecht='m') a) AS fix_m,
(SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_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) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND fixangestellt AND geschlecht='w') a) AS fix_w
FROM lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_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)
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(".$db->db_add_param($ws).",".$db->db_add_param($ss).")
AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND fixangestellt
ORDER BY nachname, vorname";
if($db->db_query($qry))
{
$ausgabe='';
$fix_m=0;
$fix_w=0;
while($row = $db->db_fetch_object())
{
$ausgabe.= '<tr>';
$ausgabe.= "<td>$row->anrede</td>";
$ausgabe.= "<td>$row->titelpre</td>";
$ausgabe.= "<td>$row->nachname</td>";
$ausgabe.= "<td>$row->vorname</td>";
$ausgabe.= "<td>$row->titelpost</td>";
$ausgabe.= "</tr>";
$fix_w=$row->fix_w;
$fix_m=$row->fix_m;
}
echo (($fix_m)+($fix_w))." Fixangestellte<br>M: ".$fix_m." <br>W: ".$fix_w."
<table class='liste table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th>Anrede</th>
<th>TitelPre</th>
<th>Nachname</th>
<th>Vorname</th>
<th>Titelpost</th>
</tr>
</thead>
<tbody>
";
echo $ausgabe;
}
echo '</tbody></table>';
$qry = "SELECT distinct mitarbeiter_uid, anrede, nachname, vorname, titelpre, titelpost,
(SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND NOT fixangestellt AND geschlecht='m') a) AS not_fix_m,
(SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND NOT fixangestellt AND geschlecht='w') a) AS not_fix_w
FROM lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz)
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(".$db->db_add_param($ws).",".$db->db_add_param($ss).")
AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND NOT fixangestellt
ORDER BY nachname, vorname";
if($db->db_query($qry))
{
$ausgabe='';
$not_fix_m=0;
$not_fix_w=0;
while($row = $db->db_fetch_object())
{
$ausgabe.= '<tr>';
$ausgabe.= "<td>$row->anrede</td>";
$ausgabe.= "<td>$row->titelpre</td>";
$ausgabe.= "<td>$row->nachname</td>";
$ausgabe.= "<td>$row->vorname</td>";
$ausgabe.= "<td>$row->titelpost</td>";
$ausgabe.= "</tr>";
$not_fix_w=$row->not_fix_w;
$not_fix_m=$row->not_fix_m;
}
echo "<br /><br />".(($not_fix_m)+($not_fix_w))." Freiangestellte<br>M: ".$not_fix_m." <br>W: ".$not_fix_w."
<table class='liste table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th>Anrede</th>
<th>TitelPre</th>
<th>Nachname</th>
<th>Vorname</th>
<th>Titelpost</th>
</tr>
</thead>
<tbody>
";
echo $ausgabe;
}
echo '</tbody></table>';
}
else
{
if(substr($stsem, 0, 2)=='WS')
{
$stsem_obj = new studiensemester();
$ss = $stsem_obj->getNextFrom($stsem);
$ws = $stsem;
}
else
{
$stsem_obj = new studiensemester();
$ws = $stsem_obj->getPreviousFrom($stsem);
$ss = $stsem;
}
echo "<h2>LektorInnenstatistik (Lehrauftrag ohne Betreuungen) $ws / $ss";
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
echo '</h2>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
$studsem = new studiensemester();
$studsem->getAll();
foreach ($studsem->studiensemester as $stsemester)
{
if($stsemester->studiensemester_kurzbz==$ws)
$selected='selected';
else
$selected='';
if(substr($stsemester->studiensemester_kurzbz, 0, 2)=='WS')
{
$stsem_obj = new studiensemester();
$ss1 = $stsem_obj->getNextFrom($stsemester->studiensemester_kurzbz);
$ws1 = $stsemester->studiensemester_kurzbz;
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$ws1.'/'.$ss1.'</option>';
}
}
echo '</SELECT>
<input type="submit" value="Anzeigen" /></form><br><br>';
if($stsem!='')
{
echo "<table class='liste table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th></th>
<th colspan=4>Anzahl</th>
<th colspan=2>ALVS</th>
</tr>
<tr>
<th>Institute</th>
<th colspan=2>fix</th>
<th colspan=2>extern</th>
<th>$ws</th>
<th>$ss</th>
</tr>
<tr>
<th></th>
<th>M</th>
<th>W</th>
<th>M</th>
<th>W</th>
<th colspan=2></th>
</tr>
</thead>
<tbody>
";
$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_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=a.fachbereich_kurzbz AND fixangestellt AND geschlecht='m') a) AS fix_m,
(SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=a.fachbereich_kurzbz AND fixangestellt AND geschlecht='w') a) AS fix_w,
(SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=a.fachbereich_kurzbz AND NOT fixangestellt AND geschlecht='m') a) AS extern_m,
(SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=a.fachbereich_kurzbz AND NOT fixangestellt AND geschlecht='w') a) AS extern_w,
(SELECT sum(tbl_lehreinheitmitarbeiter.semesterstunden) FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_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 studiensemester_kurzbz=".$db->db_add_param($ws)." AND fachbereich_kurzbz=a.fachbereich_kurzbz AND faktor>0 AND stundensatz>0) AS ws,
(SELECT sum(tbl_lehreinheitmitarbeiter.semesterstunden) FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_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 studiensemester_kurzbz=".$db->db_add_param($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";
if($db->db_query($qry))
{
//$gesamt_fix=0;
//$gesamt_extern=0;
$gesamt_ws=0;
$gesamt_ss=0;
while($row = $db->db_fetch_object())
{
if(($row->fix_m==0 && $row->fix_w==0) && ($row->extern_m==0 && $row->extern_w==0))
{
continue;
}
echo '<tr>';
echo "<td><a href='".$_SERVER['PHP_SELF']."?details=true&fachbereich_kurzbz=$row->fachbereich_kurzbz&ss=$ss&ws=$ws'>$row->bezeichnung</a></td>";
echo "<td align='center'>$row->fix_m</td>";
echo "<td align='center'>$row->fix_w</td>";
echo "<td align='center'>$row->extern_m</td>";
echo "<td align='center'>$row->extern_w</td>";
echo "<td align='center'>$row->ws</td>";
echo "<td align='center'>$row->ss</td>";
echo "</tr>";
//$gesamt_fix+=$row->fix;
//$gesamt_extern+=$row->extern;
$gesamt_ws+=$row->ws;
$gesamt_ss+=$row->ss;
}
echo '<tr>';
echo '<td><b>SUMME</b></td>';
echo "<td align='center'>&nbsp;</td>";
echo "<td align='center'>&nbsp;</td>";
echo "<td align='center'>&nbsp;</td>";
echo "<td align='center'>&nbsp;</td>";
echo "<td align='center'><b>$gesamt_ws</b></td>";
echo "<td align='center'><b>$gesamt_ss</b></td>";
echo "</tr>";
}
echo '</tbody></table>';
}
}
?>
</body>
</html>
+56 -36
View File
@@ -107,12 +107,16 @@ elseif($oe_kurzbz!='')
if($studiengang_kz!='') //Liste nach Studiengang
{
$qry = "SELECT
tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung,
tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_lehrveranstaltung.ects as ects, tbl_lehrveranstaltung.semesterstunden as semesterstunden,
lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, tbl_lehreinheit.lehreinheit_id as lehreinheit_id,
tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden,
tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, tbl_lehreinheitmitarbeiter.faktor as lektor_faktor,
tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester
lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung,
tbl_lehreinheit.lehreinheit_id as lehreinheit_id,
tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz,
tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden,
tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz,
tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz,
tbl_lehrveranstaltung.semester
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter,
lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzer, public.tbl_person
@@ -126,17 +130,25 @@ if($studiengang_kz!='') //Liste nach Studiengang
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell);
if($semester!='')
$qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
$qry.=" ORDER BY tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id";
$qry.=" ORDER BY
tbl_lehrveranstaltung.semester,
tbl_lehrveranstaltung.bezeichnung,
tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_lehreinheit.lehreinheit_id";
}
elseif($mitarbeiter_uid!='') // Liste nach Mitarbeiter
{
$qry = "SELECT
tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
$qry = "SELECT
tbl_lehrveranstaltung.kurzbz as kurzbz,
tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_lehrveranstaltung.ects as ects, tbl_lehrveranstaltung.semesterstunden as semesterstunden,
lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, tbl_lehreinheit.lehreinheit_id as lehreinheit_id,
tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden,
tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, tbl_lehreinheitmitarbeiter.faktor as lektor_faktor,
tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester
lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung,
tbl_lehreinheit.lehreinheit_id as lehreinheit_id,
tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz,
tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden,
tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz,
tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz,
tbl_lehrveranstaltung.semester
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter,
lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzer, public.tbl_person
@@ -148,17 +160,25 @@ $qry = "SELECT
tbl_person.person_id=tbl_benutzer.person_id AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$db->db_add_param($mitarbeiter_uid)." AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell);
$qry.=" ORDER BY tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id";
$qry.=" ORDER BY
tbl_lehrveranstaltung.semester,
tbl_lehrveranstaltung.bezeichnung,
tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_lehreinheit.lehreinheit_id";
}
elseif($oe_kurzbz!='') // Liste nach Organisationseinheit
{
$qry = "SELECT
tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
$qry = "SELECT
tbl_lehrveranstaltung.kurzbz as kurzbz,
tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_lehrveranstaltung.ects as ects, tbl_lehrveranstaltung.semesterstunden as semesterstunden,
lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, tbl_lehreinheit.lehreinheit_id as lehreinheit_id,
tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden,
tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, tbl_lehreinheitmitarbeiter.faktor as lektor_faktor,
tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester
lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung,
tbl_lehreinheit.lehreinheit_id as lehreinheit_id,
tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz,
tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden,
tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz,
tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz,
tbl_lehrveranstaltung.semester
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter,
lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzer, public.tbl_person
@@ -170,7 +190,12 @@ $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
die('Fehlerhafte Parameteruebergabe');
@@ -248,10 +273,10 @@ if($result = $db->db_query($qry))
echo "<td align='right'>$row->lektor_semesterstunden</td>";
echo "<td>$gruppen</td>";
echo "<td>$row->nachname $row->vorname</td>";
echo "<td align='right'>".number_format(($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden),2,',','.')." €</td>";
echo "<td align='right'>".number_format(($row->lektor_stundensatz*$row->lektor_semesterstunden),2,',','.')." €</td>";
echo '<td>&nbsp;</td>';
echo '</tr>';
$kosten_lv +=($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden);
$kosten_lv +=($row->lektor_stundensatz*$row->lektor_semesterstunden);
$stunden_lv +=$row->lektor_semesterstunden;
}
$gesamtkosten_lva +=$kosten_lv;
@@ -273,15 +298,15 @@ if($studiengang_kz!='')
$qry = "SELECT
*
FROM
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, public.tbl_person
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
lehre.tbl_projektbetreuer, public.tbl_person
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_person.person_id=tbl_projektbetreuer.person_id AND
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
";
if($semester!='')
@@ -299,8 +324,7 @@ elseif($mitarbeiter_uid!='')
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
tbl_person.person_id=tbl_projektbetreuer.person_id AND
tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER)." AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
";
}
elseif($oe_kurzbz!='')
@@ -308,7 +332,8 @@ elseif($oe_kurzbz!='')
$qry = "SELECT
*
FROM
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach
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
@@ -316,8 +341,7 @@ elseif($oe_kurzbz!='')
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND
tbl_person.person_id=tbl_projektbetreuer.person_id AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." AND
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0
lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)."
";
}
else
@@ -332,8 +356,6 @@ if($result = $db->db_query($qry))
echo '<tr>';
echo '<th>&nbsp;</th>';
echo "<th colspan='3'>Titel</th>";
//echo "<th>&nbsp;</th>";
//echo '<th>&nbsp;</th>';
echo "<th align='right'>Stunden</th>";
echo "<th>Student</th>";
echo "<th>Lektor</th>";
@@ -348,17 +370,15 @@ if($result = $db->db_query($qry))
echo '<tr class="liste1">';
echo '<td>&nbsp;</td>';
echo "<td colspan='3'>$row->titel</td>";
//echo "<td>&nbsp;</td>";
//echo '<td>&nbsp;</td>';
echo "<td align='right'>".number_format($row->stunden,2)."</td>";
$benutzer = new benutzer();
$benutzer->load($row->student_uid);
echo "<td>$benutzer->nachname $benutzer->vorname</td>";
echo "<td>$row->nachname $row->vorname</td>";
echo "<td align='right'>".number_format(($row->stundensatz*$row->faktor*$row->stunden),2,',','.')." €</td>";
echo "<td align='right'>".number_format(($row->stundensatz*$row->stunden),2,',','.')." €</td>";
echo '<td>&nbsp;</td>';
echo '</tr>';
$gesamtkosten_betreuung +=($row->stundensatz*$row->faktor*$row->stunden);
$gesamtkosten_betreuung +=($row->stundensatz*$row->stunden);
$stunden_betreuung+=$row->stunden;
}
+4 -11
View File
@@ -108,7 +108,6 @@ SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung,
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,
@@ -154,7 +153,6 @@ SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung,
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)
WHERE tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz);
if($studiengang_kz!='')
@@ -227,8 +225,6 @@ $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;
@@ -248,7 +244,6 @@ if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$spalte=0;
$zeile++;
@@ -387,7 +382,6 @@ if($result = $db->db_query($qry))
student_uid,
stunden,
tbl_projektbetreuer.stundensatz,
tbl_projektbetreuer.faktor,
tbl_projektbetreuer.person_id
FROM lehre.tbl_projektarbeit,
lehre.tbl_lehreinheit,
@@ -397,11 +391,8 @@ if($result = $db->db_query($qry))
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_lehrveranstaltung.lehrveranstaltung_id
AND tbl_person.person_id = tbl_projektbetreuer.person_id
AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)."
AND (tbl_projektbetreuer.stundensatz * tbl_projektbetreuer.stunden) > 0
";
AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz);
if($uid!=='')
{
@@ -415,6 +406,9 @@ if($result = $db->db_query($qry))
if($studiengang_kz!='')
$qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if($semester!='')
$qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
if($result = $db->db_query($qry))
{
$spalte=0;
@@ -459,7 +453,6 @@ if($result = $db->db_query($qry))
$fixangestellt = 'Extern';
}
//Studiengang
$worksheet->write($zeile,$spalte,$stg_obj->kuerzel_arr[$row->studiengang_kz]);
if($maxlength[$spalte]<mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]))
-340
View File
@@ -1,340 +0,0 @@
<?php
/* Copyright (C) 2006 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
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/studiensemester.class.php');
require_once('../../include/Excel/excel.php');
$user = get_uid();
loadVariables($user);
$db = new basis_db();
$stg_arr = array();
$studiengang = new studiengang();
$studiengang->getAll();
foreach ($studiengang->result as $row)
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
// ****** FUNKTIONEN ******* //
function drawBetreuungen()
{
global $gesamtkosten_lva, $zeile, $spalte, $stsem1, $stsem2, $last_fb, $worksheet;
global $format_bold, $format_colored, $gesamtkosten_betreuung;
global $gesamtkosten_fb, $format_number, $format_number1;
$db = new basis_db();
$qry_fb = "SELECT
*
FROM
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer,
public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_fachbereich
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
tbl_person.person_id=tbl_projektbetreuer.person_id AND
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem1)." OR
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem2).") AND
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 AND
lehrfach.oe_kurzbz = tbl_fachbereich.oe_kurzbz AND
tbl_fachbereich.fachbereich_kurzbz=".$db->db_add_param($last_fb)."
";
$gesamtkosten_betreuung=0;
if($result_fb = $db->db_query($qry_fb))
{
$spalte=11;
$worksheet->writeNumber($zeile, ++$spalte, $gesamtkosten_lva, $format_number);
if($db->db_num_rows($result_fb)>0)
{
$zeile++;
$zeile++;
$worksheet->write($zeile, 1, "Betreuungen", $format_bold);
$spalte=2;
$worksheet->write($zeile, $spalte, "Titel", $format_colored);
$worksheet->write($zeile, ++$spalte, "", $format_colored);
$worksheet->write($zeile, ++$spalte, "", $format_colored);
$worksheet->write($zeile, ++$spalte, "", $format_colored);
$worksheet->write($zeile, ++$spalte, "Stunden", $format_colored);
$worksheet->write($zeile, ++$spalte, "Summe", $format_colored);
$worksheet->write($zeile, ++$spalte, "Student", $format_colored);
$worksheet->write($zeile, ++$spalte, "Lektor", $format_colored);
$worksheet->write($zeile, ++$spalte, "Kosten", $format_colored);
$stunden_betreuung=0;
while($row_fb = $db->db_fetch_object($result_fb))
{
$zeile++;
$spalte=2;
$worksheet->write($zeile, $spalte, $row_fb->titel);
$spalte+=2;
$worksheet->write($zeile, ++$spalte, '');
$worksheet->write($zeile, ++$spalte, number_format($row_fb->stunden,2));
$worksheet->write($zeile, ++$spalte, '');
$benutzer = new benutzer();
$benutzer->load($row_fb->student_uid);
$worksheet->write($zeile, ++$spalte, "$benutzer->nachname $benutzer->vorname");
$worksheet->write($zeile, ++$spalte, "$row_fb->nachname $row_fb->vorname");
$worksheet->writeNumber($zeile, ++$spalte, ($row_fb->stundensatz*$row_fb->faktor*$row_fb->stunden), $format_number1);
$gesamtkosten_betreuung +=($row_fb->stundensatz*$row_fb->faktor*$row_fb->stunden);
$stunden_betreuung+=$row_fb->stunden;
}
$zeile++;
$spalte=7;
$worksheet->writeNumber($zeile, $spalte, $stunden_betreuung, $format_number);
$spalte=11;
$worksheet->writeNumber($zeile, $spalte, $gesamtkosten_betreuung, $format_number);
$spalte=12;
$worksheet->writeNumber($zeile, $spalte, $gesamtkosten_betreuung, $format_number);
}
$gesamtkosten_fb += ($gesamtkosten_betreuung+$gesamtkosten_lva);
$gesamtkosten_lva=0;
}
else
echo 'Error';
}
// ****** END FUNKTIONEN ******* //
$stsem1 = $semester_aktuell;
$stsem_obj = new studiensemester();
if(substr($stsem1,0,1)=='S') //Eigentlich gehoert =='W', nur kurzfristige aenderung
$stsem2 = $stsem_obj->getNextFrom($stsem1);
else
$stsem2 = $stsem_obj->getPreviousFrom($stsem1);
$qry = "SELECT
tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung,
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.ects as ects,
tbl_lehrveranstaltung.semesterstunden as semesterstunden, lehrfach.kurzbz as lf_kurzbz,
lehrfach.bezeichnung as lf_bezeichnung, tbl_lehreinheit.lehreinheit_id as lehreinheit_id,
tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz,
tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden,
tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz,
tbl_lehreinheitmitarbeiter.faktor as lektor_faktor,
tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz,
tbl_lehrveranstaltung.semester,
tbl_fachbereich.fachbereich_kurzbz
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter,
lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzer, public.tbl_person, public.tbl_fachbereich
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
lehrfach.lehrveranstaltung_id=tbl_lehreinheit.lehrfach_id AND
tbl_benutzer.uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid AND
tbl_person.person_id=tbl_benutzer.person_id AND
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem1)." OR
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem2).") AND
tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz
ORDER BY
tbl_fachbereich.fachbereich_kurzbz,
tbl_lehrveranstaltung.studiengang_kz,
tbl_lehrveranstaltung.semester,
tbl_lehrveranstaltung.bezeichnung,
tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_lehreinheit.lehreinheit_id";
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send("LVPlanungGesamtSJ". "_" . date("Y_m_d") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("LV-Planung Gesamt");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_colored =& $workbook->addFormat();
$format_colored->setFgColor(22);
$format_colored->setBorder(1);
$format_colored->setBold();
$format_colored1 =& $workbook->addFormat();
$format_colored1->setFgColor(22);
$format_colored1->setBorder(1);
$format_colored1->setBold();
$format_number =& $workbook->addFormat();
$format_number->setNumFormat("#,##0.00");
$format_number->setBold();
$format_number1 =& $workbook->addFormat();
$format_number1->setNumFormat("#,##0.00");
$worksheet->write(0, 0,"LV-Planung für $stsem1/$stsem2", $format_bold);
$zeile=3;
$spalte=0;
$worksheet->write($zeile, $spalte,'Institut', $format_colored1);
$worksheet->write($zeile, ++$spalte,'Kurzbz', $format_colored1);
$worksheet->write($zeile, ++$spalte,'Bezeichnung', $format_colored1);
$worksheet->write($zeile, ++$spalte,'Lehrform', $format_colored1);
$worksheet->write($zeile, ++$spalte,'ECTS', $format_colored1);
$worksheet->write($zeile, ++$spalte,'StudentenStunden', $format_colored1);
$worksheet->write($zeile, ++$spalte,'LektorenStunden', $format_colored1);
$worksheet->write($zeile, ++$spalte,'GesamtStunden', $format_colored1);
$worksheet->write($zeile, ++$spalte,'Gruppen', $format_colored1);
$worksheet->write($zeile, ++$spalte,'Lektor', $format_colored1);
$worksheet->write($zeile, ++$spalte,'Kosten', $format_colored1);
$worksheet->write($zeile, ++$spalte,'Summe', $format_colored1);
$worksheet->write($zeile, ++$spalte,'Gesamtkosten', $format_colored1);
if($result = $db->db_query($qry))
{
$last_lva='';
$stunden_lv=0;
$kosten_lv=0;
$gesamtkosten_lva=0;
$gesamtkosten_fb=0;
$last_fb='';
while($row = $db->db_fetch_object($result))
{
if($last_lva!=$row->lehrveranstaltung_id)
{
if($last_lva!='')
{
$zeile++;
$spalte=7;
$worksheet->write($zeile, $spalte,sprintf('%.2f',$stunden_lv), $format_bold);
$spalte=11;
$worksheet->writeNumber($zeile, $spalte, $kosten_lv, $format_number);
$gesamtkosten_lva +=$kosten_lv;
$stunden_lv=0;
$kosten_lv=0;
}
if($last_fb!=$row->fachbereich_kurzbz && $last_fb!='')
{
drawBetreuungen();
}
if($last_fb=='' || $last_fb!=$row->fachbereich_kurzbz)
{
$zeile++;
$worksheet->write($zeile, 0, $row->fachbereich_kurzbz, $format_bold);
$zeile++;
$last_fb = $row->fachbereich_kurzbz;
}
$last_lva=$row->lehrveranstaltung_id;
$zeile++;
$spalte=0;
$worksheet->write($zeile, $spalte, $row->fachbereich_kurzbz, $format_colored);
$worksheet->write($zeile, ++$spalte, $stg_arr[$row->studiengang_kz].'-'.$row->semester.' '.$row->kurzbz, $format_colored);
$worksheet->write($zeile, ++$spalte,$row->bezeichnung, $format_colored);
$worksheet->write($zeile, ++$spalte,"", $format_colored);
$worksheet->write($zeile, ++$spalte, $row->ects, $format_colored);
$worksheet->write($zeile, ++$spalte,$row->semesterstunden, $format_colored);
$worksheet->write($zeile, ++$spalte,"", $format_colored);
$worksheet->write($zeile, ++$spalte,"", $format_colored);
$worksheet->write($zeile, ++$spalte,"", $format_colored);
$worksheet->write($zeile, ++$spalte,"", $format_colored);
$worksheet->write($zeile, ++$spalte,"", $format_colored);
$worksheet->write($zeile, ++$spalte,"", $format_colored);
$worksheet->write($zeile, ++$spalte,"", $format_colored);
}
$gruppen='';
$qry_grp = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id);
if($result_grp = $db->db_query($qry_grp))
{
while($row_grp = $db->db_fetch_object($result_grp))
{
if($gruppen=='')
$gruppen = ($row_grp->gruppe_kurzbz!=''?$row_grp->gruppe_kurzbz:trim($stg_arr[$row_grp->studiengang_kz].'-'.$row_grp->semester.$row_grp->verband.$row_grp->gruppe));
else
$gruppen .= ','.($row_grp->gruppe_kurzbz!=''?$row_grp->gruppe_kurzbz:trim($stg_arr[$row_grp->studiengang_kz].'-'.$row_grp->semester.$row_grp->verband.$row_grp->gruppe));
}
}
$zeile++;
$spalte=1;
$worksheet->write($zeile, ++$spalte, "$row->lf_bezeichnung ($row->lf_kurzbz)");
$worksheet->write($zeile, ++$spalte, $row->lehrform_kurzbz);
$spalte++;
$worksheet->write($zeile, ++$spalte, "");
$worksheet->write($zeile, ++$spalte, $row->lektor_semesterstunden);
$worksheet->write($zeile, ++$spalte, "");
$worksheet->write($zeile, ++$spalte, $gruppen);
$worksheet->write($zeile, ++$spalte, "$row->nachname $row->vorname");
$worksheet->writeNumber($zeile, ++$spalte, ($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden), $format_number1);
$kosten_lv +=($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden);
$stunden_lv +=$row->lektor_semesterstunden;
}
$zeile++;
$spalte=7;
$worksheet->write($zeile, $spalte,sprintf('%.2f',$stunden_lv), $format_bold);
$spalte=11;
$worksheet->writeNumber($zeile, $spalte, $kosten_lv, $format_number);
$gesamtkosten_lva +=$kosten_lv;
$stunden_lv=0;
$kosten_lv=0;
drawBetreuungen();
}
$zeile++;
$spalte=8;
$worksheet->write($zeile, $spalte, 'Gesamt:', $format_bold);
$spalte=12;
$worksheet->writeNumber($zeile, $spalte, $gesamtkosten_fb, $format_number);
$worksheet->setColumn(0, 0, 30); //FB
$worksheet->setColumn(0, 1, 15); //Kurzbz
$worksheet->setColumn(0, 2, 40); //bezeichnung
$worksheet->setColumn(0, 3, 5); //Lehrform
$worksheet->setColumn(0, 4, 5); //ECTS
$worksheet->setColumn(0, 5, 10); //Studentenstuden
$worksheet->setColumn(0, 6, 10); //LektorStunden
$worksheet->setColumn(0, 7, 10); //Gesamtstunden
$worksheet->setColumn(0, 8, 10); //Gruppen
$worksheet->setColumn(0, 9, 10); //Lektor
$worksheet->setColumn(0, 10, 10); //Kosten
$worksheet->setColumn(0, 11, 20); //Gesamtkosten
$workbook->close();
?>
+128 -120
View File
@@ -20,9 +20,7 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Exportiert die Studentendaten in ein Excel File.
* Die zu exportierenden Spalten werden per GET uebergeben.
* Die Adressen werden immer dazugehaengt
* Exportiert die Projektarbeiten inklusive deren Betreuern
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
@@ -33,140 +31,150 @@ $db = new basis_db();
$user = get_uid();
$datum_obj = new datum();
loadVariables($user);
//Parameter holen
$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'';
$semester = isset($_GET['semester'])?$_GET['semester']:'';
$verband = isset($_GET['verband'])?$_GET['verband']:'';
$gruppe = isset($_GET['gruppe'])?$_GET['gruppe']:'';
$gruppe_kurzbz = isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:'';
$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'';
$maxlength= array();
$zeile=1;
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send("Projektarbeit". "_" . date("d_m_Y") . ".xls");
//Parameter holen
$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'';
$semester = isset($_GET['semester'])?$_GET['semester']:'';
$verband = isset($_GET['verband'])?$_GET['verband']:'';
$gruppe = isset($_GET['gruppe'])?$_GET['gruppe']:'';
$gruppe_kurzbz = isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:'';
$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'';
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Studenten");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
// let's merge
$format_title->setAlign('merge');
$maxlength = array();
$zeile = 1;
//Zeilenueberschriften ausgeben
$headline=array('Typ der Projektarbeit','Titel der Projektarbeit','Student',
'Note','Punkte','Beginn','Ende','Freigegeben','Gesperrt bis','Gesamtstunden','Themenbereich',
'Anmerkung','Projektarbeit ID');
$i=0;
foreach ($headline as $title)
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send("Projektarbeit". "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Studenten");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
// let's merge
$format_title->setAlign('merge');
//Zeilenueberschriften ausgeben
$headline = array('Typ der Projektarbeit','Titel der Projektarbeit','Student',
'Note','Punkte','Beginn','Ende','Freigegeben','Gesperrt bis','Gesamtstunden','Themenbereich',
'Anmerkung','Projektarbeit ID');
$i = 0;
foreach ($headline as $title)
{
$worksheet->write(0,$i,$title, $format_bold);
$maxlength[$i] = mb_strlen($title);
$i++;
}
// Daten holen
$qry = "SELECT
tbl_projekttyp.bezeichnung, titel,
trim(COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'')
|| ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'')),
(SELECT anmerkung FROM lehre.tbl_note WHERE note=tbl_projektarbeit.note) as anmerkung, punkte, beginn,
ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, gesamtstunden, themenbereich,
tbl_projektarbeit.anmerkung, projektarbeit_id
FROM
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
public.tbl_benutzer, public.tbl_person, lehre.tbl_projekttyp
WHERE
tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND
tbl_projektarbeit.student_uid = tbl_benutzer.uid AND
tbl_benutzer.person_id = tbl_person.person_id AND
tbl_projektarbeit.projekttyp_kurzbz = tbl_projekttyp.projekttyp_kurzbz AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." AND
tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz)." AND
tbl_projektarbeit.projekttyp_kurzbz IN ('Bachelor','Diplom','Projekt')";
if ($semester != '')
$qry .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester);
//echo $qry;
$zeile=1;
if ($result = $db->db_query($qry))
{
while ($row = $db->db_fetch_array($result))
{
$worksheet->write(0,$i,$title, $format_bold);
$maxlength[$i]=mb_strlen($title);
$i++;
}
// Daten holen
$qry = "SELECT
tbl_projekttyp.bezeichnung, titel, trim(COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'')),
(SELECT anmerkung FROM lehre.tbl_note WHERE note=tbl_projektarbeit.note) as anmerkung, punkte, beginn,
ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, gesamtstunden, themenbereich, tbl_projektarbeit.anmerkung, projektarbeit_id
FROM
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
public.tbl_benutzer, public.tbl_person, lehre.tbl_projekttyp
WHERE
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_projektarbeit.student_uid=tbl_benutzer.uid AND
tbl_benutzer.person_id=tbl_person.person_id AND
tbl_projektarbeit.projekttyp_kurzbz=tbl_projekttyp.projekttyp_kurzbz AND
tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."' AND
tbl_projektarbeit.projekttyp_kurzbz IN ('Bachelor','Diplom','Projekt')";
if($semester!='')
$qry.= " AND tbl_lehrveranstaltung.semester='".addslashes($semester)."'";
//echo $qry;
$zeile=1;
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_array($result))
$zeile++;
$i = 0;
//Projektarbeit
foreach ($row as $idx => $content)
{
$zeile++;
$i=0;
//Projektarbeit
foreach ($row as $idx=>$content)
if (is_numeric($idx))
{
if(is_numeric($idx))
$worksheet->write($zeile, $i, $content);
if (mb_strlen($content) > $maxlength[$i])
$maxlength[$i] = mb_strlen($content);
$i++;
}
}
$zeile++;
//Betreuer
$qry_betreuer = "
SELECT
betreuerart_kurzbz, COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'')
|| ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,''),
tbl_note.anmerkung, name, punkte, stunden, stundensatz
FROM
(lehre.tbl_projektbetreuer JOIN tbl_person USING(person_id))
LEFT JOIN lehre.tbl_note USING(note)
WHERE
projektarbeit_id = ".$db->db_add_param($row['projektarbeit_id']);
if ($result_betreuer = $db->db_query($qry_betreuer))
{
if ($db->db_num_rows($result_betreuer) > 0)
{
$headline = array('Betreuerart','Betreuer','Note','Name','Punkte','Stunden','Stundensatz');
$i = 1;
foreach ($headline as $title)
{
$worksheet->write($zeile, $i, $content);
if(mb_strlen($content)>$maxlength[$i])
$maxlength[$i]=mb_strlen($content);
$worksheet->write($zeile,$i,$title, $format_bold);
if (mb_strlen($title) > $maxlength[$i])
$maxlength[$i] = mb_strlen($title);
$i++;
}
}
$zeile++;
//Betreuer
$qry_betreuer = "SELECT betreuerart_kurzbz, COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,''), tbl_note.anmerkung, faktor, name, punkte, stunden, stundensatz FROM (lehre.tbl_projektbetreuer JOIN tbl_person USING(person_id)) LEFT JOIN lehre.tbl_note USING(note) WHERE projektarbeit_id='".$row['projektarbeit_id']."'";
if($result_betreuer = $db->db_query($qry_betreuer))
{
if($db->db_num_rows($result_betreuer)>0)
$zeile++;
while ($row_betreuer = $db->db_fetch_array($result_betreuer))
{
$headline=array('Betreuerart','Betreuer','Note','Faktor','Name','Punkte','Stunden','Stundensatz');
$i=1;
foreach ($headline as $title)
$i = 1;
foreach ($row_betreuer as $idx => $content)
{
$worksheet->write($zeile,$i,$title, $format_bold);
if(mb_strlen($title)>$maxlength[$i])
$maxlength[$i]=mb_strlen($title);
$i++;
}
$zeile++;
while($row_betreuer = $db->db_fetch_array($result_betreuer))
{
$i=1;
foreach ($row_betreuer as $idx=>$content)
if (is_numeric($idx))
{
if(is_numeric($idx))
{
$worksheet->write($zeile, $i, $content);
if(mb_strlen($content)>$maxlength[$i])
$maxlength[$i]=mb_strlen($content);
$i++;
}
$worksheet->write($zeile, $i, $content);
if (mb_strlen($content) > $maxlength[$i])
$maxlength[$i] = mb_strlen($content);
$i++;
}
$zeile++;
}
$zeile++;
}
}
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
}
//Die Breite der Spalten setzen
foreach ($maxlength as $i => $breite)
$worksheet->setColumn($i, $i, $breite + 2);
$workbook->close();
?>
+4 -4
View File
@@ -346,7 +346,7 @@ class vertrag extends basis_db
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
(tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
@@ -370,7 +370,7 @@ class vertrag extends basis_db
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
(tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_projektbetreuer.betreuerart_kurzbz,
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
@@ -513,7 +513,7 @@ class vertrag extends basis_db
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
(tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
@@ -539,7 +539,7 @@ class vertrag extends basis_db
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
(tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_projektbetreuer.betreuerart_kurzbz,
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
-16
View File
@@ -46,10 +46,6 @@
<!ENTITY menu-statistic.label "Berichte">
<!ENTITY menu-statistic.accesskey "R">
<!ENTITY menu-statistic-koordinatorstunden.key "K">
<!ENTITY menu-statistic-koordinatorstunden.label "Koordinatorstunden">
<!ENTITY menu-statistic-koordinatorstunden.accesskey "K">
<!ENTITY menu-statistic-lehre.key "L">
<!ENTITY menu-statistic-lehre.label "Lehre">
<!ENTITY menu-statistic-lehre.accesskey "L">
@@ -155,14 +151,6 @@
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.label "HTML">
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.accesskey "H">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.key "L">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.label "LV-Planung Gesamt SJ">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.accesskey "L">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.key "E">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.label "EXCEL">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.accesskey "E">
<!ENTITY menu-statistic-abgaengerstatistik.key "A">
<!ENTITY menu-statistic-abgaengerstatistik.label "AbgängerInnenstatistik">
<!ENTITY menu-statistic-abgaengerstatistik.accesskey "A">
@@ -175,10 +163,6 @@
<!ENTITY menu-statistic-absolventenzahlen.label "AbsolventInnenzahlen">
<!ENTITY menu-statistic-absolventenzahlen.accesskey "Z">
<!ENTITY menu-statistic-lektorenstatistik.key "L">
<!ENTITY menu-statistic-lektorenstatistik.label "LektorInnenstatistik">
<!ENTITY menu-statistic-lektorenstatistik.accesskey "L">
<!ENTITY menu-statistic-studentenstatistik.key "S">
<!ENTITY menu-statistic-studentenstatistik.label "Studierendenstatistik">
<!ENTITY menu-statistic-studentenstatistik.accesskey "S">
+3 -3
View File
@@ -338,7 +338,7 @@ function drawLehrauftrag($uid)
$stunden = $row->semesterstunden;
$satz = $row->stundensatz;
$faktor = $row->faktor;
$brutto = $row->semesterstunden * $row->stundensatz * $row->faktor;
$brutto = $row->semesterstunden * $row->stundensatz;
$last_le = $row->lehreinheit_id;
}
array_unique($gruppen);
@@ -404,7 +404,7 @@ function drawLehrauftrag($uid)
$stg->load($row->studiengang_kz);
$stg_kuerzel = $stg->kuerzel;
$brutto = $row->stunden * $row->stundensatz * $row->faktor;
$brutto = $row->stunden * $row->stundensatz;
if ($row->stunden != 0)
{
switch ($row->projekttyp_kurzbz)
@@ -444,7 +444,7 @@ function drawLehrauftrag($uid)
<lehrveranstaltung><![CDATA['.$lv_row['lehrveranstaltung'].']]></lehrveranstaltung>
<fachbereich><![CDATA['.$lv_row['fachbereich'].']]></fachbereich>
<gruppe><![CDATA['.$lv_row['gruppe'].']]></gruppe>
<gruppen_getrennt>'. $lv_row['einzelgruppe']. '</gruppen_getrennt> <!-- Variable enthält CDATA tags-->
<gruppen_getrennt>'. $lv_row['einzelgruppe']. '</gruppen_getrennt> <!-- Variable enthält CDATA tags-->
<stunden><![CDATA['.$lv_row['stunden'].']]></stunden>
<satz><![CDATA['.$lv_row['satz'].']]></satz>
<faktor><![CDATA['.$lv_row['faktor'].']]></faktor>