From 740cc989b3074c0a8e90dcba7bcd23c352bda35b Mon Sep 17 00:00:00 2001 From: Christian Paminger Date: Fri, 27 Jun 2008 07:09:54 +0000 Subject: [PATCH] --- cis/private/profile/urlaubstool.php | 151 ++++++++++-------- cis/private/profile/zeitsperre_resturlaub.php | 33 ++-- 2 files changed, 99 insertions(+), 85 deletions(-) diff --git a/cis/private/profile/urlaubstool.php b/cis/private/profile/urlaubstool.php index 9fa22eafd..630881e2a 100644 --- a/cis/private/profile/urlaubstool.php +++ b/cis/private/profile/urlaubstool.php @@ -31,7 +31,7 @@ //DB Verbindung herstellen if (!$conn = @pg_pconnect(CONN_STRING)) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - + $content_resturlaub = ''; $content = ''; $resturlaubstage = '0'; @@ -67,7 +67,7 @@ $taste=0; 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) + $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 @@ -86,7 +86,7 @@ if (isset($_GET['wtag']) || isset($_POST['wtag'])) { $wtag=(isset($_GET['wtag'])?$_GET['wtag']:$_POST['wtag']); } -else +else { $wtag=date("d.m.Y"); } @@ -120,15 +120,15 @@ if (isset($_GET['hgfarbe'])) } else { - + if (!isset($_GET['spmonat'])) { for($i=0;$i<44;$i++) - { + { if(!isset($hgfarbe[$i]) || $hgfarbe[$i]!='lime') $hgfarbe[$i]='white'; } - } + } } if (isset($_GET['links_x']) || isset($_POST['links_x'])) { @@ -138,9 +138,9 @@ if (isset($_GET['links_x']) || isset($_POST['links_x'])) { $wmonat=11; $wjahr=$wjahr-1; - } + } } - else + else { $wmonat=$wmonat-1; $wjahr=$wjahr; @@ -154,9 +154,9 @@ if (isset($_GET['rechts_x']) || isset($_POST['rechts_x'])) { $wmonat=0; $wjahr=$wjahr+1; - } + } } - else + else { $wmonat=$wmonat+1; $wjahr=$wjahr; @@ -184,7 +184,7 @@ if(isset($_GET['speichern']) && isset($_GET['wtag'])) $akette[0]=date("Y-m-d",strtotime($wtag[0])); $ekette[0]=date("Y-m-d",strtotime($wtag[0])); for($i=1,$j=0;$iFreigabemail wurde an $to versandt!"; } - else + else { $vgmail="
Fehler beim Senden des Freigabemails an $to!"; } } - else + else { $vgmail="
Es konnte keine Freigabemail versendet werden, da kein Vorgesetzter eingetragen ist!"; } - + } //Eintragungen laden @@ -287,14 +287,14 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr))) //echo "-".$row->bisdatum; for($i=$wotag;$i<$mende+$wotag;$i++) { - if(date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum + if(date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum && date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum) { if($row->freigabevon!='' || $row->bisdatumvertretung_uid; $erreichbarkeit_kurzbz[$i]=$row->erreichbarkeit_kurzbz; } - else + else { if($hgfarbe[$i]!='lime' && $hgfarbe[$i]!='green') { - + $hgfarbe[$i]='white'; $datensatz[$i]=0; $freigabevon[$i]=$row->freigabevon; @@ -365,37 +365,58 @@ a:visited { text-decoration:none; font-weight:bold; color:blue; } Urlaubstool (".$uid.")"; -//Anzeige Resturlaubsberechnung -echo ''; -echo '
'; -$resturlaub = new resturlaub($conn); + //alert("Ich bin auf Tag " + kastl); + echo "

Urlaubstool (".$uid.")

"; + //Anzeige Resturlaubsberechnung + echo ''; + echo ''; @@ -453,7 +474,7 @@ if($result = pg_query($conn, $qry)) { $content.= "\n"; } - else + else { $content.= "\n"; } @@ -474,7 +495,7 @@ if($result = pg_query($conn, $qry)) { $content.= "\n"; } - else + else { $content.= "\n"; } @@ -483,7 +504,7 @@ if($result = pg_query($conn, $qry)) $content.= ''; $content.=''; -//Tage +//Tage $mbeginn=mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]); $ttt=getdate($mbeginn); $wotag="$ttt[wday]"; @@ -499,7 +520,7 @@ for($i=1;$i<43;$i++) { $tage[$i]=''; } - else + else { $tage[$i]=$zaehl; $zaehl++; @@ -531,25 +552,25 @@ for ($i=0;$i<6;$i++) $content.=""; $content.='loeschen'; } - elseif($hgfarbe[$j+7*$i]=='white') + elseif($hgfarbe[$j+7*$i]=='white') { $content.=''.$tage[$j+7*$i].'
'; $content.=''; } - else + else { $content.=''.$tage[$j+7*$i].'
'; if(isset($freigabeamum[$j+7*$i])) - { - $content.='freigegeben'; - } - else { - $content.='freigegeben'; + $content.='freigegeben'; + } + else + { + $content.='freigegeben'; } } } - else + else { $content.=' 
'; } diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php index c07e19a0e..b51ba7789 100644 --- a/cis/private/profile/zeitsperre_resturlaub.php +++ b/cis/private/profile/zeitsperre_resturlaub.php @@ -30,6 +30,7 @@ require_once('../../../include/resturlaub.class.php'); require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); + require_once('../../../include/mitarbeiter.class.php'); $uid = get_uid(); @@ -42,6 +43,7 @@ die("Es konnte keine Verbindung zum Server aufgebaut werden."); $datum_obj = new datum(); + $ma= new mitarbeiter($conn); //Stundentabelleholen if(! $result_stunde=pg_query($conn, "SELECT * FROM lehre.tbl_stunde ORDER BY stunde")) @@ -120,18 +122,6 @@ function checkdatum() vorgesetzter)?$row->vorgesetzter:''); -} //Zeitsperre Speichern if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre')) @@ -206,10 +196,12 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_ 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!='') + $vorgesetzter = $ma->getVorgesetzte($uid); + if($vorgesetzter) { - $to = $vorgesetzter.'@'.DOMAIN; + $to=''; + foreach($ma->vorgesetzte as $vg) + $to.=$vg.'@'.DOMAIN.','; //$to = 'oesi@technikum-wien.at'; $benutzer = new benutzer($conn); $benutzer->load($uid); @@ -534,11 +526,12 @@ if(URLAUB_TOOLS) $gebuchterurlaub = $row->anzahltage; if($gebuchterurlaub=='') $gebuchterurlaub=0; - $content_resturlaub.="
'; + $resturlaub = new resturlaub($conn); -if($resturlaub->load($uid)) -{ - $resturlaubstage = $resturlaub->resturlaubstage; - $mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden; - $anspruch = $resturlaub->urlaubstageprojahr; -} -$content_resturlaub.=""; -$content_resturlaub.=""; -$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; -if($gebuchterurlaub=='') + if($resturlaub->load($uid)) + { + $resturlaubstage = $resturlaub->resturlaubstage; + $mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden; + $anspruch = $resturlaub->urlaubstageprojahr; + } + + $jahr=date('Y'); + if (date('M')>8) + { + $datum_beginn_iso=$jahr.'-09-01'; + $datum_beginn='1.Sept.'.$jahr; + $datum_ende_iso=($jahr+1).'-08-31'; + $datum_ende='31.Aug.'.($jahr+1); + $geschaeftsjahr=$jahr.'/'.($jahr+1); + } + else + { + $datum_beginn_iso=($jahr-1).'-09-01'; + $datum_beginn='1.Sept.'.($jahr-1); + $datum_ende_iso=$jahr.'-08-31'; + $datum_ende='31.Aug.'.$jahr; + $geschaeftsjahr=($jahr-1).'/'.$jahr; + } + + //Urlaub berechnen $gebuchterurlaub=0; -$content_resturlaub.=""; -$content_resturlaub .=""; -$content_resturlaub.=""; + $qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre + WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='$uid' AND + ( + vondatum>='$datum_beginn_iso' AND bisdatum<='$datum_ende_iso' + )"; + $result = pg_query($conn, $qry); + $row = pg_fetch_object($result); + $gebuchterurlaub = $row->anzahltage; + if($gebuchterurlaub=='') + $gebuchterurlaub=0; + +$content_resturlaub.="
Anspruch$anspruch Tage
+ Resturlaub$resturlaubstage Tage
- aktuell gebuchter Urlaub $gebuchterurlaub Tage
aktueller Stand".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage
"; +$content_resturlaub.=""; +$content_resturlaub.=""; +$content_resturlaub.=""; +$content_resturlaub.=""; +$content_resturlaub .=""; +$content_resturlaub .=''; $content_resturlaub.="

Urlaub im Geschäftsjahr $geschaeftsjahr

[AblaufUrlaubserfassung.pdf]
Anspruch$anspruch Tage   ( jährlich )
+ Resturlaub$resturlaubstage Tage   ( Stichtag: $datum_beginn )
- aktuell gebuchter Urlaub $gebuchterurlaub Tage   ( $datum_beginn - $datum_ende )
aktueller Stand".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage   ( Stichtag: $datum_ende )
"; //Formular Auswahl Monat und Jahr für Kalender @@ -412,7 +433,7 @@ for($i=0;$i<12;$i++) { $selected='selected'; } - else + else { $selected=''; } @@ -429,12 +450,12 @@ for($i=0;$i<5;$i++) { $selected='selected'; } - else + else { $selected=''; } $content.=""; -} +} $content.=''; $content.=" "; $content.='
"; - $content_resturlaub.=""; - $content_resturlaub.=""; - $content_resturlaub.=""; - $content_resturlaub .=""; + $content_resturlaub.="
Anspruch$anspruch Tage   ( jährlich )
+ Resturlaub$resturlaubstage Tage   ( Stichtag: $datum_beginn )
- aktuell gebuchter Urlaub $gebuchterurlaub Tage   ( $datum_beginn - $datum_ende )
aktueller Stand".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage   ( Stichtag: $datum_ende )
"; + $content_resturlaub.=""; + $content_resturlaub.=""; + $content_resturlaub.=""; + $content_resturlaub .=""; + $content_resturlaub .=''; $content_resturlaub.="
Anspruch$anspruch Tage   ( jährlich )
+ Resturlaub$resturlaubstage Tage   ( Stichtag: $datum_beginn )
- aktuell gebuchter Urlaub $gebuchterurlaub Tage   ( $datum_beginn - $datum_ende )
aktueller Stand".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage   ( Stichtag: $datum_ende )
[AblaufUrlaubserfassung.pdf]
"; } echo '';