app=$app; //parent::Dokumentenvorlage(); $this->doctype="reisekosten"; $this->doctypeOrig="Reisekosten"; parent::__construct($this->app,$projekt); } public function renderDocument() { // prepare page details SuperFPDF::__construct('P','mm','A4'); $this->AddPage(); $this->SetDisplayMode("real","single"); $this->SetMargins(15,50); $this->SetAutoPageBreak(true,40); $this->AliasNbPages('{nb}'); //if($this->barcode!="") { $y = $this->GetY(); $this->Code39(155, $y+1, $this->barcode, 1, 5); } // Bei Reisekosten immer oben beginnen $this->abstand_betreffzeileoben=0; //$this->logofile = "";//$this->app->erp->GetTMP()."/".$this->app->Conf->WFdbname."_logo.jpg"; //$this->briefpapier=""; $this->renderDoctype(); $infofields[]=array("Firma",$this->firmenname); $infofields[]=array("Kunde",$this->name); $infofields[]=array("Mitarbeiter",$this->mitarbeiter); $infofields[]=array("Projekt",$this->projektabkuerzung); $infofields[]=array("Datum Abrechnung",$this->datum); $infofields[]=array("Anlass",$this->anlass); $infofields[]=array("Von",$this->von." (".$this->von_zeit." Uhr)"); $infofields[]=array("Bis",$this->bis." (".$this->bis_zeit." Uhr)"); $this->renderInfoBox($infofields); $this->renderReisekostenItems(); if(count($this->gesamt)>0) { foreach($this->gesamt as $key=>$value) { $summe_infofields[]=array("Summe $key %",number_format($value,2,',','.')." EUR (inkl. $key % MwSt)"); } } $this->renderInfoBox($summe_infofields); if($this->freitext!="") { $this->Ln(5); $this->renderTextBox("Bemerkung:"); $this->renderTextBox($this->freitext); } $this->Ln(5); $unterschrift[]=array("Unterschrift Arbeitnehmer",""); $unterschrift[]=array("Ort, Datum",""); $this->renderInfoBox($unterschrift,10); $this->Ln(5); $unterschrift2[]=array("Betrag Privat ausgelegt",number_format($this->gesamt_privat['privat'],2,',','.')." EUR"); $unterschrift2[]=array("Betrag erstattet",""); $this->renderInfoBox($unterschrift2,10); $this->renderFooter(); } function GetReisekosten($id,$info="",$extrafreitext="") { $this->doctypeid = $id; // das muss vom reisekosten sein!!!! //$this->setRecipientLieferadresse($id,"reisekosten"); $data = $this->app->DB->SelectArr("SELECT r.adresse, r.auftragid, r.bearbeiter, r.prefix, DATE_FORMAT(r.datum,'%d.%m.%Y') AS datum, DATE_FORMAT(r.von,'%d.%m.%Y') AS von, DATE_FORMAT(r.bis,'%d.%m.%Y') AS bis, r.von_zeit, r.bis_zeit, r.belegnr, r.anlass, r.freitext, r.projekt, a.name as mitarbeiter, r.name, r.ohne_briefpapier FROM reisekosten r LEFT JOIN adresse a ON r.mitarbeiter = a.id WHERE r.id='$id' LIMIT 1"); $data = reset($data); extract($data,EXTR_OVERWRITE); $kundennummer = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE id='$adresse' LIMIT 1"); $auftrag = $this->app->DB->Select("SELECT belegnr FROM auftrag WHERE id='$auftragid' LIMIT 1"); $projektname = $this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projekt' LIMIT 1"); $this->firmenname = $this->app->erp->Firmendaten('name'); $this->projektabkuerzung = $projektname; $this->von_zeit = $von_zeit; $this->bis_zeit = $bis_zeit; $this->freitext = $freitext; $this->anlass = $anlass; $this->barcode=$belegnr; $this->datum = $datum; $this->name = $name; $this->von = $von; $this->bis = $bis; $this->mitarbeiter = $mitarbeiter; if($ohne_briefpapier=="1") { $this->logofile = ""; $this->briefpapier=""; $this->briefpapier2=""; } $this->doctype="reisekosten"; if($belegnr=="") $belegnr = "- Entwurf"; if($info=="") $this->doctypeOrig="Reisekostenabrechnung $belegnr"; else $this->doctypeOrig="Reisekosten$info $belegnr"; $artikel = $this->app->DB->SelectArr("SELECT *,DATE_FORMAT(datum,'%d.%m.%Y') as datum, CONCAT(rk.nummer,'- ',rk.beschreibung) as reisekostenart FROM reisekosten_position rp LEFT JOIN reisekostenart rk ON rk.id=rp.reisekostenart WHERE rp.reisekosten='$id' ORDER By rp.sort"); //$waehrung = $this->app->DB->Select("SELECT waehrung FROM reisekosten_position WHERE reisekosten='$id' LIMIT 1"); foreach($artikel as $key=>$value) { if($value[seriennummer]!="") { if( $value[beschreibung]!="") $value[beschreibung] = $value[beschreibung]."\n"; $value[beschreibung] = "Seriennummer: ".$value[seriennummer]."\n\n"; } $value[menge] = $this->app->erp->get_time_difference($value[von].":00",$value[bis].":00"); $adr_name = $this->app->DB->Select("SELECT name FROM adresse WHERE id='{$value[adresse]}' LIMIT 1"); $add_sum = explode(":", $value[menge]); $hour = $hour + $add_sum[0]; $minutes = $minutes + $add_sum[1]; if($value[uststeuersatz]>0) { $netto = ($value[betrag] * 100)/(100+$value[uststeuersatz]); } else $netto = $value[betrag]; $this->gesamt[$value[uststeuersatz]] = $this->gesamt[$value[uststeuersatz]] + $value[betrag]; $this->gesamt_privat[$value[bezahlt_wie]] = $this->gesamt_privat[$value[bezahlt_wie]] + $value[betrag]; $this->addItem(array('brutto'=>number_format($value[betrag],2,',','.'), 'tax'=>$value[uststeuersatz], 'bezahlt_wie'=>$value[bezahlt_wie], 'netto'=>number_format($netto,2,',','.'), 'desc'=>ltrim($value[bezeichnung]." (am ".$value[datum].")"), "name"=>$value[reisekostenart])); } /* Dateiname */ $this->filename = $datum."_RK".$belegnr.".pdf"; $this->setBarcode($belegnr); } }