From c71eb50b7407ba510cc524eef7608b64075718a4 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Thu, 5 Dec 2024 16:08:16 +0100 Subject: [PATCH] XML rechnung icons and links for auftrag & lieferschein --- phpwf/plugins/class.yui.php | 25 +++++++++++++++++++++---- www/pages/auftrag.php | 34 +++++++++++++++++++--------------- www/pages/lieferschein.php | 22 ++++++++-------------- www/pages/rechnung.php | 10 +--------- 4 files changed, 49 insertions(+), 42 deletions(-) diff --git a/phpwf/plugins/class.yui.php b/phpwf/plugins/class.yui.php index eae058dc..8b9a07ea 100644 --- a/phpwf/plugins/class.yui.php +++ b/phpwf/plugins/class.yui.php @@ -6844,10 +6844,7 @@ r.land as land, p.abkuerzung as projekt, r.zahlungsweise as zahlungsweise, as fehlt, if(r.status = 'storniert' AND r.teilstorno = 1,'TEILSTORNO',UPPER(r.status)) as status ".(!empty($zusatzcols)?','.implode(', ',$zusatzcols):'').", - IF(r.xmlrechnung, - CONCAT('app->Conf->WFconf['defaulttheme']."/images/xml.svg\" border=\"0\">'), - CONCAT('app->Conf->WFconf['defaulttheme']."/images/pdf.svg\" border=\"0\">') - ), + ".$this->GetRechnungFileDownloadLinkIconSQL().", r.id FROM rechnung r LEFT JOIN projekt p ON p.id=r.projekt LEFT JOIN adresse adr ON r.adresse=adr.id LEFT JOIN auftrag au ON au.id = r.auftragid "; if(isset($parameter['artikel']) && !empty($parameter['artikel'])) { @@ -15941,4 +15938,24 @@ function IframeDialog($width, $height, $src = "") { return 'convert(cast(convert('.$field.' using latin1) as binary) using utf8)'; //return $field.' COLLATE utf8_general_ci'; ersetzt Original } + + public function GetRechnungFileDownloadLinkIconSQL($tablename = 'r') { + return( + "IF(".$tablename.".xmlrechnung, + CONCAT('app->Conf->WFconf['defaulttheme']."/images/xml.svg\" border=\"0\">'), + CONCAT('app->Conf->WFconf['defaulttheme']."/images/pdf.svg\" border=\"0\">') + )" + ); + } + + public function GetRechnungFileDownloadLinkIcon($id) { + $xmlrechnung = $this->app->DB->SelectRow("SELECT belegnr, xmlrechnung FROM rechnung WHERE id = '".$id."' LIMIT 1"); + if ($xmlrechnung['belegnr'] == '') { + return(''); + } else if ($xmlrechnung['xmlrechnung']) { + return(""); + } else { + return(""); + } + } } diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php index ee22925e..fdcecd1a 100644 --- a/www/pages/auftrag.php +++ b/www/pages/auftrag.php @@ -1640,6 +1640,7 @@ class Auftrag extends GenAuftrag * * @return string */ +/* XENTRAL Legacy public function AuftragTrackingTabelle($id) { $table = new EasyTable($this->app); @@ -1676,6 +1677,7 @@ class Auftrag extends GenAuftrag return $result; } +*/ function AuftragPDFfromArchiv() { @@ -2117,26 +2119,28 @@ class Auftrag extends GenAuftrag /* rechnungen */ + $link_zur_rechnung = "CONCAT('','>'),if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),if(r.status='storniert','',''),' ',".$this->app->YUI->GetRechnungFileDownloadLinkIconSQL().",'  ')"; + $sammelrechnungcheck = $this->app->DB->Select("SELECT * FROM sammelrechnung_position LIMIT 1"); if($sammelrechnungcheck) { $rechnung = $this->app->DB->SelectPairs( "SELECT - r.id, CONCAT('','>'),if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),if(r.status='storniert','',''),'   - ') as rechnung + r.id, + ".$link_zur_rechnung." as rechnung FROM rechnung r WHERE r.auftragid='$id' union SELECT - r.id,CONCAT('','>'),if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),if(r.status='storniert','',''),'   - ') as rechnung + r.id, + ".$link_zur_rechnung." as rechnung FROM rechnung r INNER JOIN sammelrechnung_position s ON r.id = s.rechnung INNER JOIN auftrag_position p ON s.auftrag_position_id = p.id WHERE p.auftrag='$id' union SELECT - r.id,CONCAT('','>'),if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),if(r.status='storniert','',''),'   - ') as rechnung + r.id, + ".$link_zur_rechnung." as rechnung FROM rechnung r INNER JOIN sammelrechnung_position s ON r.id = s.rechnung INNER JOIN lieferschein_position lp ON lp.id = s.lieferschein_position_id @@ -2158,9 +2162,8 @@ class Auftrag extends GenAuftrag else{ $rechnung = $this->app->DB->SelectPairs( "SELECT - r.id, CONCAT('','>'),if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),if(r.status='storniert','',''),'   - ' - ) as rechnung + r.id, + ".$link_zur_rechnung." as rechnung FROM rechnung r WHERE r.auftragid='$id'" ); @@ -2176,10 +2179,9 @@ class Auftrag extends GenAuftrag if(!$rechnung) { $rechnung = $this->app->DB->SelectPairs( "SELECT - r.id, CONCAT('','>'),if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),if(r.status='storniert','',''),'   - ' - ) as rechnung - FROM rechnung r + r.id, + ".$link_zur_rechnung." as rechnung + FROM rechnung r INNER JOIN auftrag a ON a.rechnungid = r.id WHERE a.id='$id' "); @@ -5071,7 +5073,7 @@ class Auftrag extends GenAuftrag foreach($lieferscheine as $deliveryNoteId => $deliveryNoteNumber) { $optional .= " "; } } @@ -5084,7 +5086,7 @@ class Auftrag extends GenAuftrag foreach($rechnungen as $invoiceId => $invoiceNumber) { $optional .= " "; } } @@ -5260,11 +5262,13 @@ class Auftrag extends GenAuftrag $this->app->Tpl->Add('AUFTRAGSDOKUMENTE',""); } +/* XENTRAL Legacy //suche alle LS zu diesem Auftrag if($auftragsnummer>0) { $trackingInfo = $this->AuftragTrackingTabelle(empty($deliveryNoteIds)?0: $id); $this->app->Tpl->Set('VERSAND', $trackingInfo); } +*/ // UST $ust_ok = $orderRow['ust_ok'];//$this->app->DB->Select("SELECT ust_ok FROM auftrag WHERE id='$id' LIMIT 1"); diff --git a/www/pages/lieferschein.php b/www/pages/lieferschein.php index cfe08757..4b80a518 100644 --- a/www/pages/lieferschein.php +++ b/www/pages/lieferschein.php @@ -876,22 +876,19 @@ class Lieferschein extends GenLieferschein $this->app->Tpl->Set('AUFTRAG','-'); } + $link_zur_rechnung = "CONCAT('','>'),if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),if(r.status='storniert','',''),' ',".$this->app->YUI->GetRechnungFileDownloadLinkIconSQL().",'  ')"; + if($auftragArr[0]['auftragid'] > 0){ $rechnung = $this->app->DB->SelectArr( ($auftragArr[0]['auftragid']? "SELECT - CONCAT('',if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),'   - ') as rechnung - FROM rechnung r WHERE r.auftragid='".$auftragArr[0]['auftragid']."' AND r.auftragid <> '0' + ".$link_zur_rechnung." as rechnung FROM rechnung r WHERE r.auftragid='".$auftragArr[0]['auftragid']."' AND r.auftragid <> '0' union SELECT - CONCAT('',if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),'   - ') as rechnung - FROM rechnung r INNER JOIN sammelrechnung_position s ON r.id = s.rechnung INNER JOIN auftrag_position p ON s.auftrag_position_id = p.id WHERE p.auftrag='".$auftragArr[0]['auftragid']."' + ".$link_zur_rechnung." as rechnung FROM rechnung r INNER JOIN sammelrechnung_position s ON r.id = s.rechnung INNER JOIN auftrag_position p ON s.auftrag_position_id = p.id WHERE p.auftrag='".$auftragArr[0]['auftragid']."' union ":"")." SELECT - CONCAT('',if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),'   - ') as rechnung + ".$link_zur_rechnung." as rechnung FROM rechnung r INNER JOIN sammelrechnung_position s ON r.id = s.rechnung INNER JOIN lieferschein_position lp ON lp.id = s.lieferschein_position_id WHERE lp.lieferschein='$id' @@ -903,14 +900,11 @@ class Lieferschein extends GenLieferschein if($auftragArr[0]['rechnungid'] > 0){ $rechnung = $this->app->DB->SelectArr("SELECT - CONCAT('',if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),'   - ') as rechnung + ".$link_zur_rechnung." as rechnung FROM rechnung r WHERE r.id='".$auftragArr[0]['rechnungid']."' AND r.id <> '0' - union - + union SELECT - CONCAT('',if(r.belegnr='0' OR r.belegnr='','ENTWURF',r.belegnr),'   - ') as rechnung + ".$link_zur_rechnung." as rechnung FROM rechnung r INNER JOIN sammelrechnung_position s ON r.id = s.rechnung INNER JOIN lieferschein_position lp ON lp.id = s.lieferschein_position_id WHERE lp.lieferschein='$id' diff --git a/www/pages/rechnung.php b/www/pages/rechnung.php index e2b6354b..86fc9c41 100644 --- a/www/pages/rechnung.php +++ b/www/pages/rechnung.php @@ -577,15 +577,7 @@ class Rechnung extends GenRechnung   "; - if (!empty($rechnungarr['belegnr'])) { - if ($rechnungarr['xmlrechnung']) { - $downloadicon = ""; - } else { - $downloadicon = ""; - } - } else { - $downloadicon = ''; - } + $downloadicon = $this->app->YUI->GetRechnungFileDownloadLinkIcon($id); $menu .= $downloadicon;