mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-01 19:09:27 +00:00
Urlaubstool
This commit is contained in:
+15
-14
@@ -9,8 +9,6 @@
|
||||
</center>
|
||||
<h2>News</h2>
|
||||
<ul>
|
||||
<li>Spellcheck und Formatierungen <br>
|
||||
</li>
|
||||
<li>News FEED um die News mit einem Newsreader lesen zu können<br>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -22,8 +20,6 @@ Lektor</li>
|
||||
<li>Maßnahme zur Weiterentwicklung</li>
|
||||
<li>Leistungsbeurteilung</li>
|
||||
</ul>
|
||||
<li style="font-weight: bold; color: rgb(51, 255, 51);">Benotungstool
|
||||
mit Kreuzerltool verschmelzen</li>
|
||||
<li style="font-weight: bold; color: rgb(51, 255, 51);">Lektor kann
|
||||
sich Rechnung zur LV erstellen lassen<br>
|
||||
</li>
|
||||
@@ -50,25 +46,15 @@ werden. Genaue Umsetzung ist noch unklar.</li>
|
||||
für Semesterplan</li>
|
||||
<li style="font-weight: bold; color: rgb(51, 255, 51);">direkte
|
||||
Verlinkung zum Lehrebereich.</li>
|
||||
<li style="font-weight: bold; color: rgb(51, 255, 51);">Suche nach
|
||||
freien Sälen - Darstellung auch beim Portier</li>
|
||||
<li style="font-weight: bold; color: rgb(51, 255, 51);">Ausstattung
|
||||
der Säle nicht sichtlich</li>
|
||||
</ul>
|
||||
<br>
|
||||
<h2>BenotungsTool</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<h2>Kreuzerltool</h2>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<ul style="font-weight: bold; color: rgb(51, 255, 51);">
|
||||
<li>Statistik: Berechnung aufgrund der
|
||||
Gesamtgruppengröße,
|
||||
nicht nur der beteiligten Studenten.</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<h2>Upload</h2>
|
||||
@@ -112,6 +98,21 @@ Hausordnung, Brandschutzordnung, ...), WebMail, Bibliothek</span></li>
|
||||
<br>
|
||||
<h2>Erledigte Anforderungen</h2>
|
||||
<ul>
|
||||
<li>Urlaubsverwaltung mit Bestätigung des Vorgesetzen und
|
||||
automatischer Berechnung der verbleibenden Urlaubstage</li>
|
||||
<ul>
|
||||
<li>Mai 2008 oesi<br>
|
||||
</li>
|
||||
</ul>
|
||||
<li>Suche nach
|
||||
freien Sälen</li>
|
||||
<ul>
|
||||
<li>Mai 2008 oesi<br>
|
||||
</li>
|
||||
</ul>
|
||||
<li>Benotungstool
|
||||
mit Kreuzerltool verschmelzen<br>
|
||||
<span style="font-weight: bold; color: rgb(51, 255, 51);"></span></li>
|
||||
<li><span style="font-weight: bold; color: rgb(51, 255, 51);">Studiengangsbestaetigung
|
||||
erstellen (Ausdruck nur möglich wenn Studienbeitrag bezahlt wurde)</span></li>
|
||||
<li>eMailverteiler
|
||||
|
||||
@@ -0,0 +1,235 @@
|
||||
<?php
|
||||
/* Copyright (C) 2008 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
*/
|
||||
|
||||
require_once('../../config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/zeitsperre.class.php');
|
||||
|
||||
if(!$conn = pg_pconnect(CONN_STRING))
|
||||
die('Fehler beim Connecten zur Datenbank');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
if(isset($_GET['year']) && is_numeric($_GET['year']))
|
||||
$year = $_GET['year'];
|
||||
else
|
||||
{
|
||||
//Bis August das aktuelle Jahr anzeigen
|
||||
//Ab September das naechste
|
||||
if(date('m')<9)
|
||||
$year = date('Y');
|
||||
else
|
||||
$year = date('Y')+1;
|
||||
}
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid=$_GET['uid'];
|
||||
else
|
||||
$uid='';
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
echo '<html>
|
||||
<head>
|
||||
<title>Urlaubsfreigabe</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
</head>
|
||||
|
||||
<body id="inhalt">
|
||||
<table class="tabcontent" id="inhalt">
|
||||
<tr>
|
||||
<td class="tdwidth10"> </td>
|
||||
<td>
|
||||
<table class="tabcontent">
|
||||
<tr>
|
||||
<td class="ContentHeader"><font class="ContentHeader"> Urlaubsfreigabe</font></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
';
|
||||
//Untergebene holen
|
||||
$qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE (funktion_kurzbz='fbl' OR funktion_kurzbz='stgl') AND uid='".addslashes($user)."'";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$institut='';
|
||||
$stge='';
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->funktion_kurzbz=='fbl')
|
||||
{
|
||||
if($institut!='')
|
||||
$institut.=',';
|
||||
|
||||
$institut.="'".addslashes($row->fachbereich_kurzbz)."'";
|
||||
}
|
||||
elseif($row->funktion_kurzbz=='stgl')
|
||||
{
|
||||
if($stge!='')
|
||||
$stge.=',';
|
||||
$stge.="'".$row->studiengang_kz."'";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT distinct uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='Institut' AND (false ";
|
||||
|
||||
if($institut!='')
|
||||
$qry.=" OR fachbereich_kurzbz in($institut)";
|
||||
if($stge!='')
|
||||
$qry.=" OR studiengang_kz in($stge)";
|
||||
|
||||
$qry.=")";
|
||||
|
||||
$untergebene='';
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($untergebene!='')
|
||||
$untergebene.=',';
|
||||
$untergebene.="'".addslashes($row->uid)."'";
|
||||
}
|
||||
}
|
||||
|
||||
if($untergebene=='')
|
||||
die('Es sind Ihnen keine Mitarbeiter zugeteilt für die sie den Urlaub freigeben dürfen');
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid in($untergebene)";
|
||||
|
||||
$mitarbeiter = array();
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$mitarbeiter[$row->uid]['vorname']=$row->vorname;
|
||||
$mitarbeiter[$row->uid]['nachname']=$row->nachname;
|
||||
$mitarbeiter[$row->uid]['titelpre']=$row->titelpre;
|
||||
$mitarbeiter[$row->uid]['titelpost']=$row->titelpost;
|
||||
}
|
||||
}
|
||||
if($uid!='' && !isset($mitarbeiter[$uid]) && $uid!=$user)
|
||||
die('Sie haben keine Berechtigung fuer diesen Mitarbeiter');
|
||||
|
||||
//Freigeben eines Urlaubes
|
||||
if(isset($_GET['action']) && $_GET['action']=='freigabe')
|
||||
{
|
||||
$zeitsperre = new zeitsperre($conn);
|
||||
if($zeitsperre->load($_GET['id']))
|
||||
{
|
||||
if(isset($mitarbeiter[$zeitsperre->mitarbeiter_uid]))
|
||||
{
|
||||
$zeitsperre->freigabeamum = date('Y-m-d H:i:s');
|
||||
$zeitsperre->freigabevon = $user;
|
||||
if(!$zeitsperre->save(false))
|
||||
echo "<b>Fehler bei der Freigabe: $zeitsperre->errormsg</b>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<b>Sie haben keine Berechtigung den Urlaub für diesen Mitarbeiter freizugeben</b>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<b>Die Zeitsperre konnte nicht geladen werden</b>';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Monat zeichenen
|
||||
function draw_monat($monat)
|
||||
{
|
||||
global $untergebene, $mitarbeiter, $conn, $year, $datum_obj, $uid;
|
||||
|
||||
echo '<td style="border: 1px solid black; height:100px; width: 30%" valign="top">';
|
||||
echo '<center><b>';
|
||||
echo date('F',mktime(0,0,0,$monat,1,date('Y')));
|
||||
echo '</b></center>';
|
||||
//Alle Anzeigen bei denen das von- oder bisdatum in dieses monat fallen
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperretyp_kurzbz='Urlaub'
|
||||
AND
|
||||
(
|
||||
(date_part('month', vondatum)='$monat' AND date_part('year', vondatum)='".($monat>8?$year-1:$year)."')
|
||||
OR
|
||||
(date_part('month', bisdatum)='$monat' AND date_part('year', bisdatum)='".($monat>8?$year-1:$year)."')
|
||||
)";
|
||||
if($uid=='')
|
||||
$qry.=" AND mitarbeiter_uid in($untergebene)";
|
||||
else
|
||||
$qry.=" AND mitarbeiter_uid='".addslashes($uid)."'";
|
||||
$qry.="ORDER BY vondatum, mitarbeiter_uid";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
echo $mitarbeiter[$row->mitarbeiter_uid]['nachname'].' '.$datum_obj->formatDatum($row->vondatum,'d.m.Y')." - ".$datum_obj->formatDatum($row->bisdatum,'d.m.Y');
|
||||
if($row->freigabeamum=='')
|
||||
echo " <a href='".$_SERVER['PHP_SELF']."?action=freigabe&id=$row->zeitsperre_id&year=$year&uid=$uid' class='Item'>Freigabe</a>";
|
||||
|
||||
echo '<br>';
|
||||
}
|
||||
}
|
||||
echo '</td>';
|
||||
}
|
||||
|
||||
//Jahr mit Pfeilen zum blaettern anzeigen
|
||||
echo '<center>';
|
||||
echo "<a href='".$_SERVER['PHP_SELF']."?uid=$uid&year=".($year-1)."' class='Item' title='Ein Jahr zurück'><img src='../../../skin/images/left.gif'></a>";
|
||||
echo ' <font size="+1"><b>';
|
||||
echo ($year-1).'/'.$year;
|
||||
echo '</b></font> ';
|
||||
echo "<a href='".$_SERVER['PHP_SELF']."?uid=$uid&year=".($year+1)."' class='Item' title='Ein Jahr vor'><img src='../../../skin/images/right.gif'></a>";
|
||||
echo '</center>';
|
||||
|
||||
if($uid!='')
|
||||
{
|
||||
echo "<a href='".$_SERVER['PHP_SELF']."?year=$year' class='Item'>Alle Mitarbeiter anzeigen</a><br>";
|
||||
}
|
||||
echo '<br>';
|
||||
//Tabelle mit den Monaten ausgeben
|
||||
echo '<table cellspacing=0 width="100%" style="border: 1px solid black;"><tr>';
|
||||
$monat=9;
|
||||
for($i=0;$i<12;$i++)
|
||||
{
|
||||
if($i%3==0)
|
||||
{
|
||||
echo '</tr><tr>';
|
||||
}
|
||||
draw_monat($monat);
|
||||
$monat++;
|
||||
if($monat>12)
|
||||
$monat=1;
|
||||
}
|
||||
echo '</tr></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>';
|
||||
?>
|
||||
@@ -28,6 +28,8 @@
|
||||
require_once('../../../include/zeitsperre.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/resturlaub.class.php');
|
||||
require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
@@ -47,7 +49,8 @@
|
||||
$num_rows_stunde=pg_num_rows($result_stunde);
|
||||
|
||||
?>
|
||||
<html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd"><html>
|
||||
<head>
|
||||
<title>Zeitsperre</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
@@ -93,7 +96,7 @@ function checkdatum()
|
||||
</head>
|
||||
|
||||
<body id="inhalt">
|
||||
<H2><table class="tabcontent">
|
||||
<!--<H2><table class="tabcontent">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="Item" href="index.php">Userprofil</a> >>
|
||||
@@ -102,11 +105,34 @@ function checkdatum()
|
||||
<td align="right"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</H2>
|
||||
</H2>-->
|
||||
<table class="tabcontent" id="inhalt">
|
||||
<tr>
|
||||
<td class="tdwidth10"> </td>
|
||||
<td>
|
||||
<table class="tabcontent">
|
||||
<tr>
|
||||
<td class="ContentHeader"><font class="ContentHeader"> Zeitsperren</font></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<!-- ************* ZEITSPERREN *****************-->
|
||||
<H3>Zeitsperren</h3>
|
||||
|
||||
<?php
|
||||
function getVorgesetzten($uid)
|
||||
{
|
||||
global $conn;
|
||||
$qry = "SELECT CASE WHEN fachbereich_kurzbz is not null THEN (SELECT uid FROM public.tbl_benutzerfunktion WHERE fachbereich_kurzbz=a.fachbereich_kurzbz AND funktion_kurzbz='fbl' LIMIT 1)
|
||||
WHEN studiengang_kz is not null THEN (SELECT uid FROM public.tbl_benutzerfunktion WHERE studiengang_kz=a.studiengang_kz AND funktion_kurzbz='stgl' LIMIT 1)
|
||||
ELSE ''
|
||||
END as vorgesetzter
|
||||
FROM public.tbl_benutzerfunktion a WHERE funktion_kurzbz='Institut' AND uid='$uid'";
|
||||
$result = pg_query($conn, $qry);
|
||||
$row = pg_fetch_object($result);
|
||||
return (isset($row->vorgesetzter)?$row->vorgesetzter:'');
|
||||
}
|
||||
|
||||
//Zeitsperre Speichern
|
||||
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
|
||||
{
|
||||
@@ -153,6 +179,11 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
$zeitsperre->insertvon = $uid;
|
||||
}
|
||||
|
||||
if(!$error && $zeitsperre->freigabeamum!='')
|
||||
{
|
||||
$error = true;
|
||||
$error_msg.='Dieser Urlaub kann nicht mehr editiert werden, da er schon freigegeben wurde';
|
||||
}
|
||||
if(!$error)
|
||||
{
|
||||
$zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz'];
|
||||
@@ -170,6 +201,35 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
if($zeitsperre->save())
|
||||
{
|
||||
echo "Daten wurden erfolgreich gespeichert";
|
||||
if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||
{
|
||||
//Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
|
||||
$vorgesetzter = getVorgesetzten($uid);
|
||||
if($vorgesetzter!='')
|
||||
{
|
||||
$to = $vorgesetzter.'@'.DOMAIN;
|
||||
//$to = 'oesi@technikum-wien.at';
|
||||
$benutzer = new benutzer($conn);
|
||||
$benutzer->load($uid);
|
||||
$message = "Dies ist eine automatische Mail! \n".
|
||||
"$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n".
|
||||
"$zeitsperre->bezeichnung von $zeitsperre->vondatum bis $zeitsperre->bisdatum\n\n".
|
||||
"Sie können diesen unter folgender Adresse freigeben:\n".
|
||||
"https://cis.technikum-wien.at/cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
|
||||
if(mail($to, 'Freigabeansuchen', $message,'From: vilesci@'.DOMAIN))
|
||||
{
|
||||
echo "<br><b>Freigabemail wurde an $to versandt</b>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<br><span class='error'>Fehler beim Senden des Freigabemails an $to</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<br><span class='error'>Es konnte keine Freigabemail versendet werden da kein Vorgesetzter eingetragen ist</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>Fehler beim Speichern der Daten</span>";
|
||||
@@ -201,11 +261,21 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre')
|
||||
//zeitsperren des users laden
|
||||
$zeit = new zeitsperre($conn);
|
||||
$zeit->getzeitsperren($uid);
|
||||
$content_table='';
|
||||
$content_table='<br><br>';
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_erreichbarkeit";
|
||||
$erreichbarkeit_arr=array();
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$erreichbarkeit_arr[$row->erreichbarkeit_kurzbz]=$row->beschreibung;
|
||||
}
|
||||
}
|
||||
//liste aller zeitsperren ausgeben
|
||||
if(count($zeit->result)>0)
|
||||
{
|
||||
$content_table.= '<table><tr class="liste"><th>Bezeichnung</th><th>Grund</th><th>Von</th><th>Bis</th><th>Vertretung</th><th>Erreichbarkeit</th></tr>';
|
||||
$content_table.= '<table><tr class="liste"><th>Bezeichnung</th><th>Grund</th><th>Von</th><th>Bis</th><th>Vertretung</th><th>Erreichbarkeit</th><th>Freigegeben</th></tr>';
|
||||
$i=0;
|
||||
foreach ($zeit->result as $row)
|
||||
{
|
||||
@@ -214,7 +284,20 @@ if(count($zeit->result)>0)
|
||||
$qry = "SELECT vorname || ' ' || nachname as kurzbz FROM public.tbl_mitarbeiter, public.tbl_benutzer, public.tbl_person WHERE tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND tbl_benutzer.person_id=tbl_person.person_id AND mitarbeiter_uid='$row->vertretung_uid'";
|
||||
$result_vertretung = pg_query($conn, $qry);
|
||||
$row_vertretung = pg_fetch_object($result_vertretung);
|
||||
$content_table.= "<tr class='liste".($i%2)."'><td>$row->bezeichnung</td><td>$row->zeitsperretyp_kurzbz</td><td nowrap>".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."</td><td nowrap>".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."</td><td>".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')."</td><td>$row->erreichbarkeit</td><td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>edit</a></td><td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id' onclick='return conf_del()' class='Item'>delete</a></td></tr>";
|
||||
$content_table.= "<tr class='liste".($i%2)."'>
|
||||
<td>$row->bezeichnung</td>
|
||||
<td>$row->zeitsperretyp_kurzbz</td>
|
||||
<td nowrap>".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."</td>
|
||||
<td nowrap>".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."</td>
|
||||
<td>".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')."</td>
|
||||
<td>".$erreichbarkeit_arr[$row->erreichbarkeit]."</td>
|
||||
<td align='center'>".($row->freigabeamum!=''?'Ja':'')."</td>";
|
||||
if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
|
||||
{
|
||||
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>edit</a></td>
|
||||
<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id' onclick='return conf_del()' class='Item'>delete</a></td>";
|
||||
}
|
||||
$content_table.="</tr>";
|
||||
}
|
||||
$content_table.= '</table>';
|
||||
}
|
||||
@@ -304,19 +387,14 @@ for($i=0;$i<$num_rows_stunde;$i++)
|
||||
$content_form.= "</SELECT></td></tr>";
|
||||
|
||||
$content_form.= "<tr><td>Erreichbarkeit</td><td><SELECT name='erreichbarkeit'>";
|
||||
//dropdown fuer vertretung
|
||||
$qry = "SELECT * FROM campus.tbl_erreichbarkeit";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung)
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($zeitsperre->erreichbarkeit == $row->erreichbarkeit_kurzbz)
|
||||
$content_form.= "<OPTION value='$row->erreichbarkeit_kurzbz' selected>$row->beschreibung</OPTION>\n";
|
||||
else
|
||||
$content_form.= "<OPTION value='$row->erreichbarkeit_kurzbz'>$row->beschreibung</OPTION>\n";
|
||||
}
|
||||
if($zeitsperre->erreichbarkeit == $erreichbarkeit_key)
|
||||
$content_form.= "<OPTION value='$erreichbarkeit_key' selected>$erreichbarkeit_beschreibung</OPTION>\n";
|
||||
else
|
||||
$content_form.= "<OPTION value='$erreichbarkeit_key'>$erreichbarkeit_beschreibung</OPTION>\n";
|
||||
}
|
||||
|
||||
$content_form.= '</SELECT></td></tr>';
|
||||
|
||||
$content_form.= "<tr><td>Vertretung</td><td><SELECT name='vertretung_uid' id='vertretung_uid'>";
|
||||
@@ -350,7 +428,7 @@ $content_resturlaub = '';
|
||||
$resturlaubstage = '0';
|
||||
$mehrarbeitsstunden = '0';
|
||||
$anspruch = '25';
|
||||
|
||||
/*
|
||||
if(isset($_GET['type']) && $_GET['type']=='save_resturlaub')
|
||||
{
|
||||
$_POST['mehrarbeitsstunden'] = str_replace(',','.',$_POST['mehrarbeitsstunden']);
|
||||
@@ -389,7 +467,7 @@ if(isset($_GET['type']) && $_GET['type']=='save_resturlaub')
|
||||
$anspruch = htmlspecialchars($resturlaub->urlaubstageprojahr,ENT_QUOTES);
|
||||
}
|
||||
else
|
||||
{
|
||||
{*/
|
||||
$resturlaub = new resturlaub($conn);
|
||||
|
||||
if($resturlaub->load($uid))
|
||||
@@ -398,20 +476,21 @@ else
|
||||
$mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden;
|
||||
$anspruch = $resturlaub->urlaubstageprojahr;
|
||||
}
|
||||
}
|
||||
/*}
|
||||
if($anspruch=='')
|
||||
$anspruch=25;
|
||||
|
||||
|
||||
//Eingabefelder am 15.12.2007 deaktivieren
|
||||
if((date('d')>=15 && date('m')>=12 && date('Y')>=2007) || date('Y')>2007)
|
||||
$disabled='disabled="true"';
|
||||
else
|
||||
$disabled='';
|
||||
|
||||
*/
|
||||
//Den Bereich fuer die Resturlaubstage nur anzeigen wenn dies
|
||||
//im config angegeben ist
|
||||
if(URLAUB_TOOLS)
|
||||
{
|
||||
/*
|
||||
$content_resturlaub.='<form method="POST" action="'.$PHP_SELF.'?type=save_resturlaub"><table>';
|
||||
$content_resturlaub.='<tr><td>Resturlaubstage (31.08.)</td><td><input type="text" size="6" '.$disabled.' id="resturlaubstage" name="resturlaubstage" value="'.$resturlaubstage.'" oninput="berechnen()"/></td></tr>';
|
||||
$content_resturlaub.='<tr><td>Anspruch (01.09.)</td><td><input type="text" size="6" '.$disabled.' id="anspruch" name="anspruch" value="'.$anspruch.'" oninput="berechnen()"/></td></tr>';
|
||||
@@ -419,6 +498,23 @@ if(URLAUB_TOOLS)
|
||||
$content_resturlaub.='<tr><td> </td></tr>';
|
||||
$content_resturlaub.='<tr><td>Aktuelle Mehrarbeitsstunden:</td><td><input type="text" size="6" name="mehrarbeitsstunden" value="'.$mehrarbeitsstunden.'" /></td></tr>';
|
||||
$content_resturlaub.='<tr><td></td><td><input type="submit" name="save_resturlaub" value="Speichern" /></td></tr></table>';
|
||||
*/
|
||||
$content_resturlaub.="<table><tr><td>Anspruch</td><td align='right'>$anspruch Tage</td></tr>";
|
||||
$content_resturlaub.="<tr><td>+ Resturlaub</td><td align='right'>$resturlaubstage Tage</td></tr>";
|
||||
$gebuchterurlaub=0;
|
||||
//Urlaub berechnen
|
||||
$qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre
|
||||
WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='$uid' AND
|
||||
(
|
||||
(date_part('month', vondatum)>9 AND date_part('year', vondatum)='".(date('Y')-1)."') OR
|
||||
(date_part('month', vondatum)<9 AND date_part('year', vondatum)='".date('Y')."')
|
||||
)";
|
||||
$result = pg_query($conn, $qry);
|
||||
$row = pg_fetch_object($result);
|
||||
$gebuchterurlaub = $row->anzahltage;
|
||||
$content_resturlaub.="<tr><td>- aktuell gebuchter Urlaub </td><td align='right'>$gebuchterurlaub Tage</td></tr>";
|
||||
$content_resturlaub.="<tr><td style='border-top: 1px solid black;'>aktueller Stand</td><td style='border-top: 1px solid black;' align='right'>".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage</td></tr>";
|
||||
$content_resturlaub.="</table>";
|
||||
}
|
||||
echo '<table width="100%">';
|
||||
echo '<tr>';
|
||||
@@ -433,5 +529,6 @@ echo '</tr>';
|
||||
echo '</table>';
|
||||
|
||||
?>
|
||||
</td></tr></table>
|
||||
<body>
|
||||
</html>
|
||||
@@ -429,6 +429,16 @@ Seamonkey Version nicht möglich<br>
|
||||
<h2>Erledigte Anforderungen</h2>
|
||||
<br>
|
||||
<ul>
|
||||
<li>LVPlanung ist jetzt auch im Excel-Format verfügbar.
|
||||
Betreuungen sind in dieser Liste allerdings nicht enthalten<br>
|
||||
02.06.2008 oesi<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Wenn der Zustelladresse eines Mitarbeiters eine Firma zugeordnet
|
||||
ist, scheint die Firmenadresse am Lehrauftrag auf anstatt der eigenen.<br>
|
||||
02.06.2008 oesi<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Bei der Zuteilung von Lektoren zu Lehreinheiten werden jetzt
|
||||
automatisch die Semesterstunden der LV vorgeschlagen<br>
|
||||
27.05.2008 oesi<br>
|
||||
|
||||
+17
-6
@@ -81,6 +81,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
<command id="menu-statistic-koordinatorstunden:command" oncommand="StatistikPrintKoordinatorstunden();"/>
|
||||
<command id="menu-statistic-lehrauftraege:command" oncommand="StatistikPrintLehrauftraege();"/>
|
||||
<command id="menu-statistic-lvplanung:command" oncommand="StatistikPrintLVPlanung();"/>
|
||||
<command id="menu-statistic-lvplanungexcel:command" oncommand="StatistikPrintLVPlanungExcel();"/>
|
||||
<command id="menu-statistic-lehrauftragsliste:command" oncommand="StatistikPrintLehrauftragsliste();"/>
|
||||
<command id="menu-statistic-projektarbeit:command" oncommand="StatistikPrintProjektarbeit();"/>
|
||||
<command id="menu-statistic-abschlusspruefung:command" oncommand="StatistikPrintAbschlusspruefung();"/>
|
||||
@@ -231,12 +232,22 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
label = "&menu-statistic-lehrauftraege.label;"
|
||||
command = "menu-statistic-lehrauftraege:command"
|
||||
accesskey = "&menu-statistic-lehrauftraege.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-statistic-lvplanung"
|
||||
key = "menu-statistic-lvplanung:key"
|
||||
label = "&menu-statistic-lvplanung.label;"
|
||||
command = "menu-statistic-lvplanung:command"
|
||||
accesskey = "&menu-statistic-lvplanung.accesskey;"/>
|
||||
<menu id="menu-statistic-sublvplanung" label="&menu-statistic-sublvplanung.label;" accesskey="&menu-statistic-sublvplanung.accesskey;">
|
||||
<menupopup id="menu-statistic-substatistik-popup">
|
||||
<menuitem
|
||||
id = "menu-statistic-lvplanung"
|
||||
key = "menu-statistic-lvplanung:key"
|
||||
label = "&menu-statistic-lvplanung.label;"
|
||||
command = "menu-statistic-lvplanung:command"
|
||||
accesskey = "&menu-statistic-lvplanung.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-statistic-lvplanungexcel"
|
||||
key = "menu-statistic-lvplanungexcel:key"
|
||||
label = "&menu-statistic-lvplanungexcel.label;"
|
||||
command = "menu-statistic-lvplanungexcel:command"
|
||||
accesskey = "&menu-statistic-lvplanungexcel.accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem
|
||||
id = "menu-statistic-lehrauftragsliste"
|
||||
key = "menu-statistic-lehrauftragsliste:key"
|
||||
|
||||
@@ -738,6 +738,67 @@ function StatistikPrintLVPlanung()
|
||||
window.open(url,'LV-Planung');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Liefert eine Excel Liste mit Uebersicht der Lehrauftraege.
|
||||
// * Studiengang oder Fachbereich muss gewaehlt sein
|
||||
// ****
|
||||
function StatistikPrintLVPlanungExcel()
|
||||
{
|
||||
var studiensemester=getStudiensemester();
|
||||
|
||||
if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-verband'))
|
||||
{
|
||||
tree = document.getElementById('tree-verband');
|
||||
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst einen Studiengang auswaehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
//Studiengang und Semester holen
|
||||
var col;
|
||||
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
||||
var studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
|
||||
col = tree.columns ? tree.columns["sem"] : "sem";
|
||||
var semester=tree.view.getCellText(tree.currentIndex,col);
|
||||
var url = '<?php echo APP_ROOT ?>content/statistik/lvplanung.xls.php?studiengang_kz='+studiengang_kz+'&semester='+semester+'&studiensemester_kurzbz='+studiensemester;
|
||||
}
|
||||
else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-fachbereich'))
|
||||
{
|
||||
tree = document.getElementById('tree-fachbereich');
|
||||
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst einen Fachbereich auswaehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
//Fachbereich holen
|
||||
var col;
|
||||
col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz";
|
||||
var fachbereich_kurzbz=tree.view.getCellText(tree.currentIndex,col);
|
||||
var url = '<?php echo APP_ROOT ?>content/statistik/lvplanung.xls.php?institut='+fachbereich_kurzbz+'&studiensemester_kurzbz='+studiensemester;
|
||||
}
|
||||
else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-lektor'))
|
||||
{
|
||||
tree = document.getElementById('tree-lektor');
|
||||
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst einen Mitarbeiter auswaehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
//UID holen
|
||||
var col;
|
||||
col = tree.columns ? tree.columns["uid"] : "uid";
|
||||
var uid=tree.view.getCellText(tree.currentIndex,col);
|
||||
var url = '<?php echo APP_ROOT ?>content/statistik/lvplanung..xls.php?uid='+uid+'&studiensemester_kurzbz='+studiensemester;
|
||||
}
|
||||
window.open(url,'LV-Planung');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Erstellt ein Excel File mit der Uebersicht
|
||||
// * ueber alle Lektoren und deren Kosten eines Studienganges
|
||||
|
||||
@@ -0,0 +1,245 @@
|
||||
<?php
|
||||
/* Copyright (C) 2008 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
*/
|
||||
// Erstellt ein Excel mit den Kosten der Lehrveranstaltungen
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/Excel/excel.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
|
||||
if(!$conn=pg_pconnect(CONN_STRING))
|
||||
die('Fehler biem Connecten zur DB');
|
||||
|
||||
if(isset($_GET['studiensemester_kurzbz']))
|
||||
$studiensemester_kurzbz = $_GET['studiensemester_kurzbz'];
|
||||
else
|
||||
die('studiensemester_kurzbz muss uebergeben werden');
|
||||
|
||||
if(isset($_GET['studiengang_kz']))
|
||||
$studiengang_kz = $_GET['studiengang_kz'];
|
||||
else
|
||||
$studiengang_kz='';
|
||||
|
||||
if(isset($_GET['semester']))
|
||||
$semester = $_GET['semester'];
|
||||
else
|
||||
$semester='';
|
||||
|
||||
if(isset($_GET['institut']))
|
||||
$institut = $_GET['institut'];
|
||||
else
|
||||
$institut = '';
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
$uid = '';
|
||||
|
||||
$stg_obj = new studiengang($conn);
|
||||
$stg_obj->getAll('typ, kurzbz', false);
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send("LVPlanung.xls");
|
||||
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet($studiensemester_kurzbz);
|
||||
|
||||
//Formate Definieren
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
$format_number =& $workbook->addFormat();
|
||||
$format_number->setNumFormat('0,0.00');
|
||||
|
||||
$format_number_bold =& $workbook->addFormat();
|
||||
$format_number_bold->setNumFormat('0,0.00');
|
||||
$format_number_bold->setBold();
|
||||
|
||||
|
||||
$qry = "
|
||||
SELECT (SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE uid=COALESCE(koordinator, (SELECT uid FROM public.tbl_benutzerfunktion
|
||||
WHERE fachbereich_kurzbz=tbl_lehrfach.fachbereich_kurzbz AND
|
||||
studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
|
||||
funktion_kurzbz='fbk' LIMIT 1
|
||||
)
|
||||
)
|
||||
) as koordinator,
|
||||
tbl_lehrfach.bezeichnung as lf_bezeichnung, tbl_lehrveranstaltung.studiengang_kz,
|
||||
tbl_lehrfach.fachbereich_kurzbz as fachbereich_kurzbz, tbl_lehreinheitmitarbeiter.mitarbeiter_uid,
|
||||
tbl_lehrveranstaltung.semester as lv_semester, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheitmitarbeiter.faktor,
|
||||
tbl_lehreinheitmitarbeiter.stundensatz,
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden, tbl_lehreinheitmitarbeiter.planstunden,
|
||||
tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ,
|
||||
tbl_lehreinheitmitarbeiter.anmerkung
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrfach USING(lehrfach_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
|
||||
if($studiengang_kz!='')
|
||||
$qry.=" AND tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."'";
|
||||
|
||||
if($institut!='')
|
||||
$qry.=" AND tbl_lehrfach.fachbereich_kurzbz='".addslashes($institut)."'";
|
||||
|
||||
if($semester!='')
|
||||
$qry.=" AND tbl_lehrveranstaltung.semesteR='".addslashes($semester)."'";
|
||||
|
||||
if($uid!='')
|
||||
$qry.=" AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".addslashes($uid)."'";
|
||||
|
||||
$qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung";
|
||||
$zeile=0;
|
||||
$spalte=0;
|
||||
$worksheet->write($zeile,$spalte,"Studiengang", $format_bold);
|
||||
$maxlength[$spalte]=11;
|
||||
$worksheet->write($zeile,++$spalte,"Institut", $format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,"Koordinator", $format_bold);
|
||||
$maxlength[$spalte]=11;
|
||||
$worksheet->write($zeile,++$spalte,"Lektor", $format_bold);
|
||||
$maxlength[$spalte]=6;
|
||||
$worksheet->write($zeile,++$spalte,"Lehrfach", $format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,"Semester", $format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,"Gruppen", $format_bold);
|
||||
$maxlength[$spalte]=7;
|
||||
$worksheet->write($zeile,++$spalte,"Stunden", $format_bold);
|
||||
$maxlength[$spalte]=7;
|
||||
$worksheet->write($zeile,++$spalte,"Kosten", $format_bold);
|
||||
$maxlength[$spalte]=6;
|
||||
$worksheet->write($zeile,++$spalte,"Planstunden", $format_bold);
|
||||
$maxlength[$spalte]=11;
|
||||
$worksheet->write($zeile,++$spalte,"Stundenblockung", $format_bold);
|
||||
$maxlength[$spalte]=15;
|
||||
$worksheet->write($zeile,++$spalte,"Wochenrythmus", $format_bold);
|
||||
$maxlength[$spalte]=13;
|
||||
$worksheet->write($zeile,++$spalte,"Raum", $format_bold);
|
||||
$maxlength[$spalte]=4;
|
||||
$worksheet->write($zeile,++$spalte,"Raum alternativ", $format_bold);
|
||||
$maxlength[$spalte]=15;
|
||||
$worksheet->write($zeile,++$spalte,"Anmerkung", $format_bold);
|
||||
$maxlength[$spalte]=9;
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$spalte=0;
|
||||
$zeile++;
|
||||
|
||||
$mitarbeiter = new mitarbeiter($conn);
|
||||
$mitarbeiter->load($row->mitarbeiter_uid);
|
||||
|
||||
//Studiengang
|
||||
$worksheet->write($zeile,$spalte,$stg_obj->kuerzel_arr[$row->studiengang_kz]);
|
||||
if($maxlength[$spalte]<strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]))
|
||||
$maxlength[$spalte]=strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]);
|
||||
//Fachbereich
|
||||
$worksheet->write($zeile,++$spalte,$row->fachbereich_kurzbz);
|
||||
if($maxlength[$spalte]<strlen($row->fachbereich_kurzbz))
|
||||
$maxlength[$spalte]=strlen($row->fachbereich_kurzbz);
|
||||
//Koordinator
|
||||
$worksheet->write($zeile,++$spalte,$row->koordinator);
|
||||
if($maxlength[$spalte]<strlen($row->koordinator))
|
||||
$maxlength[$spalte]=strlen($row->koordinator);
|
||||
//Lektor
|
||||
$worksheet->write($zeile,++$spalte,$mitarbeiter->nachname);
|
||||
if($maxlength[$spalte]<strlen($mitarbeiter->nachname))
|
||||
$maxlength[$spalte]=strlen($mitarbeiter->nachname);
|
||||
//Lehrfach
|
||||
$worksheet->write($zeile,++$spalte,$row->lf_bezeichnung);
|
||||
if($maxlength[$spalte]<strlen($row->lf_bezeichnung))
|
||||
$maxlength[$spalte]=strlen($row->lf_bezeichnung);
|
||||
//Semester
|
||||
$worksheet->write($zeile,++$spalte,$row->lv_semester);
|
||||
if($maxlength[$spalte]<strlen($row->lv_semester))
|
||||
$maxlength[$spalte]=strlen($row->lv_semester);
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
|
||||
$result_gruppe = pg_query($conn, $qry);
|
||||
$gruppe = '';
|
||||
while($row_gruppe = pg_fetch_object($result_gruppe))
|
||||
{
|
||||
if($gruppe!='')
|
||||
$gruppe.=', ';
|
||||
if($row_gruppe->gruppe_kurzbz!='')
|
||||
$gruppe.=$row_gruppe->gruppe_kurzbz;
|
||||
else
|
||||
$gruppe.=trim($stg_obj->kuerzel_arr[$row_gruppe->studiengang_kz].'-'.$row_gruppe->semester.$row_gruppe->verband.$row_gruppe->gruppe);
|
||||
}
|
||||
|
||||
//Gruppen
|
||||
$worksheet->write($zeile,++$spalte,$gruppe);
|
||||
if($maxlength[$spalte]<strlen($gruppe))
|
||||
$maxlength[$spalte]=strlen($gruppe);
|
||||
//Semesterstunden
|
||||
$worksheet->write($zeile,++$spalte,$row->semesterstunden);
|
||||
if($maxlength[$spalte]<strlen($row->semesterstunden))
|
||||
$maxlength[$spalte]=strlen($row->semesterstunden);
|
||||
|
||||
$kosten = ($row->stundensatz*$row->semesterstunden*$row->faktor);
|
||||
|
||||
//Kosten
|
||||
$worksheet->write($zeile,++$spalte,$kosten);
|
||||
if($maxlength[$spalte]<strlen($kosten))
|
||||
$maxlength[$spalte]=strlen($kosten);
|
||||
//Planstunden
|
||||
$worksheet->write($zeile,++$spalte,$row->planstunden);
|
||||
if($maxlength[$spalte]<strlen($row->planstunden))
|
||||
$maxlength[$spalte]=strlen($row->planstunden);
|
||||
//Stundenblockung
|
||||
$worksheet->write($zeile,++$spalte,$row->stundenblockung);
|
||||
if($maxlength[$spalte]<strlen($row->stundenblockung))
|
||||
$maxlength[$spalte]=strlen($row->stundenblockung);
|
||||
//Wochentrythmus
|
||||
$worksheet->write($zeile,++$spalte,$row->wochenrythmus);
|
||||
if($maxlength[$spalte]<strlen($row->wochenrythmus))
|
||||
$maxlength[$spalte]=strlen($row->wochenrythmus);
|
||||
//Raumtyp
|
||||
$worksheet->write($zeile,++$spalte,$row->raumtyp);
|
||||
if($maxlength[$spalte]<strlen($row->raumtyp))
|
||||
$maxlength[$spalte]=strlen($row->raumtyp);
|
||||
//Raumtypalternativ
|
||||
$worksheet->write($zeile,++$spalte,$row->raumtypalternativ);
|
||||
if($maxlength[$spalte]<strlen($row->raumtypalternativ))
|
||||
$maxlength[$spalte]=strlen($row->raumtypalternativ);
|
||||
//Anmerkung
|
||||
$worksheet->write($zeile,++$spalte,$row->anmerkung);
|
||||
if($maxlength[$spalte]<strlen($row->anmerkung))
|
||||
$maxlength[$spalte]=strlen($row->anmerkung);
|
||||
}
|
||||
//Die Breite der Spalten setzen
|
||||
foreach($maxlength as $i=>$breite)
|
||||
$worksheet->setColumn($i, $i, $breite+2);
|
||||
}
|
||||
$workbook->close();
|
||||
?>
|
||||
@@ -221,6 +221,92 @@
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
//URLAUBE
|
||||
//Untergebene holen
|
||||
$qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE (funktion_kurzbz='fbl' OR funktion_kurzbz='stgl') AND uid='".addslashes($user)."'";
|
||||
|
||||
if($result = pg_query($db_conn, $qry))
|
||||
{
|
||||
$institut='';
|
||||
$stge='';
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->funktion_kurzbz=='fbl')
|
||||
{
|
||||
if($institut!='')
|
||||
$institut.=',';
|
||||
|
||||
$institut.="'".addslashes($row->fachbereich_kurzbz)."'";
|
||||
}
|
||||
elseif($row->funktion_kurzbz=='stgl')
|
||||
{
|
||||
if($stge!='')
|
||||
$stge.=',';
|
||||
$stge.="'".$row->studiengang_kz."'";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT distinct uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='Institut' AND (false ";
|
||||
|
||||
if($institut!='')
|
||||
$qry.=" OR fachbereich_kurzbz in($institut)";
|
||||
if($stge!='')
|
||||
$qry.=" OR studiengang_kz in($stge)";
|
||||
|
||||
$qry.=")";
|
||||
|
||||
$untergebene='';
|
||||
if($result = pg_query($db_conn, $qry))
|
||||
{
|
||||
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($untergebene!='')
|
||||
$untergebene.=',';
|
||||
$untergebene.="'".addslashes($row->uid)."'";
|
||||
}
|
||||
}
|
||||
|
||||
if($untergebene!='')
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid in($untergebene) ORDER BY nachname, vorname";
|
||||
|
||||
if($result = pg_query($db_conn, $qry))
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td class="tdwidth10" nowrap> </td>
|
||||
<td class="tdwrap">
|
||||
<a href="profile/urlaubsfreigabe.php" target="content" class="MenuItem" onClick="js_toggle_container(\'urlaub\');">
|
||||
<img src="../../skin/images/menu_item.gif" width="7" height="9"> Urlaube
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdwidth10" nowrap> </td>
|
||||
<td nowrap>
|
||||
<table class="tabcontent" id="urlaub" style="display: none;">
|
||||
<tr>
|
||||
<td class="tdwrap">
|
||||
<ul style="margin-top: 0px; margin-bottom: 0px;">';
|
||||
echo '<li><a class="Item2" href="profile/urlaubsfreigabe.php" target="content">Alle</a></li>';
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
echo '<li><a class="Item2" href="profile/urlaubsfreigabe.php?uid='.$row->uid.'" target="content">'."$row->nachname $row->vorname $row->titelpre $row->titelpost".'</a></li>';
|
||||
}
|
||||
echo '</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
@@ -42,6 +42,8 @@ class zeitsperre
|
||||
var $updatevon; // string
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // string
|
||||
var $freigabeamum;
|
||||
var $freigabevon;
|
||||
|
||||
|
||||
/**
|
||||
@@ -70,9 +72,14 @@ class zeitsperre
|
||||
WHERE mitarbeiter_uid='".addslashes($uid)."'";
|
||||
|
||||
if($bisgrenze)
|
||||
$qry.=" AND bisdatum>=now()::date";
|
||||
$qry.=" AND (
|
||||
(date_part('month',vondatum)>=9 AND date_part('year', vondatum)>='".(date('Y')-1)."')
|
||||
OR
|
||||
(date_part('month',vondatum)<9 AND date_part('year', vondatum)>='".(date('Y'))."')
|
||||
)";
|
||||
//$qry.=" AND bisdatum>=now()::date";
|
||||
|
||||
$qry.= " ORDER BY vondatum";
|
||||
$qry.= " ORDER BY vondatum DESC";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -100,6 +107,8 @@ class zeitsperre
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->freigabeamum = $row->freigabeamum;
|
||||
$obj->freigabevon = $row->freigabevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
|
||||
@@ -151,6 +160,8 @@ class zeitsperre
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->freigabeamum = $row->freigabeamum;
|
||||
$this->freigabevon = $row->freigabevon;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -237,7 +248,7 @@ class zeitsperre
|
||||
|
||||
$qry = 'INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz, mitarbeiter_uid, bezeichnung,'.
|
||||
' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit_kurzbz, vertretung_uid, insertamum,'.
|
||||
' insertvon, updateamum, updatevon) VALUES ('.
|
||||
' insertvon, updateamum, updatevon, freigabeamum, freigabevon) VALUES ('.
|
||||
$this->addslashes($this->zeitsperretyp_kurzbz).', '.
|
||||
$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
@@ -250,7 +261,9 @@ class zeitsperre
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).'); ';
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->freigabeamum).','.
|
||||
$this->addslashes($this->freigabevon).'); ';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -275,6 +288,8 @@ class zeitsperre
|
||||
'vertretung_uid='.$this->addslashes($this->vertretung_uid).', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'freigabeamum='.$this->addslashes($this->freigabeamum).', '.
|
||||
'freigabevon='.$this->addslashes($this->freigabevon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE zeitsperre_id = '.$this->addslashes($this->zeitsperre_id).';';
|
||||
|
||||
+11
-3
@@ -50,9 +50,17 @@
|
||||
<!ENTITY menu-statistic-lehrauftraege.label "Lehrauftraege">
|
||||
<!ENTITY menu-statistic-lehrauftraege.accesskey "L">
|
||||
|
||||
<!ENTITY menu-statistic-lvplanung.key "V">
|
||||
<!ENTITY menu-statistic-lvplanung.label "LV-Planung">
|
||||
<!ENTITY menu-statistic-lvplanung.accesskey "V">
|
||||
<!ENTITY menu-statistic-sublvplanung.key "V">
|
||||
<!ENTITY menu-statistic-sublvplanung.label "LV-Planung">
|
||||
<!ENTITY menu-statistic-sublvplanung.accesskey "V">
|
||||
|
||||
<!ENTITY menu-statistic-lvplanung.key "H">
|
||||
<!ENTITY menu-statistic-lvplanung.label "HTML">
|
||||
<!ENTITY menu-statistic-lvplanung.accesskey "H">
|
||||
|
||||
<!ENTITY menu-statistic-lvplanungexcel.key "E">
|
||||
<!ENTITY menu-statistic-lvplanungexcel.label "EXCEL">
|
||||
<!ENTITY menu-statistic-lvplanungexcel.accesskey "E">
|
||||
|
||||
<!ENTITY menu-statistic-lehrauftragsliste.key "A">
|
||||
<!ENTITY menu-statistic-lehrauftragsliste.label "Lehrauftragsliste">
|
||||
|
||||
+27
-5
@@ -181,22 +181,44 @@ function drawLehrauftrag($uid)
|
||||
<studiensemester>$studiensemester</studiensemester>";
|
||||
|
||||
//Lektor
|
||||
$qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN public.tbl_adresse USING(person_id) WHERE uid='".addslashes($uid)."' ORDER BY zustelladresse LIMIT 1";
|
||||
$qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN public.tbl_adresse USING(person_id) WHERE uid='".addslashes($uid)."'
|
||||
ORDER BY zustelladresse DESC LIMIT 1";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->firma_id!='')
|
||||
{
|
||||
$qry ="SELECT * FROM public.tbl_firma JOIN public.tbl_adresse USING(firma_id)
|
||||
WHERE tbl_firma.firma_id='$row->firma_id' LIMIT 1";
|
||||
$result_firma = pg_query($conn, $qry);
|
||||
$row_firma = pg_fetch_object($result_firma);
|
||||
$name_gesamt = $row_firma->name;
|
||||
$strasse = $row_firma->strasse;
|
||||
$plz = $row_firma->plz;
|
||||
$ort = $row_firma->ort;
|
||||
$zuhanden = "zu Handen ".trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost);
|
||||
}
|
||||
else
|
||||
{
|
||||
$strasse = $row->strasse;
|
||||
$plz = $row->plz;
|
||||
$ort = $row->ort;
|
||||
$name_gesamt = trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost);
|
||||
$zuhanden='';
|
||||
}
|
||||
$xml.='
|
||||
<mitarbeiter>
|
||||
<titelpre>'.$row->titelpre.'</titelpre>
|
||||
<vorname>'.$row->vorname.'</vorname>
|
||||
<familienname>'.$row->nachname.'</familienname>
|
||||
<titelpost>'.$row->titelpost.'</titelpost>
|
||||
<anschrift>'.$row->strasse.'</anschrift>
|
||||
<name_gesamt>'.trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost).'</name_gesamt>
|
||||
<plz>'.$row->plz.'</plz>
|
||||
<ort>'.$row->ort.'</ort>
|
||||
<anschrift>'.$strasse.'</anschrift>
|
||||
<name_gesamt>'.$name_gesamt.'</name_gesamt>
|
||||
<zuhanden>'.$zuhanden.'</zuhanden>
|
||||
<plz>'.$plz.'</plz>
|
||||
<ort>'.$ort.'</ort>
|
||||
<svnr>'.$row->svnr.'</svnr>
|
||||
<personalnummer>'.$row->personalnummer.'</personalnummer>
|
||||
</mitarbeiter>';
|
||||
|
||||
@@ -36,6 +36,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
\n<xsl:value-of select="mitarbeiter/anschrift" />
|
||||
\n<xsl:value-of select="mitarbeiter/plz" /><xsl:text> </xsl:text>
|
||||
<xsl:value-of select="mitarbeiter/ort" />
|
||||
\n<xsl:value-of select="mitarbeiter/zuhanden" />
|
||||
</fo:inline>
|
||||
\n\n<fo:block font-size="7pt">
|
||||
Abs.: Fachhochschule Technikum Wien, Höchstädtplatz 5, A-1200 Wien
|
||||
|
||||
Reference in New Issue
Block a user