Bugfixes adressstammdatenblatt

This commit is contained in:
OpenXE 2024-06-11 19:45:39 +02:00
parent 3c170318df
commit 0b5b7cbed1
3 changed files with 238 additions and 235 deletions

View File

@ -1,235 +1,236 @@
<?php <?php
/* /*
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE **** **** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
* *
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019 * Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
* *
* This file is licensed under the Embedded Projects General Public License *Version 3.1. * This file is licensed under the Embedded Projects General Public License *Version 3.1.
* *
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis * You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
* to obtain the text of the corresponding license version. * to obtain the text of the corresponding license version.
* *
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE **** **** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
*/ */
?> ?>
<?php <?php
class AdressstammblattPDF extends Dokumentenvorlage { class AdressstammblattPDF extends Dokumentenvorlage {
public $doctype; public $doctype;
function __construct($app,$projekt="") function __construct($app,$projekt="")
{ {
$this->app=$app; $this->app=$app;
//parent::Dokumentenvorlage(); //parent::Dokumentenvorlage();
$this->doctype="adresse"; $this->doctype="adresse";
$this->doctypeOrig="Adressstammblatt"; $this->table="adresse";
parent::__construct($this->app,$projekt); $this->doctypeOrig="Adressstammblatt";
} parent::__construct($this->app,$projekt);
}
public function renderDocument() {
// prepare page details public function renderDocument() {
SuperFPDF::__construct('P','mm','A4'); // prepare page details
SuperFPDF::__construct('P','mm','A4');
$this->AddPage();
$this->SetDisplayMode("real","single"); $this->AddPage();
$this->SetDisplayMode("real","single");
$this->SetMargins(15,50);
$this->SetAutoPageBreak(true,40); $this->SetMargins(15,50);
$this->AliasNbPages('{nb}'); $this->SetAutoPageBreak(true,40);
$this->AliasNbPages('{nb}');
// Bei Adressstammblatt immer oben beginnen
$this->abstand_betreffzeileoben=0; // Bei Adressstammblatt immer oben beginnen
$this->logofile = "";//$this->app->erp->GetTMP()."/".$this->app->Conf->WFdbname."_logo.jpg"; $this->abstand_betreffzeileoben=0;
$this->briefpapier=""; $this->logofile = "";//$this->app->erp->GetTMP()."/".$this->app->Conf->WFdbname."_logo.jpg";
$this->briefpapier="";
$schrift = $this->app->erp->Firmendaten('schriftgroesse');
$schrift = $this->app->erp->Firmendaten('schriftgroesse');
$this->SetFontSize($schrift);
$this->SetFont($this->GetFont(),'','10'); $this->SetFontSize($schrift);
$this->SetX($this->GetX()+160); $this->SetFont($this->GetFont(),'','10');
$this->Cell(10,0,date("d.m.Y"),"","","L"); $this->SetX($this->GetX()+160);
$this->Cell(10,0,date("d.m.Y"),"","","L");
$this->renderDoctype();
$this->renderDoctype();
$adresse = $this->app->DB->SelectArr("SELECT * FROM adresse WHERE id='".$this->id."'");
$adresse = reset($adresse); $adresse = $this->app->DB->SelectArr("SELECT * FROM adresse WHERE id='".$this->id."'");
$adresse = reset($adresse);
if($adresse['typ']=="firma")
{ if($adresse['typ']=="firma")
$infofields[]=array("Firma",$adresse['name']); {
if($adresse['ansprechpartner']!="") $infofields[]=array("Firma",$adresse['name']);
$infofields[]=array("Ansprechpartner",$adresse['ansprechpartner']); if($adresse['ansprechpartner']!="")
} else { $infofields[]=array("Ansprechpartner",$adresse['ansprechpartner']);
$infofields[]=array("Name",$adresse['name']); } else {
} $infofields[]=array("Name",$adresse['name']);
}
$infofields[]=array("Anschrift",$adresse['land']."-".$adresse['plz']." ".$adresse['ort'].", ".$adresse['strasse']);
$infofields[]=array("Anschrift",$adresse['land']."-".$adresse['plz']." ".$adresse['ort'].", ".$adresse['strasse']);
$felder = array('telefon','telefax','mobil','email','web');
foreach($felder as $feldname) $felder = array('telefon','telefax','mobil','email','web');
{ foreach($felder as $feldname)
$infofields[]=array(ucfirst($feldname),$adresse[$feldname=='web'?'internetseite':$feldname]); {
} $infofields[]=array(ucfirst($feldname),$adresse[$feldname=='web'?'internetseite':$feldname]);
}
if($this->app->erp->Firmendaten("modul_mlm")==1)
{ if($this->app->erp->Firmendaten("modul_mlm")==1)
$mlmvertragsbeginn = $this->app->DB->Select("SELECT DATE_FORMAT(mlmvertragsbeginn,'%d.%m.%Y') FROM adresse WHERE id='".$adresse['id']."' LIMIT 1"); {
if($mlmvertragsbeginn=="00.00.0000") $mlmvertragsbeginn = "kein Vertragsbeginn eingestellt"; $mlmvertragsbeginn = $this->app->DB->Select("SELECT DATE_FORMAT(mlmvertragsbeginn,'%d.%m.%Y') FROM adresse WHERE id='".$adresse['id']."' LIMIT 1");
$sponsorid = $this->app->DB->Select("SELECT sponsor FROM adresse WHERE id='".$adresse['id']."' LIMIT 1"); if($mlmvertragsbeginn=="00.00.0000") $mlmvertragsbeginn = "kein Vertragsbeginn eingestellt";
if($sponsorid> 0) $sponsorid = $this->app->DB->Select("SELECT sponsor FROM adresse WHERE id='".$adresse['id']."' LIMIT 1");
$sponsor = $this->app->DB->Select("SELECT CONCAT(kundennummer,' ',name) FROM adresse WHERE id='$sponsorid' LIMIT 1"); if($sponsorid> 0)
else $sponsor = $this->app->DB->Select("SELECT CONCAT(kundennummer,' ',name) FROM adresse WHERE id='$sponsorid' LIMIT 1");
$sponsor = "Kein Sponsor vorhanden"; else
$sponsor = "Kein Sponsor vorhanden";
$erfasstam = $this->app->DB->Select("SELECT DATE_FORMAT(zeitstempel,'%d.%m.%Y') FROM objekt_protokoll WHERE objekt='adresse' AND objektid='".$adresse['id']."' AND action_long='adresse_create' LIMIT 1");
$erfasstam = $this->app->DB->Select("SELECT DATE_FORMAT(zeitstempel,'%d.%m.%Y') FROM objekt_protokoll WHERE objekt='adresse' AND objektid='".$adresse['id']."' AND action_long='adresse_create' LIMIT 1");
$infofields[]=array("Sponsor",$sponsor);
$infofields[]=array("Erfasst am",$erfasstam); $infofields[]=array("Sponsor",$sponsor);
$infofields[]=array("Vertragsbeginn am",$mlmvertragsbeginn); $infofields[]=array("Erfasst am",$erfasstam);
} $infofields[]=array("Vertragsbeginn am",$mlmvertragsbeginn);
}
$infofields[]=array("UST-ID",$adresse['ustid']);
$infofields[]=array("UST-ID",$adresse['ustid']);
if($adresse['kundennummer']!="")
$numbers[] = array("Kunden Nr.",$adresse['kundennummer']); if($adresse['kundennummer']!="")
$numbers[] = array("Kunden Nr.",$adresse['kundennummer']);
if($adresse['lieferantennummer']!="")
$numbers[] = array("Lieferanten Nr.",$adresse['lieferantennummer']); if($adresse['lieferantennummer']!="")
$numbers[] = array("Lieferanten Nr.",$adresse['lieferantennummer']);
if($adresse['mitarbeiternummer']!="")
$numbers[] = array("Mitarbeiter Nr.",$adresse['mitarbeiternummer']); if($adresse['mitarbeiternummer']!="")
$numbers[] = array("Mitarbeiter Nr.",$adresse['mitarbeiternummer']);
if(count($numbers)>0)
$this->renderInfoBox($numbers); if($numbers?count($numbers):0>0)
$this->renderInfoBox($numbers);
$this->Ln(5);
$this->renderHeading("Adressstammblatt",8); $this->Ln(5);
$this->renderInfoBox($infofields); $this->renderHeading("Adressstammblatt",8);
$this->renderInfoBox($infofields);
$ansprechpartner_tmp = $this->app->DB->SelectArr("SELECT CONCAT(name,', ',if(bereich='','-',bereich),
', Telefon: ',telefon, $ansprechpartner_tmp = $this->app->DB->SelectArr("SELECT CONCAT(name,', ',if(bereich='','-',bereich),
', Mobil: ',mobil, ', Telefon: ',telefon,
', E-Mail: ',email ', Mobil: ',mobil,
) as 'value' FROM ansprechpartner WHERE adresse='".$adresse['id']."'"); ', E-Mail: ',email
) as 'value' FROM ansprechpartner WHERE adresse='".$adresse['id']."'");
for($i=0;$i<count($ansprechpartner_tmp);$i++) $ansprechpartner[] = $ansprechpartner_tmp[$i]['value'];
if(count($ansprechpartner) > 0) for($i=0;$i<($ansprechpartner_tmp?count($ansprechpartner_tmp):0);$i++) $ansprechpartner[] = $ansprechpartner_tmp[$i]['value'];
{ if($ansprechpartner_tmp?count($ansprechpartner):0 > 0)
$this->Ln(5); {
$this->renderHeading("Ansprechpartner",8); $this->Ln(5);
$this->renderInfoBoxSingle($ansprechpartner); $this->renderHeading("Ansprechpartner",8);
} $this->renderInfoBoxSingle($ansprechpartner);
}
$lieferadressen_tmp = $this->app->DB->SelectArr("SELECT name,abteilung,unterabteilung,adresszusatz,strasse,plz,ort,land,
telefon,email $lieferadressen_tmp = $this->app->DB->SelectArr("SELECT name,abteilung,unterabteilung,adresszusatz,strasse,plz,ort,land,
FROM lieferadressen WHERE adresse='".$adresse['id']."' ORDER by standardlieferadresse DESC"); telefon,email
FROM lieferadressen WHERE adresse='".$adresse['id']."' ORDER by standardlieferadresse DESC");
for($i=0;$i<count($lieferadressen_tmp);$i++) {
$lieferadressen_tmp[$i]['value']=""; for($i=0;$i<($lieferadressen_tmp?count($lieferadressen_tmp):0);$i++) {
foreach($lieferadressen_tmp[$i] as $key=>$value) $lieferadressen_tmp[$i]['value']="";
{ foreach($lieferadressen_tmp[$i] as $key=>$value)
switch($key) {
{ switch($key)
case "email": {
$lieferadressen_tmp[$i]['value'] .= "E-Mail: $value, "; case "email":
break; $lieferadressen_tmp[$i]['value'] .= "E-Mail: $value, ";
break;
case "telefon":
$lieferadressen_tmp[$i]['value'] .= "Telefon: $value, "; case "telefon":
break; $lieferadressen_tmp[$i]['value'] .= "Telefon: $value, ";
case "telefax": break;
$lieferadressen_tmp[$i]['value'] .= "Telefax: $value, "; case "telefax":
break; $lieferadressen_tmp[$i]['value'] .= "Telefax: $value, ";
break;
default:
if($value!="") default:
$lieferadressen_tmp[$i]['value'] .= "$value, "; if($value!="")
} $lieferadressen_tmp[$i]['value'] .= "$value, ";
} }
}
$lieferadressen_tmp[$i]['value'] = trim($lieferadressen_tmp[$i]['value'],', ');
if($i==0) $standard = " (Standard)"; else $standard=""; $lieferadressen_tmp[$i]['value'] = trim($lieferadressen_tmp[$i]['value'],', ');
if($i==0) $standard = " (Standard)"; else $standard="";
$lieferadressen[] = $lieferadressen_tmp[$i]['value'].$standard;
} $lieferadressen[] = $lieferadressen_tmp[$i]['value'].$standard;
}
if(count($lieferadressen) > 0)
{ if($lieferadressen?count($lieferadressen):0 > 0)
$this->Ln(5); {
$this->renderHeading("Lieferadressen",8); $this->Ln(5);
$this->renderInfoBoxSingle($lieferadressen); $this->renderHeading("Lieferadressen",8);
} $this->renderInfoBoxSingle($lieferadressen);
}
$this->Ln(5);
$this->Ln(5);
if($adresse['sonstiges']!="")
{ if($adresse['sonstiges']!="")
$this->renderHeading("Sonstiges",8); {
$this->SetFont($this->GetFont(),'',7); $this->renderHeading("Sonstiges",8);
$this->MultiCell(180,4,$this->WriteHTML($adresse['sonstiges'])); $this->SetFont($this->GetFont(),'',7);
} $this->MultiCell(180,4,$this->WriteHTML($adresse['sonstiges']));
}
$this->renderFooter();
} $this->renderFooter();
}
function GetAdressstammblatt($id,$info="",$extrafreitext="")
{ function GetAdressstammblatt($id,$info="",$extrafreitext="")
$this->id = $id; {
// das muss vom reisekosten sein!!!! $this->id = $id;
//$this->setRecipientLieferadresse($id,"reisekosten"); // das muss vom reisekosten sein!!!!
//$this->setRecipientLieferadresse($id,"reisekosten");
// OfferNo, customerId, OfferDate
/*$auftrag = $this->app->DB->Select("SELECT auftragid FROM reisekosten WHERE id='$id' LIMIT 1"); // OfferNo, customerId, OfferDate
$auftrag = $this->app->DB->Select("SELECT belegnr FROM auftrag WHERE id='$auftrag' LIMIT 1"); /*$auftrag = $this->app->DB->Select("SELECT auftragid FROM reisekosten WHERE id='$id' LIMIT 1");
$bearbeiter = $this->app->DB->Select("SELECT bearbeiter FROM reisekosten WHERE id='$id' LIMIT 1"); $auftrag = $this->app->DB->Select("SELECT belegnr FROM auftrag WHERE id='$auftrag' LIMIT 1");
$prefix = $this->app->DB->Select("SELECT prefix FROM reisekosten WHERE id='$id' LIMIT 1"); $bearbeiter = $this->app->DB->Select("SELECT bearbeiter FROM reisekosten WHERE id='$id' LIMIT 1");
$bestellbestaetigung = $this->app->DB->Select("SELECT bestellbestaetigung FROM reisekosten WHERE id='$id' LIMIT 1"); $prefix = $this->app->DB->Select("SELECT prefix FROM reisekosten WHERE id='$id' LIMIT 1");
$this->datum = $this->app->DB->Select("SELECT DATE_FORMAT(datum,'%d.%m.%Y') FROM reisekosten WHERE id='$id' LIMIT 1"); $bestellbestaetigung = $this->app->DB->Select("SELECT bestellbestaetigung FROM reisekosten WHERE id='$id' LIMIT 1");
$this->datum = $this->app->DB->Select("SELECT DATE_FORMAT(datum,'%d.%m.%Y') FROM reisekosten WHERE id='$id' LIMIT 1");
$this->von = $this->app->DB->Select("SELECT DATE_FORMAT(von,'%d.%m.%Y') FROM reisekosten WHERE id='$id' LIMIT 1");
$this->bis = $this->app->DB->Select("SELECT DATE_FORMAT(bis,'%d.%m.%Y') FROM reisekosten WHERE id='$id' LIMIT 1"); $this->von = $this->app->DB->Select("SELECT DATE_FORMAT(von,'%d.%m.%Y') FROM reisekosten WHERE id='$id' LIMIT 1");
$this->von_zeit = $this->app->DB->Select("SELECT von_zeit FROM reisekosten WHERE id='$id' LIMIT 1"); $this->bis = $this->app->DB->Select("SELECT DATE_FORMAT(bis,'%d.%m.%Y') FROM reisekosten WHERE id='$id' LIMIT 1");
$this->bis_zeit = $this->app->DB->Select("SELECT bis_zeit FROM reisekosten WHERE id='$id' LIMIT 1"); $this->von_zeit = $this->app->DB->Select("SELECT von_zeit FROM reisekosten WHERE id='$id' LIMIT 1");
$belegnr = $this->app->DB->Select("SELECT belegnr FROM reisekosten WHERE id='$id' LIMIT 1"); $this->bis_zeit = $this->app->DB->Select("SELECT bis_zeit FROM reisekosten WHERE id='$id' LIMIT 1");
$this->anlass = $this->app->DB->Select("SELECT anlass FROM reisekosten WHERE id='$id' LIMIT 1"); $belegnr = $this->app->DB->Select("SELECT belegnr FROM reisekosten WHERE id='$id' LIMIT 1");
$this->freitext = $this->app->DB->Select("SELECT freitext FROM reisekosten WHERE id='$id' LIMIT 1"); $this->anlass = $this->app->DB->Select("SELECT anlass FROM reisekosten WHERE id='$id' LIMIT 1");
$projekt = $this->app->DB->Select("SELECT projekt FROM reisekosten WHERE id='$id' LIMIT 1"); $this->freitext = $this->app->DB->Select("SELECT freitext FROM reisekosten WHERE id='$id' LIMIT 1");
$mitarbeiter = $this->app->DB->Select("SELECT mitarbeiter FROM reisekosten WHERE id='$id' LIMIT 1");*/ $projekt = $this->app->DB->Select("SELECT projekt FROM reisekosten WHERE id='$id' LIMIT 1");
$kunde= $this->app->DB->SelectArr("SELECT name,kundennummer,lieferantennummer FROM adresse WHERE id='$id' LIMIT 1"); $mitarbeiter = $this->app->DB->Select("SELECT mitarbeiter FROM reisekosten WHERE id='$id' LIMIT 1");*/
$kunde = reset($kunde); $kunde= $this->app->DB->SelectArr("SELECT name,kundennummer,lieferantennummer FROM adresse WHERE id='$id' LIMIT 1");
$kunde = reset($kunde);
$kundennummer = $kunde['kundennummer'];
$this->name = $kunde['name']; $kundennummer = $kunde['kundennummer'];
$this->name = $kunde['name'];
$this->projektabkuerzung = $this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id='$projekt'");
$this->firmenname = $this->app->erp->Firmendaten('name'); $this->projektabkuerzung = $this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id='$projekt'");
$this->doctypeOrig="Adresse: ".$kunde['name']; $this->firmenname = $this->app->erp->Firmendaten('name');
$this->barcode=$belegnr; $this->doctypeOrig="Adresse: ".$kunde['name'];
$this->barcode=$belegnr;
//$ohne_briefpapier = $this->app->DB->Select("SELECT ohne_briefpapier FROM reisekosten WHERE id='$id' LIMIT 1");
//$ohne_briefpapier = $this->app->DB->Select("SELECT ohne_briefpapier FROM reisekosten WHERE id='$id' LIMIT 1");
//$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");
//$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");
//$waehrung = $this->app->DB->Select("SELECT waehrung FROM reisekosten_position WHERE reisekosten='$id' LIMIT 1");
/* Dateiname */
$this->filename = date('Ymd')."_STAMMDATEN_ADRESSE_".$this->app->erp->Dateinamen($kunde['name']).".pdf"; /* Dateiname */
$this->filename = date('Ymd')."_STAMMDATEN_ADRESSE_".$this->app->erp->Dateinamen($kunde['name']).".pdf";
$this->setBarcode($id);
} $this->setBarcode($id);
}
}
}

View File

@ -474,9 +474,11 @@ class Dokumentenvorlage extends SuperFPDF {
$this->Output($dir."/".$this->table."/".$this->id."_".$this->filename,'F'); $this->Output($dir."/".$this->table."/".$this->id."_".$this->filename,'F');
} }
public function displayDocument() { public function displayDocument($archive = true) {
$this->renderDocument(); $this->renderDocument();
$this->archiveDocument(); if ($archive) {
$this->archiveDocument();
}
$this->Output($this->filename,'D'); $this->Output($this->filename,'D');
exit; exit;
} }

View File

@ -780,7 +780,7 @@ class Adresse extends GenAdresse {
} }
$Brief->GetAdressstammblatt($id); $Brief->GetAdressstammblatt($id);
$Brief->displayDocument(); $Brief->displayDocument(archive: false);
$this->app->ExitXentral(); $this->app->ExitXentral();
} }