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;