";
// $menucol=9;
// SQL statement
$alignright=array(3);
$sumcol = 3;
$defaultorder = 8;
$sql = "SELECT SQL_CALC_FOUND_ROWS a.id,
CONCAT(if(a.prio=1 OR (a.abgabe_bis <= NOW() AND a.abgabe_bis!='0000-00-00'),CONCAT('',a.aufgabe,'',if(a.abgabe_bis <= NOW() AND a.abgabe_bis!='0000-00-00' AND a.status!='abgeschlossen',if(DATE_FORMAT(a.abgabe_bis,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d'),' Abgabe Heute!',' *** Abgabe überfällig! ***'),'')),a.aufgabe),if(a.intervall_tage>0,' (',''),if(a.intervall_tage=2,'wöchentlich',if(a.intervall_tage=3,'monatlich',if(a.intervall_tage=4,'jährlich',if(a.intervall_tage=1,'täglich','')))),if(a.intervall_tage>0,')','')) as aufgabe,
kdr.name as kunde,
if(a.stunden > 0,a.stunden,'') as stunden,
adr.name as mitarbeiter,
p.abkuerzung as projekt,
if(a.prio=1,'Prio',if(a.prio=-1,'Keine Prio','Normal')) as prio,
if(a.abgabe_bis,DATE_FORMAT(abgabe_bis,'%d.%m.%Y'),'') as abgabe,
a.id
FROM aufgabe a LEFT JOIN projekt p ON p.id=a.projekt LEFT JOIN adresse adr ON a.adresse=adr.id LEFT JOIN adresse kdr ON a.adresse=kdr.id";
// Fester filter
// START EXTRA more
$count = "SELECT COUNT(a.id) FROM aufgabe a WHERE (a.adresse='" . $this->app->User->GetAdresse() . "' OR a.initiator='" . $this->app->User->GetAdresse() . "')";
$more_data6 = $this->app->Secure->GetGET("more_data6");
if ($more_data6 == 1) $subwhere[] = " a.prio=1 ";
$more_data7 = $this->app->Secure->GetGET("more_data7");
if ($more_data7 == 1) $subwhere[] = " (a.abgabe_bis <= NOW() AND a.abgabe_bis!='0000-00-00') ";
$more_data8 = $this->app->Secure->GetGET("more_data8");
if ($more_data8 == 1) { $subwhere[] = " a.intervall_tage > 0 "; }
else {
$where_wdh = "(a.intervall_tage > 0 AND a.abgabe_bis <=NOW() AND a.status!='abgeschlossen' {TMP} AND (a.adresse='" . $this->app->User->GetAdresse() . "' OR a.initiator='" . $this->app->User->GetAdresse() . "')) OR ";
$where_wdh_else ="a.intervall_tage = 0 AND";
}
$tmp = '';
$csubwhere = !empty($subwhere)?count($subwhere):0;
for ($j = 0;$j < $csubwhere;$j++) $tmp.= " AND " . $subwhere[$j];
$where_wdh = str_replace('{TMP}',$tmp,$where_wdh);
$where = " $where_wdh ($where_wdh_else (a.adresse='" . $this->app->User->GetAdresse() . "' OR a.initiator='" . $this->app->User->GetAdresse() . "') AND a.status!='abgeschlossen' $tmp)";
$count = "SELECT COUNT(a.id) FROM aufgabe a WHERE $where_wdh ((a.adresse='" . $this->app->User->GetAdresse() . "' OR a.initiator='" . $this->app->User->GetAdresse() . "') AND a.status!='abgeschlossen')";
break;
case 'task_project_create_employee':
$allowed['aufgabe'] = ['list'];
$id = (int)$this->app->Secure->GetGET('id');
$smodule = $this->app->Secure->GetGET('smodule');
if($smodule === 'aufgabenliste') {
$id = (int)$this->app->User->GetParameter('task_project_id');
}
// headings
$heading = ['','Mitarbeiter-Nr.', 'Name',''];
$width = ['1%', '10%', '25%','1%'];
$findcols = ['a.id','a.mitarbeiternummer', 'a.name', 'a.id'];
$defaultorder = 1; //Optional wenn andere Reihenfolge gewuenscht
$defaultorderdesc = 0;
$searchsql = ['a.mitarbeiternummer', 'a.name'];
$menu = '';
$sql = sprintf(
"SELECT SQL_CALC_FOUND_ROWS a.id,
CONCAT(''),
a.mitarbeiternummer, a.name, a.id
FROM `adresse` AS `a`
LEFT JOIN `userkonfiguration` AS `uk`
ON CONCAT('task_project_create_employee_',a.id) = uk.name AND uk.user = %d",
$this->app->User->GetID()
)
;
$where = " a.mitarbeiternummer <> '' AND a.geloescht <> 1 ";
$count = "SELECT count(a.id) FROM `adresse` AS `a` WHERE $where";
break;
case 'task_subproject_create_employee':
$allowed['aufgabe'] = ['list'];
$projectId = (int)$this->app->User->GetParameter('task_project_id');
$heading = array('Mitarbeiternummer','Mitarbeiter','Bezeichnung','Stunden','Stundenlohn','');
$width = array('20%','25%','20%','15%','14%','1%');
$findcols = array( 'a.mitarbeiternummer','a.name','uktitle.value','ukhours.value','ukhourlyrate.value', 'a.id');
$searchsql = array('a.mitarbeiternummer','a.name','uktitle.value','ukhours.value','ukhourlyrate.value', 'a.id');
$defaultorder = 1; //Optional wenn andere Reihenfolge gewuenscht
$defaultorderdesc = 1;
$sql = "SELECT SQL_CALC_FOUND_ROWS a.id, a.mitarbeiternummer, a.name AS `name`,
concat(''
) ,
concat('') ,
concat('')
, a.id as menu
FROM `adresse` AS `a`
INNER JOIN `adresse_rolle` AS `a2` ON a2.adresse=a.id
INNER JOIN `projekt` AS `p` ON p.id=a2.projekt OR p.id = a.projekt AND p.id = '".$projectId."'
LEFT JOIN `userkonfiguration` AS `uktitle`
ON CONCAT('task_subproject_create_employee_title_',a.id) = uktitle.name AND uktitle.user = '".$this->app->User->GetID()."'
LEFT JOIN `userkonfiguration` AS `ukhours`
ON CONCAT('task_subproject_create_employee_hours_',a.id) = ukhours.name AND ukhours.user = '".$this->app->User->GetID()."'
LEFT JOIN `userkonfiguration` AS `ukhourlyrate`
ON CONCAT('task_subproject_create_employee_hourlyrate_',a.id) = ukhourlyrate.name AND ukhours.user = '".$this->app->User->GetID()."'
";
$groupby = ' GROUP BY a.id ';
$where = " (a2.projekt='$projectId'
AND (a2.bis='0000-00-00' OR a2.bis >= CURDATE())
AND a2.objekt like 'Projekt' AND a.geloescht != 1 AND mitarbeiternummer != ''
) ";
$count = "SELECT COUNT(DISTINCT a.id)
FROM `adresse` AS `a`
INNER JOIN `adresse_rolle` AS `a2` ON a2.adresse=a.id
INNER JOIN `projekt` AS `p` ON p.id=a2.projekt OR p.id = a.projekt AND p.id = '".$projectId."'
WHERE $where";
break;
}
$erg = [];
//$erlaubtevars = array('heading','width','sql','count','findcols','searchsql','defaultorder','defaultorderdesc','menu','menucol','where','groupby','allowed');
foreach($erlaubtevars as $k => $v)
{
if(isset($$v))
{
$erg[$v] = $$v;
}
}
return $erg;
}
/**
* Aufgaben constructor.
*
* @param Application $app
* @param bool $intern
*/
public function __construct($app, $intern = false) {
$this->app=$app;
if($intern) {
return;
}
$this->app->ActionHandlerInit($this);
$this->app->ActionHandler("edit","AufgabenEdit");
$this->app->ActionHandler("bondrucker","AufgabenBondrucker");
$this->app->ActionHandler("editwdh","AufgabenEditWdh");
$this->app->ActionHandler("abschluss","AufgabenAbschluss");
$this->app->ActionHandler("pdf","AufgabenPDF");
$this->app->ActionHandler("pdfextern","AufgabenPDFExtern");
$this->app->ActionHandler("delete","AufgabenDelete");
$this->app->ActionHandler("list","AufgabenList");
$this->app->ActionHandler("create","AufgabenCreate");
$this->app->ActionHandler("kalender","AufgabenKalender");
$this->app->ActionHandler("dragdropaufgabe","AufgabenDragDrop");
$this->app->ActionHandler("sortaufgabe","AufgabenSort");
$this->app->ActionHandler("dateien","AufgabenDateien");
$this->app->ActionHandler("data","AufgabenData");
$this->app->ActionHandler("minidetail","AufgabenMiniDetail");
$this->app->ActionHandler("mail","AufgabenMail");
$this->app->ActionHandler("alle","AufgabenAlle");
$this->app->ActionHandler("bon", "AufgabenBon");
$this->app->Tpl->Set('UEBERSCHRIFT',"Aufgaben");
$this->app->ActionHandlerListen($app);
}
public function Install(): void
{
$this->app->erp->CheckTable("task_timeline");
$this->app->erp->CheckColumn("id", "int(11)", "task_timeline", "NOT NULL AUTO_INCREMENT");
$this->app->erp->CheckColumn("task_id", "int(11)", "task_timeline", "NOT NULL");
$this->app->erp->CheckColumn("address_id", "int(11)", "task_timeline", "NOT NULL");
$this->app->erp->CheckColumn("time","timestamp","task_timeline","DEFAULT CURRENT_TIMESTAMP");
$this->app->erp->CheckColumn("content", "TEXT", "task_timeline", "NOT NULL");
$this->app->erp->CheckIndex('task_timeline', 'task_id');
$this->app->erp->CheckTable('task_subscription');
$this->app->erp->CheckColumn("id", "int(11)", "task_subscription", "NOT NULL AUTO_INCREMENT");
$this->app->erp->CheckColumn("task_id", "int(11)", "task_subscription", "NOT NULL");
$this->app->erp->CheckColumn("address_id", "int(11)", "task_subscription", "NOT NULL");
$this->app->erp->CheckIndex('task_subscription', 'task_id');
}
function AufgabenMenu()
{
$this->app->Tpl->Set('BEFORETABS','$( "#accordion" ).accordion();');
$this->app->erp->StartseiteMenu();
}
function AufgabenAlle()
{
return;
}
function AufgabenMail()
{
$id = $this->app->Secure->GetGET("id");
if($id <= 0){
$msg = "Bitte zuerst die Aufgabe speichern";
echo json_encode(array('status'=>0,'statusText'=>$msg));
$this->app->erp->ExitWawi();
}
$mail = $this->app->DB->Select("SELECT adr.email FROM aufgabe a LEFT JOIN adresse adr ON a.adresse=adr.id WHERE a.id='$id' LIMIT 1");
$result = $this->app->erp->AufgabenMail($id);
if($result){
$msg = "Die Aufgabe wurde per Mail an $mail gesendet!";
echo json_encode(array('status'=>1,'statusText'=>$msg));
$this->app->erp->ExitWawi();
}else{
if($mail==""){
$empfaenger = $this->app->DB->Select("SELECT a.name FROM adresse a LEFT JOIN aufgabe auf ON a.id = auf.adresse WHERE auf.id = '$id' LIMIT 1");
$mail=" $empfaenger (Mailadresse von Mitarbeiter fehlt)";
}
$msg = "Fehler beim Senden der Aufgabe an:$mail!";
echo json_encode(array('status'=>0,'statusText'=>$msg));
$this->app->erp->ExitWawi();
}
}
function AufgabenBon(){
$seriennummer = $this->app->DB->Select("SELECT seriennummer FROM adapterbox WHERE verwendenals='bondrucker' LIMIT 1");
if($seriennummer!=""){
echo json_encode(array('status'=>1));
$this->app->erp->ExitWawi();
}else{
echo json_encode(array('status'=>0));
$this->app->erp->ExitWawi();
}
}
function AufgabenMiniDetail($parsetarget = '')
{
$id = $this->app->Secure->GetGET("id");
$tmp = $this->app->DB->SelectArr("SELECT a.aufgabe,a.beschreibung,a.sonstiges,p.abkuerzung,ap.aufgabe as teilprojekt,a.status,
if(abgabe_bis!='0000-00-00',DATE_FORMAT(abgabe_bis,'%d.%m.%Y'),'') as abgabebis,a.stunden as dauer,if(a.zeiterfassung_abrechnung,'Ja','') as abrechnung,
CONCAT('',ku.kundennummer,' ',ku.name,'') as kunde,
CONCAT('',mi.mitarbeiternummer,' ',mi.name,'') as mitarbeiter
FROM aufgabe a LEFT JOIN adresse ku ON ku.id=a.kunde LEFT JOIN adresse mi ON mi.id=a.adresse LEFT JOIN projekt p ON p.id=a.projekt
LEFT JOIN arbeitspaket ap ON ap.id=a.teilprojekt
WHERE a.id='$id' LIMIT 1");
$this->app->Tpl->Set("AUFGABE",$tmp[0]['aufgabe']);
$this->app->Tpl->Set("BESCHREIBUNG",nl2br($tmp[0]['beschreibung']));
$this->app->Tpl->Set("NOTIZEN",nl2br($tmp[0]['sonstiges']));
$this->app->Tpl->Set("KUNDE",nl2br($tmp[0]['kunde']));
$this->app->Tpl->Set("MITARBEITER",nl2br($tmp[0]['mitarbeiter']));
$this->app->Tpl->Set("PROJEKT",$tmp[0]['abkuerzung']);
$this->app->Tpl->Set("TEILPROJEKT",$tmp[0]['teilprojekt']);
$this->app->Tpl->Set("ABGABEBIS",$tmp[0]['abgabebis']);
$this->app->Tpl->Set("DAUER",$tmp[0]['dauer']);
$this->app->Tpl->Set("ABRECHNUNG",$tmp[0]['abrechnung']);
$this->app->Tpl->Set("STATUS",$tmp[0]['status']);
//echo "HUHU $id";
if($parsetarget=="")
{
$this->app->Tpl->Output("aufgaben_minidetail.tpl");
$this->app->erp->ExitWawi();
} else {
$this->app->Tpl->Parse($parsetarget,"aufgaben_minidetail.tpl");
}
}
function AufgabenBondrucker()
{
$id = $this->app->Secure->GetGET("id");
//$projekt = $this->app->DB->Select("SELECT projekt FROM rechnung WHERE id='$id' LIMIT 1");
$bondrucker = $this->app->erp->Firmendaten("aufgaben_bondrucker");
if($bondrucker > 0)
{
$seriennummer = $this->app->DB->Select("SELECT seriennummer FROM adapterbox WHERE id='$bondrucker' LIMIT 1");
}
$this->app->erp->AufgabeBonDrucker($id,$seriennummer);
$this->app->ExitXentral();
}
function AufgabenDateien()
{
$id = $this->app->Secure->GetGET("id");
$this->app->erp->MenuEintrag("index.php?module=aufgaben&action=edit&id=$id","Details");
$anzahldateien = $this->app->erp->AnzahlDateien("Aufgaben",$id);
if($anzahldateien > 0) $anzahldateien = " (".$anzahldateien.")"; else $anzahldateien="";
$this->app->erp->MenuEintrag("index.php?module=aufgaben&action=dateien&id=$id","Dateien".$anzahldateien);
$this->app->Tpl->Add('UEBERSCHRIFT'," (Dateien)");
$this->app->YUI->DateiUpload('PAGE',"Aufgaben",$id);
}
function AufgabenPDFExtern()
{
//Create a new PDF file
$pdf= new SuperFPDF('P','mm','A4',$this->app);
$pdf->AddPage();
$pdf->SetFontClassic('Arial','B',11);
//Create lines (boxes) for each ROW (Product)
//If you don't use the following code, you don't create the lines separating each row
$tmp = $this->app->DB->SelectArr("SELECT a.aufgabe, if(a.stunden > 0,CONCAT(a.stunden,' h'),'') as dauer, adr.name as name,
if(a.abgabe_bis,DATE_FORMAT(a.abgabe_bis,'%d.%m.%Y'),'') as datum, a.prio, a.beschreibung FROM aufgabe a
LEFT JOIN adresse adr ON adr.id=a.adresse WHERE a.status!='abgeschlossen' ORDER by a.prio DESC, a.abgabe_bis, adr.name");
// Colors, line width and bold font
$pdf->SetFillColor(255,255,255);
$pdf->SetTextColor(0);
$pdf->SetDrawColor(0,0,0);
$pdf->SetLineWidth(.3);
//$pdf->SetFontClassic('','B');
// Header
$header = array('Aufgabe','Dauer','Mitarbeiter','Termin','Prio');
$w = array(85,15,40,30,20);
$pdf->Cell($w[0],7,$header[0],1,0,'L',true);
$pdf->Cell($w[1],7,$header[1],1,0,'L',true);
$pdf->Cell($w[2],7,$header[2],1,0,'L',true);
$pdf->Cell($w[3],7,$header[3],1,0,'C',true);
$pdf->Cell($w[4],7,$header[4],1,0,'C',true);
$pdf->Ln();
$pdf->SetFontClassic('Arial','',10);
// Color and font restoration
// Data
$fill = false;
$ctmp = !empty($tmp)?count($tmp):0;
for($i=0;$i<$ctmp;$i++)
{
if($tmp[$i]["prio"]==0) $prio="Nein";
else if($tmp[$i]["prio"]==1) $prio="Hoch";
else if($tmp[$i]["prio"]==2) $prio = "Mittel";
else if($tmp[$i]["prio"]==3) $prio = "Niedrig";
else if($tmp[$i]["prio"]==-1) $prio = "Nein";
$pdf->Cell($w[0],6,$tmp[$i]["aufgabe"],'LRT',0,'L',$fill);
$pdf->Cell($w[1],6,$tmp[$i]["dauer"],'LRTB',0,'L',$fill);
$pdf->Cell($w[2],6,$tmp[$i]["name"],'LRTB',0,'L',$fill);
$pdf->Cell($w[3],6,$tmp[$i]["datum"],'LRTB',0,'C',$fill);
$pdf->Cell($w[4],6,$prio,'LRTB',1,'C',$fill);
$pdf->MultiCell(0,6,$tmp[$i]['beschreibung'],'LRB','L',$fill);
$pdf->Ln(2);
$fill = !$fill;
}
$pdf->Ln();
$pdf->SetFontClassic('Arial','',8);
$name="ALL";
$pdf->Cell(array_sum($w),0,date('Ymd')."_".$name."_TODO.pdf",'',0,'R');
$pdf->Output(date('Ymd')."_".$name."_TODO.pdf",'D');
$this->app->ExitXentral();
}
function AufgabenPDF()
{
//Create a new PDF file
$pdf=new SuperFPDF('P','mm','A4',$this->app);
$pdf->AddPage();
$pdf->SetFontClassic('Arial','B',11);
//Create lines (boxes) for each ROW (Product)
//If you don't use the following code, you don't create the lines separating each row
$tmp = $this->app->DB->SelectArr("SELECT aufgabe, if(stunden > 0,CONCAT(stunden,' h'),'') as dauer,
if(abgabe_bis,DATE_FORMAT(abgabe_bis,'%d.%m.%Y'),'') as datum, prio, beschreibung FROM aufgabe
WHERE adresse='".$this->app->User->GetAdresse()."' AND status!='abgeschlossen' ORDER by prio DESC,abgabe_bis ");
// Colors, line width and bold font
$pdf->SetFillColor(255,255,255);
$pdf->SetTextColor(0);
$pdf->SetDrawColor(0,0,0);
$pdf->SetLineWidth(.3);
//$pdf->SetFontClassic('','B');
// Header
$header = array('Aufgabe','Dauer','Termin','Prio','OK');
$w = array(85,15,40,30,20);
$pdf->Cell($w[0],7,$header[0],1,0,'L',true);
$pdf->Cell($w[1],7,$header[1],1,0,'L',true);
$pdf->Cell($w[2],7,$header[2],1,0,'C',true);
$pdf->Cell($w[3],7,$header[3],1,0,'C',true);
$pdf->Cell($w[4],7,$header[4],1,0,'C',true);
$pdf->Ln();
$pdf->SetFontClassic('Arial','',11);
// Color and font restoration
// Data
$fill = false;
$ctmp = !empty($tmp)?count($tmp):0;
for($i=0;$i<$ctmp;$i++)
{
if($tmp[$i]["prio"]==0) $prio="Nein";
else if($tmp[$i]["prio"]==1) $prio="Hoch";
else if($tmp[$i]["prio"]==2) $prio = "Mittel";
else if($tmp[$i]["prio"]==3) $prio = "Niedrig";
else if($tmp[$i]["prio"]==-1) $prio = "Nein";
$pdf->Cell($w[0],6,$tmp[$i]["aufgabe"],'LRT',0,'L',$fill);
$pdf->Cell($w[1],6,$tmp[$i]["dauer"],'LRTB',0,'C',$fill);
$pdf->Cell($w[2],6,$tmp[$i]["datum"],'LRTB',0,'C',$fill);
$pdf->Cell($w[3],6,$prio,'LRTB',0,'C',$fill);
$pdf->Cell($w[4],6,"",'LRTB',1,'C',$fill);
$pdf->MultiCell(0,6,$tmp[$i]['beschreibung'],'LRB','L',$fill);
$pdf->Ln(2);
$fill = !$fill;
}
$pdf->Ln();
$pdf->SetFontClassic('Arial','',8);
$name=preg_replace("/[^a-zA-Z0-9_]/" , "" , str_replace(' ','_',$this->app->User->GetName()));
$name = strtoupper($name);
$pdf->Cell(array_sum($w),0,date('Ymd')."_".$name."_TODO.pdf",'',0,'R');
$pdf->Output(date('Ymd')."_".$name."_TODO.pdf",'D');
$this->app->ExitXentral();
}
function AufgabenDelete()
{
$id = $this->app->Secure->GetGET("id");
$sid = $this->app->Secure->GetGET("sid");
$referrer = $this->app->Secure->GetGET("referrer");
$check = $this->app->DB->Select("Select initiator FROM aufgabe WHERE id='$id' LIMIT 1");
if($check==$this->app->User->GetAdresse() || $this->app->User->GetType()=="admin")
{
$this->app->DB->Update("DELETE FROM aufgabe WHERE id='$id' LIMIT 1");
$msg = base64_encode("
Die Aufgabe wurde gelöscht!
");
} else {
$msg = base64_encode("
Die Aufgabe darf nur vom Initiator gelöscht werden!
");
}
if($referrer=="projekt")
header("Location: index.php?module=projekt&action=dashboard&id=$sid&msg=$msg");
else
header("Location: index.php?module=aufgaben&action=list&msg=$msg");
exit;
}
function AufgabenAbschluss()
{
$id = $this->app->Secure->GetGET("id");
$back = $this->app->Secure->GetGET("back");
$referrer = $this->app->Secure->GetGET("referrer");
$sid = $this->app->Secure->GetGET("sid");
// einmalig immer weg
// aufgaben kopieren und dann wenn intervall_tage 2 = woechen 3 monatlich 4 jaehrlich
// alles kopieren 1:1 neue hat mit dem datum von turnus +1 tag + 7 Tage oder monatlich immer wieder dann rein
// ab taeglich kann man nur abschliessen abgabe_bis <= heute ist
$result = $this->app->erp->AbschlussAufgabe($id);
//$this->app->DB->Update("UPDATE aufgabe SET status='abgeschlossen',abgeschlossen_am=NOW() WHERE id='$id' LIMIT 1");
if($result <=0)
$msg = $this->app->erp->base64_url_encode("
Die Aufgabe ist eine wiederholende und liegt in der Zukunft und darf noch nicht abgeschlossen werden!
';
$timestamp_montag = strtotime("{$jahr}-W{$woche}");
$tpl1 = '';
$tpl2 = '';
$tpl3 = '';
for($i=0;$i<7;$i++)
{
$datum = date("Y-m-d", $timestamp_montag) ;
$timestamp_montag += 3600*24;
$erste_zeiterfassung = $this->app->DB->Select("SELECT DATE_FORMAT(MIN(von),'%H:%i') FROM zeiterfassung WHERE adresse='$adresse' AND DATE_FORMAT(von,'%Y-%m-%d')='$datum'");
$letzte_zeiterfassung = $this->app->DB->Select("SELECT DATE_FORMAT(MAX(bis),'%H:%i') FROM zeiterfassung WHERE adresse='$adresse' AND DATE_FORMAT(von,'%Y-%m-%d')='$datum'");
// alle aufgaben von dem Tag
if($adresse==0)
{
$tmp = $this->app->DB->SelectArr("SELECT * FROM aufgabe WHERE DATE_FORMAT(abgabe_bis,'%Y-%m-%d')='$datum' ORDER by sort,abgabe_bis,id");
}
else
{
$tmp = $this->app->DB->SelectArr("SELECT * FROM aufgabe WHERE DATE_FORMAT(abgabe_bis,'%Y-%m-%d')='$datum' AND adresse='".$adresse."' ORDER by sort,abgabe_bis,id");
$summe_dauer = $this->app->DB->Select("SELECT SUM(stunden) FROM aufgabe WHERE DATE_FORMAT(abgabe_bis,'%Y-%m-%d')='$datum' AND adresse='".$adresse."'");
$summe_dauer_abrechnen = $this->app->DB->Select("SELECT SUM(stunden) FROM aufgabe WHERE DATE_FORMAT(abgabe_bis,'%Y-%m-%d')='$datum'
AND adresse='".$adresse."' AND zeiterfasung_abrechnung=1");
if($summe_dauer<=0) $summe_dauer=0;
if($summe_dauer_abrechnen<=0) $summe_dauer_abrechnen=0;
}
$tmp_td = '';
$tmp_td .= '