app->DB->Select("SELECT abkuerzung FROM projekt WHERE id='".$myArr["projekt"]."' LIMIT 1");
+ if($paketauswahl==$myArr["id"])$checked=" selected"; else $checked ="";
+ $select = $select.'';
+ }
+ */
+ if($paketauswahl > 0) {
+ $tmp = $this->app->DB->Select("SELECT CONCAT(ap.id,' ',p.abkuerzung,' ',ap.aufgabe) as name2 FROM arbeitspaket ap LEFT JOIN projekt p ON p.id=ap.projekt WHERE ap.id='$paketauswahl' LIMIT 1");
+ $this->app->Tpl->Set('PAKETAUSWAHL', $tmp);
+ }
+
+ $checkvon = str_replace(':','',$this->app->Secure->GetPOST('vonZeit'));
+ $checkbis = str_replace(':','',$this->app->Secure->GetPOST('bisZeit'));
+ $fehlerangezeigt = false;
+
+ if($this->app->Secure->GetPOST('ok')){
+ $vonZeit = $this->app->String->Convert($datum,'%1.%2.%3','%3-%2-%1').' '.$this->app->Secure->GetPOST('vonZeit').':00';
+ $bisZeit = $this->app->String->Convert($datum,'%1.%2.%3','%3-%2-%1').' '.$this->app->Secure->GetPOST('bisZeit').':00';
+
+
+
+ if($paketauswahl == 0){
+ if(($aufgabe!='') && ($this->app->Secure->GetPOST('vonZeit')!='') && ($this->app->Secure->GetPOST('bisZeit')!='') && ($datum!='') && ($checkbis > $checkvon) && $zeiteedit && !$this->app->DB->Select("SELECT id FROM projekt WHERE id = '$projekt' AND status = 'abgeschlossen' LIMIT 1")){
+ {
+ // Hier fehlt abrechnen und adresse_abrechnung
+ $zeitid = $this->app->erp->AddArbeitszeit($adr_id, $vonZeit, $bisZeit, $aufgabe, $beschreibung, $ort,
+ $projekt, 0,$art,$adresse_kunde,$abrechnen,$verrechnungsart,$kostenstelle,$abgrechnet,$gps,0,$internerkommentar,$auftrag,$produktion,"",$auftragpositionid);
+ $this->app->erp->RunHook('zeiterfassung_create_guihook1',1,$zeitid);
+
+ if($serviceauftrag){
+ $this->app->DB->Update("UPDATE zeiterfassung SET serviceauftrag = '$serviceauftrag' WHERE id = '$zeitid' LIMIT 1");
+ }
+ $this->app->Tpl->Set('MESSAGE',"Zeit erfolgreich gebucht!
");
+ $msg = $this->app->erp->base64_url_encode("Zeit erfolgreich gebucht!
");
+ header("Location: index.php?module=zeiterfassung&action=create&msg=$msg#tabs-1");
+ exit;
+ }
+ }else{
+ if($this->app->DB->Select("SELECT id FROM projekt WHERE id = '$projekt' AND status = 'abgeschlossen' LIMIT 1"))
+ {
+ $msg = $this->app->erp->base64_url_encode('Das Projekt '.$this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projekt' LIMIT 1").' ist bereits abgeschlossen.
');
+ $this->app->Tpl->Set('MESSAGE','Das Projekt '.$this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projekt' LIMIT 1").' ist bereits abgeschlossen.
');
+ }
+ elseif(!$zeiteedit)
+ {
+ $fehlerangezeigt = true;
+ $this->app->Tpl->Set('MESSAGE','Fehler! Das Anlegen/Editieren von Zeiten älter als '.$this->app->erp->Firmendaten('zeiterfassung_schliessentage').' Tagen ist nicht erlaubt!
');
+ }elseif($checkbis <= $checkvon){
+ $this->app->Tpl->Set('MESSAGE', 'Fehler! Zeit bis ist kleiner bzw gleich als Zeit von!
');
+ }
+ else{
+ $this->app->Tpl->Set('MESSAGE', 'Fehler! Die Felder "Kurze Beschreibung", am, von, bis müssen korrekt ausgefüllt sein!
');
+ }
+ // $this->app->Tpl->Add('JQUERYREADY', '$("#accordion").accordion({ active: 2, event: "click" });');
+ }
+ }else{
+ if(($this->app->Secure->GetPOST('vonZeit')!='') && ($this->app->Secure->GetPOST('bisZeit')!='') && ($datum!='') && $aufgabe!='' && ($checkbis > $checkvon) && $zeiteedit && !$this->app->DB->Select("SELECT id FROM projekt WHERE id = '$projekt' AND status = 'abgeschlossen' LIMIT 1")){
+ //Paketauswahl buchen ...
+ $projekt = $this->app->DB->Select("SELECT projekt FROM arbeitspaket WHERE id='$paketauswahl' LIMIT 1");
+ if($this->app->DB->Select("SELECT id FROM projekt WHERE id = '$projekt' AND status = 'abgeschlossen' LIMIT 1"))
+ {
+ $this->app->Tpl->Set('MESSAGE','Das Projekt '.$this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projekt' LIMIT 1").' ist bereits abgeschlossen.
');
+ }else{
+ $kunde = $this->app->DB->Select("SELECT kunde FROM projekt WHERE id='$projekt' LIMIT 1");
+ if($adresse_kunde=='') {
+ $adresse_kunde=$kunde;
+ }
+
+
+ $zeitid = $this->app->erp->AddArbeitszeit($adr_id, $vonZeit, $bisZeit, $aufgabe, $beschreibung, $ort,
+ $projekt, $paketauswahl,$art,$adresse_kunde,$abrechnen,$verrechnungsart,$kostenstelle,$abgerechnet,$gps,0,$internerkommentar,$auftrag,$produktion);
+
+ $this->app->erp->RunHook('zeiterfassung_create_guihook1',1,$zeitid);
+
+ if($serviceauftrag){
+ $this->app->DB->Update("UPDATE zeiterfassung SET serviceauftrag = '$serviceauftrag' WHERE id = '$zeitid' LIMIT 1");
+ }
+ $msg = $this->app->erp->base64_url_encode('Zeit erfolgreich gebucht!
');
+ header("Location: index.php?module=zeiterfassung&action=create&msg=$msg#tabs-1");
+ exit;
+ }
+ }else{
+ if($this->app->DB->Select("SELECT id FROM projekt WHERE id = '$projekt' AND status = 'abgeschlossen' LIMIT 1"))
+ {
+ $msg = $this->app->erp->base64_url_encode('Das Projekt '.$this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projekt' LIMIT 1").' ist bereits abgeschlossen.
');
+ $this->app->Tpl->Add('MESSAGE','Das Projekt '.$this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projekt' LIMIT 1").' ist bereits abgeschlossen.
');
+ }elseif(!$zeiteedit)
+ {
+ $fehlerangezeigt = true;
+ $this->app->Tpl->Set('MESSAGE','Fehler! Das Anlegen/Editieren von Zeiten kleiner '.$this->app->erp->Firmendaten('zeiterfassung_schliessentage').' Tagen ist nicht erlaubt!
');
+ }elseif($checkbis <= $checkvon){
+ $this->app->Tpl->Set('MESSAGE', 'Fehler! Zeit bis ist kleiner bzw gleich als Zeit von!
');
+ }
+ else{
+ $this->app->Tpl->Set('MESSAGE', 'Fehler! Die Felder "Kurze Beschreibung", am, von, bis müssen korrekt ausgefüllt sein!
');
+ }
+ // $this->app->Tpl->Add('JQUERYREADY', '$("#accordion").accordion({ active: 2, event: "click" });');
+ }
+ }
+
+ if($id==''){
+ $vonZeit = $this->app->DB->Select("SELECT DATE_FORMAT(MAX(bis),'%H:%i') FROM zeiterfassung WHERE adresse='$adr_id' AND DATE_FORMAT(bis,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d')");
+ }
+
+ } else {
+ if($this->app->Secure->GetPOST('update')){
+ if(($aufgabe!='') && ($this->app->Secure->GetPOST('vonZeit')!='') && ($this->app->Secure->GetPOST('bisZeit')!='') && ($datum!='') && ($checkbis > $checkvon) && $zeiteedit && !$this->app->DB->Select("SELECT id FROM projekt WHERE id = '$projekt' AND status = 'abgeschlossen' LIMIT 1")){
+ // echo "update";
+ //echo $datum;
+ $vonZeit = $this->app->String->Convert($datum,'%1.%2.%3','%3-%2-%1').' '.$this->app->Secure->GetPOST('vonZeit').':00';
+ $bisZeit = $this->app->String->Convert($datum,'%1.%2.%3','%3-%2-%1').' '.$this->app->Secure->GetPOST('bisZeit').':00';
+
+ if($paketauswahl == 0)
+ {
+ $this->app->erp->UpdateArbeitszeit($id,$adr_id, $vonZeit, $bisZeit, $aufgabe, $beschreibung, $ort,
+ $projekt, $paketauswahl,$art,$adresse_kunde,$abrechnen,$verrechnungsart,$kostenstelle,$abgerechnet,$gps,$internerkommentar,$auftrag,$produktion,"",$auftragpositionid);
+
+ if($serviceauftrag){
+ $this->app->DB->Update("UPDATE zeiterfassung SET serviceauftrag = '$serviceauftrag' WHERE id = '$id' LIMIT 1");
+ }
+ }
+ else
+ {
+ $this->app->erp->UpdateArbeitszeit($id,$adr_id, $vonZeit, $bisZeit, $aufgabe, $beschreibung, $ort,
+ $projekt, $paketauswahl,$art,'',$abrechnen,$verrechnungsart,$kostenstelle,$gps,$internerkommentar,$auftrag,$produktion,'',$auftragpositionid);
+
+ if($serviceauftrag){
+ $this->app->DB->Update("UPDATE zeiterfassung SET serviceauftrag = '$serviceauftrag' WHERE id = '$id' LIMIT 1");
+ }
+ }
+ $this->app->erp->RunHook('zeiterfassung_create_guihook1');
+
+
+ $back = $this->app->Secure->GetGET('back');
+ if($back=='zeiterfassung'){
+ header('Location: index.php?module=zeiterfassung&action=list');
+ }
+ else if($back=='zeiterfassunguser'){
+ header('Location: index.php?module=zeiterfassung&action=listuser');
+ }
+ else if($back=='service'){
+ header('Location: index.php?module=service&action=list');
+ }
+ else if($back=='aufgabe'){
+ header('Location: index.php?module=aufgaben&action=list');
+ }
+ else if($back=='zeiterfassungmitarbeiter')
+ {
+ $sid = $this->app->Secure->GetGET('sid');
+ header("Location: index.php?module=adresse&action=zeiterfassung&id=$sid");
+ }
+
+
+ else if ($back=='projekt')
+ {
+ $back_id = $this->app->Secure->GetGET('back_id');
+ $back_sid = $this->app->Secure->GetGET('back_sid');
+ header("Location: index.php?module=projekt&action=zeit&id=$back_id&sid=$back_sid");
+ }
+ else if ($back=='lohnabrechnung')
+ {
+ header('Location: index.php?module=lohnabrechnung&action=list');
+ }
+ else if ($back=='adresse')
+ {
+ $back_id = $this->app->Secure->GetGET('back_id');
+ header("Location: index.php?module=adresse&action=abrechnungzeit&id=$back_id");
+ }
+ else{
+ header('Location: index.php?module=zeiterfassung&action=create#tabs-1');
+ }
+ exit;
+
+ } else {
+ if(!$this->app->DB->Select("SELECT id FROM projekt WHERE id = '$projekt' AND status = 'abgeschlossen' LIMIT 1"))
+ {
+ $this->app->Tpl->Add('MESSAGE','Das Projekt '.$this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projekt' LIMIT 1").' ist bereits abgeschlossen.
');
+ }elseif(!$zeiteedit)
+ {
+ $fehlerangezeigt = true;
+ $this->app->Tpl->Set('MESSAGE','Fehler! Das Anlegen/Editieren von Zeiten kleiner '.$this->app->erp->Firmendaten('zeiterfassung_schliessentage').' Tagen ist nicht erlaubt!
');
+ }elseif($checkbis <= $checkvon){
+ $this->app->Tpl->Set('MESSAGE', 'Fehler! Zeit bis ist kleiner bzw gleich als Zeit von!
');
+ }
+ else{
+ $this->app->Tpl->Set('MESSAGE', 'Fehler! Die Felder "Kurze Beschreibung", am, von, bis müssen ausgefüllt sein!
');
+ }
+ // $this->app->Tpl->Add('JQUERYREADY', '$("#accordion").accordion({ active: 2, event: "click" });');
+ }
+
+ }
+ }
+
+ //tabelle mit gebuchten tätigkeiten heute
+ if($id=='')
+ {
+ $table = new EasyTable($this->app);
+
+ $table->Query("SELECT DATE_FORMAT(z.bis, GET_FORMAT(DATE,'EUR')) AS Datum,
+ z.aufgabe as Taetigkeit,
+
+ (SELECT name FROM adresse adr WHERE adr.id=z.adresse) as mitarbeiter,
+ DATE_FORMAT(z.von,'%H:%i') as von, DATE_FORMAT(z.bis,'%H:%i') as bis,
+ TIMEDIFF(z.bis, z.von) AS Dauer,
+
+ p.abkuerzung as Projekt,
+ ap.aufgabe as 'Unterprojekt/Arbeitspaket',
+
+
+ IF(DATEDIFF(CURDATE(), z.bis)<= 5,
+ CONCAT('Stornieren | Edit'), '')
+ FROM zeiterfassung z LEFT JOIN projekt p ON p.id=z.projekt LEFT JOIN arbeitspaket ap ON z.arbeitspaket=ap.id
+ WHERE z.gebucht_von_user=".$this->app->User->GetID()." AND DATE_FORMAT(z.bis,'%Y-%m-%d')= DATE_FORMAT(NOW(),'%Y-%m-%d')
+ ORDER BY 1 DESC,2 DESC, 3 DESC
+ ");
+ $table->DisplayNew('TABELLE','Aktion','noAction');
+ $this->app->Tpl->Set('BUTTON',"");
+ } else {
+
+ $back = $this->app->Secure->GetGET('back');
+
+ if($back=='zeiterfassung'){
+ $link = 'index.php?module=zeiterfassung&action=list';
+ }
+ else if($back=='service'){
+ $link = 'index.php?module=service&action=list';
+ }
+ else if($back=='aufgabe'){
+ $link = 'index.php?module=aufgaben&action=list';
+ }
+ else if ($back=='projekt')
+ {
+ $back_id = $this->app->Secure->GetGET('back_id');
+ $back_sid = $this->app->Secure->GetGET('back_sid');
+ $link = "index.php?module=projekt&action=zeit&id=$back_id&sid=$back_sid";
+ }
+ else if ($back=="adresse")
+ {
+ $back_id = $this->app->Secure->GetGET("back_id");
+ $link = "index.php?module=adresse&action=abrechnungzeit&id=$back_id";
+ }
+ else{
+ $link = 'index.php?module=zeiterfassung&action=create#tabs-1';
+ }
+ // $this->app->Tpl->Add('JQUERYREADY', '$("#accordion").accordion({ active: 2, event: "click" });');
+ if($zeiteedit && !$projektabgeschlossen)
+ {
+ $this->app->Tpl->Set('BUTTON',"
+
+
+ ");
+ }else{
+ if($projektabgeschlossen)
+ {
+ $this->app->Tpl->Add('MESSAGE','Das Projekt '.$this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projekt' LIMIT 1").' ist bereits abgeschlossen.
');
+ }else{
+ if(!$fehlerangezeigt)$this->app->Tpl->Add('MESSAGE',"Das Anlegen/Editieren von Zeiten kleiner ".$this->app->erp->Firmendaten('zeiterfassung_schliessentage')." Tagen ist nicht erlaubt!
");
+ }
+ $this->app->Tpl->Set('BUTTON',
+ ''." ");
+ }
+ }
+
+
+ $this->app->YUI->DatePicker('datum');
+ //$this->app->YUI->DatePicker('teilprojekt_datum');
+ //$this->app->YUI->DatePicker('kunde_datum');
+ $this->app->YUI->TimePicker('vonZeit');
+ $this->app->YUI->TimePicker('bisZeit');
+
+
+
+ if($this->app->erp->Firmendaten('zeiterfassung_anderemitarbeiter')!=1)
+ {
+ $this->app->Tpl->Set('STARTANDEREERLAUBEN','');
+ }
+
+ if($this->app->erp->Firmendaten('zeiterfassung_erweitert')!=1)
+ {
+ $this->app->Tpl->Set('STARTERWEITERT','');
+ }
+
+ if($this->app->erp->Firmendaten('zeiterfassung_kommentar')!=1)
+ {
+ $this->app->Tpl->Set('STARTKOMMENTAR','');
+ }
+
+ if($this->app->erp->Firmendaten('zeiterfassung_ort')!=1)
+ {
+ $this->app->Tpl->Set('STARTORT','');
+ }
+
+ $this->app->YUI->AutoSaveUserParameter('projekt_manuell','teilprojekt_filter');
+
+ if($this->app->erp->ModulVorhanden('serviceauftrag'))
+ {
+ $this->app->YUI->AutoComplete('serviceauftrag','serviceauftrag');
+ }else{
+ $this->app->Tpl->Set('VORSERVICEAUFTRAG','');
+ }
+
+ $this->ZeiteerfassungEigeneUebersicht();
+
+ $this->app->erp->RunHook('zeiterfassung_create_guihook1');
+
+ $this->app->YUI->AutoSaveUserParameter('zeiterfassung_buchen_termine','zeiterfassung_buchen_termine',"$('#calendar').fullCalendar('refetchEvents');");
+ $this->app->YUI->AutoSaveUserParameter('zeiterfassung_buchen_stechuhr','zeiterfassung_buchen_stechuhr',"$('#calendar').fullCalendar('refetchEvents');");
+ if($this->app->User->GetParameter('zeiterfassung_buchen_termine')=='1') {
+ $checked='checked';
+ } else {
+ $checked='';
+ }
+ $this->app->Tpl->Set('CHECKEDZEITERFASSUNGBUCHENTERMINE',$checked);
+
+
+ if($this->app->User->GetParameter('zeiterfassung_buchen_stechuhr')=='1') {
+ $checked='checked';
+ } else {
+ $checked='';
+ }
+ $this->app->Tpl->Set('CHECKEDZEITERFASSUNGBUCHENSTECHUHR',$checked);
+
+
+ if($this->app->User->GetParameter('zeiterfassung_buchen_formularansicht')=='1')
+ {
+ $this->app->Tpl->Set('FORMULARANSICHT','');
+ $this->app->Tpl->Set('ZEITERFASSUNGTABS','{|Formular|}{|Kalenderansicht|}');
+ } else {
+ $this->app->Tpl->Set('FORMULARANSICHT','');
+ $this->app->Tpl->Set('ZEITERFASSUNGTABS','{|Kalenderansicht|}{|Formular|}');
+ }
+
+ //$this->app->Tpl->Set(TABTEXT,'Zeiterfassung');
+ $this->app->Tpl->Parse('TAB1', 'zeiterfassung_manuell.tpl');
+ $this->app->Tpl->Parse('PAGE', 'zeiterfassung_buchen.tpl');
+ }
+
+
+
+ function ZeiterfassungOffen($adr_id)
+ {
+ $this->app->Tpl->Set('SUBSUBHEADING', 'offene Arbeitspakete');
+ $this->app->Tpl->Set('INHALT','');
+
+ $table = new EasyTable($this->app);
+ $table->Query("SELECT DISTINCT a.aufgabe, a.zeit_geplant as vorgabe,
+ (SELECT FORMAT(SUM(TIMEDIFF(bis,von)/10000),2) FROM zeiterfassung WHERE arbeitspaket=a.id) as Gebucht,
+ DATE_FORMAT(a.abgabedatum,'%d.%m.%y') as bis, a.id
+ FROM arbeitspaket a LEFT JOIN zeiterfassung z ON z.arbeitspaket=a.id
+ WHERE a.adresse='$adr_id' AND (a.status = 'gestartet' OR a.status = 'besprochen')");
+
+ $table->DisplayNew('INHALT','[DETAILS%value%]');
+ $this->app->YUI->Dialog($table,'DETAILS','Arbeitspaket','aufgabe','arbeitspaket_details.tpl',$this,'ArbeitspaketReadDetails');
+
+ $this->app->Tpl->Parse('ARBEITSPAKETE','rahmen70.tpl');
+
+ }
+
+ function ZeiterfassungAbgeschlossen($adr_id)
+ {
+
+ $monat = $this->app->DB->Select("SELECT DATE_FORMAT(NOW(),'%M')");
+ $this->app->Tpl->Set('SUBSUBHEADING', "Zeiterfassung ($monat)");
+ $this->app->Tpl->Set('INHALT','');
+ $table = new EasyTable($this->app);
+
+ // SELECT SUM(hour(z.bis) - hour(z.von)) AS dauer, a.aufgabe, a.zeit_geplant FROM zeiterfassung AS z, arbeitspakete AS a WHERE z.adresse = 2 AND z.adresse = a.adresse AND z.arbeitspaket = a.id AND a.id = 2 AND (status = "gestartet" OR status = "besprochen") GROUP BY aufgabe
+
+ $table->Query("SELECT DATE_FORMAT(bis, GET_FORMAT(DATE,'EUR')) AS Datum, DATE_FORMAT(von,'%H:%i') as von, DATE_FORMAT(bis,'%H:%i') as bis,
+ TIMEDIFF(bis, von) AS Dauer,
+ aufgabe as Taetigkeit,
+ IF(DATEDIFF(CURDATE(), bis)<= 5,
+ CONCAT('Stornieren | Edit'), '')
+ FROM zeiterfassung
+ WHERE adresse=$adr_id
+ AND (
+ MONTH(bis) = MONTH(NOW()) OR DATEDIFF(CURDATE(), bis)<= 5
+ )
+ ORDER BY 1 DESC,2 DESC
+ ");
+
+ $table->DisplayNew('INHALT','Aktion','noAction');
+
+
+ // $this->app->Tpl->Set(INHALT,"Abgschlossen");
+ $this->app->Tpl->Parse('ZEITERFASSUNGEN','rahmen70.tpl');
+ }
+
+ function AufgabenOffen($adr_id){
+ $this->app->Tpl->Set('SUBHEADING', 'offene Aufgaben');
+ $this->app->Tpl->Set('INHALT','');
+
+ // selektierte Aufgabe Updaten
+ if($this->app->Secure->GetPOST('ok') != ''){
+ $aufg_id = $this->app->Secure->GetPOST('aufg_id');
+ foreach($aufg_id as $myId){
+ $this->app->DB->Update("UPDATE aufgabe SET abgeschlossen_am = CURDATE(), abgeschlossen='1' WHERE id=$myId LIMIT 1");
+ // Kopie nach aufgabe_erledigt
+ $this->app->DB->Insert("INSERT INTO aufgabe_erledigt (adresse, aufgabe, abgeschlossen_am)
+ VALUES ($adr_id, $myId, CURDATE())");
+ }
+ }
+
+ $table = new EasyTable($this->app);
+ // Hole einmalige und wiederholende Aufgaben
+ // bei wiederholenden Aufgaben werden nur die vom heutigen Tag und nach Schema startdatum + (intervall*n) geholt
+ $table->Query("SELECT
+ CONCAT(\"\") AS Ok,
+ IF(intervall_tage=0, DATE_FORMAT(startdatum, '%d.%m.%Y'),
+ DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL MOD(DATEDIFF(CURDATE(),DATE_FORMAT(startdatum, '%Y:%m:%d')),intervall_tage) day),'%d.%m.%Y')) AS Datum,
+ IF(intervall_tage=0, DATEDIFF(CURDATE(), startdatum) ,MOD(DATEDIFF(CURDATE(), startdatum),intervall_tage)) AS Verzug,
+ IF(intervall_tage=0, 'einmalig', intervall_tage) AS Intervall,
+ aufgabe, beschreibung
+ FROM aufgabe
+ WHERE
+ (abgeschlossen=0 AND (adresse=$adr_id OR adresse=0))
+ OR
+ (DATE_SUB(CURDATE(), INTERVAL MOD(DATEDIFF(CURDATE(),DATE_FORMAT(startdatum, '%Y:%m:%d')),intervall_tage) day)=CURDATE()
+ AND DATE_SUB(CURDATE(), INTERVAL MOD(DATEDIFF(CURDATE(),DATE_FORMAT(startdatum, '%Y:%m:%d')),intervall_tage) day) != abgeschlossen_am
+ AND intervall_tage>0 AND (adresse=$adr_id OR adresse=0))
+ ORDER BY Datum");
+
+ $table->DisplayNew('INHALT','Beschreibung','noAction');
+
+ $this->app->Tpl->Parse('AUFGABEN','rahmen_submit_100.tpl');
+ }
+
+ function ZeiterfassungArchiv($adr_id)
+ {
+ $this->app->Tpl->Set('SUBHEADING', 'Archiv');
+ $this->app->Tpl->Set('INHALT','');
+
+ $table = new EasyTable($this->app);
+ $table->Query("SELECT
+ MONTHNAME(bis) AS Monat,
+ YEAR(bis) Jahr,
+ CONCAT(ROUND(SUM(TIME_TO_SEC(TIMEDIFF(bis,von)))/3600,1),' Stunden') AS Arbeitszeit,
+ CONCAT('')
+ FROM `zeiterfassung`
+ WHERE adresse=$adr_id
+ GROUP BY MONTHNAME(bis)
+ ORDER BY bis DESC");
+
+ $table->DisplayNew('INHALT','Aktion', 'noAction');
+
+ $this->app->Tpl->Parse('ARCHIV','rahmen100.tpl');
+ }
+
+ public function ZeiterfassungDetails()
+ {
+ $monat = $this->app->Secure->GetGET('month');
+ $jahr = $this->app->Secure->GetGET('year');
+ $frame = $this->app->Secure->GetGET('frame');
+
+ if($frame=='false')
+ {
+ // hier nur fenster größe anpassen
+ $this->app->YUI->IframeDialog(650,730);
+ } else {
+
+ $id = $this->app->User->GetId();
+ if($id!=''){
+ $adr_id = $this->app->DB->Select("SELECT adresse FROM user WHERE id=$id");
+ }
+
+ $monatsname = $this->app->DB->Select("SELECT MONTHNAME('$jahr-$monat-01')");
+
+ $this->app->Tpl->Set('SUBHEADING', "Arbeitszeiten für $monatsname");
+ $this->app->Tpl->Set('INHALT','');
+
+
+ // $this->app->Tpl->Add(KURZUEBERSCHRIFT,"Zeiterfassung");
+
+ //$this->app->Tpl->Add(TABS,
+ // "Zurück zur Übersicht");
+
+ $table = new EasyTable($this->app);
+ $table->Query("SELECT
+ DATE_FORMAT(bis,'%d.%m.%y') as Datum,
+ ROUND((TIME_TO_SEC(TIMEDIFF(bis,von))/3600)) AS Dauer,
+ buchungsart,
+ aufgabe
+ FROM zeiterfassung
+ WHERE adresse=$adr_id
+ AND MONTH(bis)=$monat
+ AND YEAR(bis)=$jahr");
+
+ $table->DisplayNew('INHALT','Tätigkeit', 'noAction');
+ //$this->app->Tpl->Set(AKTIV_TAB5,'selected');
+ $this->app->Tpl->Parse('PAGE','rahmen.tpl');
+ $this->app->BuildNavigation=false;
+ }
+ }
+
+ public function ZeiterfassungDokuArbeitszeit()
+ {
+ $pdf = new DokuArbeitszeit();
+ $filename = $tmp.date('Ymd').'_'.$kundennummer.'_'.$name.'_DOKUARBEITSZEIT.pdf';
+ $pdf->Output($filename,'D');
+ }
+}