From c424d79fd67bf672180f576e540951176c321090 Mon Sep 17 00:00:00 2001
From: OpenXE <>
Date: Mon, 1 Jan 2024 18:50:40 +0100
Subject: [PATCH] verbindlichkeit added findcols and filters
---
www/pages/content/verbindlichkeit_edit.tpl | 2 +-
.../content/verbindlichkeit_positionen.tpl | 6 +--
www/pages/verbindlichkeit.php | 37 ++++++++++++++-----
3 files changed, 32 insertions(+), 13 deletions(-)
diff --git a/www/pages/content/verbindlichkeit_edit.tpl b/www/pages/content/verbindlichkeit_edit.tpl
index 1dfbbf50..8b8de80f 100644
--- a/www/pages/content/verbindlichkeit_edit.tpl
+++ b/www/pages/content/verbindlichkeit_edit.tpl
@@ -21,7 +21,7 @@
[STATUSICONS]
diff --git a/www/pages/content/verbindlichkeit_positionen.tpl b/www/pages/content/verbindlichkeit_positionen.tpl
index 800d670a..2bf5580e 100644
--- a/www/pages/content/verbindlichkeit_positionen.tpl
+++ b/www/pages/content/verbindlichkeit_positionen.tpl
@@ -30,7 +30,7 @@
@@ -59,13 +59,13 @@
Sachkonto: |
- |
+ |
Steuersatz: |
- |
+ |
diff --git a/www/pages/verbindlichkeit.php b/www/pages/verbindlichkeit.php
index 594f9c60..5c392e4e 100644
--- a/www/pages/verbindlichkeit.php
+++ b/www/pages/verbindlichkeit.php
@@ -194,7 +194,7 @@ class Verbindlichkeit {
$heading = array('Paket-Nr.','Paket-Pos.', 'Bestellung', 'Lieferschein', 'Rechnung', 'Artikel-Nr.','Artikel','Menge','Menge offen','Eingabe','Preis','');
$width = array( '1%', '1%', '5%', '5%', '5%', '5%', '20%', '2%', '1%', '1%', '1%', '1%');
- $findcols = array('id','belegnr');
+ $findcols = array('pa','auswahl','belegnr','lsnr','renr','artikelnummer','name_de','menge','offen_menge','offen_menge','preis','pa');
$searchsql = array('p.nummer', 'p.name', 'p.bemerkung');
$alignright = array(8,9,11);
@@ -288,13 +288,13 @@ class Verbindlichkeit {
$sql = "
SELECT SQL_CALC_FOUND_ROWS * FROM (
SELECT
- pa.id pa,
- ".$this->app->erp->ConcatSQL($paketlink).",
+ pa.id pa_id,
+ ".$this->app->erp->ConcatSQL($paketlink)." pa,
".$this->app->erp->ConcatSQL($auswahl)." AS auswahl,
if(b.belegnr LIKE '%".$bestellnummer."%',CONCAT('',b.belegnr,''),b.belegnr) AS belegnr,
pa.lsnr,
if(pa.renr LIKE '%".$rechnung."%',CONCAT('',pa.renr,''),pa.renr) AS renr,
- ".$this->app->erp->ConcatSQL($artikellink).",
+ ".$this->app->erp->ConcatSQL($artikellink)." AS artikelnummer,
art.name_de,
pd.menge,
IF(
@@ -303,7 +303,7 @@ class Verbindlichkeit {
0
) offen_menge,
".$this->app->erp->ConcatSQL($werte).",
- ".$this->app->erp->ConcatSQL($preise)."
+ ".$this->app->erp->ConcatSQL($preise)." AS preis
FROM
paketannahme pa
INNER JOIN paketdistribution pd ON
@@ -340,13 +340,13 @@ class Verbindlichkeit {
$allowed['verbindlichkeit_positionen'] = array('list');
$id = $app->Secure->GetGET('id');
- $freigabe = $app->DB->Select("SELECT freigabe FROM verbindlichkeit WHERE id = ".$id);
+ $freigabe = $app->DB->Select("SELECT freigabe FROM verbindlichkeit WHERE id = '".$id."'");
// $heading = array('Paket-Nr.','Paket-Pos.', 'Bestellung', 'Artikel-Nr.','Artikel','Menge','Preis','Steuersatz','Sachkonto','Menü','');
$heading = array('', 'Paket-Nr.','Paket-Pos.', 'Bestellung', 'Artikel-Nr.','Artikel','Menge','Preis','Steuersatz abw.','Sachkonto abw.');
$width = array( '1%','1%', '1%' , '2%', '2%', '16%', '1%', '1%', '1%', '3%', '1%', '1%');
- $findcols = array('id','id');
+ $findcols = array('vp.id','pd.paketannahme','pd.id','b.belegnr','art.nummer','art.name_de','vp.menge','vp.preis','vp.steuersatz',"CONCAT(skv.sachkonto,' ',skv.beschriftung)",'vp.id','1');
$searchsql = array('p.nummer', 'p.name', 'p.bemerkung');
$alignright = array(6,7,8,9);
@@ -369,11 +369,19 @@ class Verbindlichkeit {
$box = "CONCAT('') AS `auswahl`";
+ $paketlink = array (
+ '',
+ ['sql' => 'pd.paketannahme'],
+ ''
+ );
+
$sql = "
SELECT SQL_CALC_FOUND_ROWS
vp.id,
$box,
- pd.paketannahme,
+ ".$this->app->erp->ConcatSQL($paketlink)." pa,
pd.id paket_position,
b.belegnr,
art.nummer,
@@ -800,6 +808,11 @@ class Verbindlichkeit {
$this->app->Tpl->Set('POSITIONENMESSAGE', 'Positionen vollständig
');
} else {
$this->app->Tpl->Set('POSITIONENMESSAGE', 'Positionen nicht vollständig. Bruttobetrag '.$verbindlichkeit_from_db['betrag'].', Summe Positionen (brutto) '.round($betrag_brutto,2).', Summe Positionen (netto) '.round($betrag_netto,2).'
');
+
+ if ($verbindlichkeit_from_db['freigabe']) {
+ $this->app->DB->Update("UPDATE verbindlichkeit SET freigabe = 0 WHERE id = ".$id);
+ }
+
}
$this->app->Tpl->Set('BETRAGDISABLED', 'disabled');
@@ -834,10 +847,16 @@ class Verbindlichkeit {
$this->app->Tpl->Set('POSITIONHINZUFUEGENHIDDEN','hidden');
} else {
$this->app->Tpl->Set('RUECKSETZENEINKAUFHIDDEN','hidden');
+ $this->app->Tpl->Set('FREIGABEBUCHHALTUNGHIDDEN','hidden');
+ }
+
+ if (!empty($positionen)) {
+ $this->app->Tpl->Set('FREIGABEEINKAUFHIDDEN','hidden');
}
if ($verbindlichkeit_from_db['rechnungsfreigabe']) {
$this->app->Tpl->Set('FREIGABEBUCHHALTUNGHIDDEN','hidden');
+ $this->app->Tpl->Set('RUECKSETZENEINKAUFHIDDEN','hidden');
} else {
$this->app->Tpl->Set('RUECKSETZENBUCHHALTUNGHIDDEN','hidden');
}
@@ -1037,7 +1056,7 @@ class Verbindlichkeit {
$id = $this->app->Secure->GetGET('id');
$gotoedit = true;
}
- $sql = "UPDATE verbindlichkeit SET rechnungsfreigabe = 1 WHERE id=".$id;
+ $sql = "UPDATE verbindlichkeit SET rechnungsfreigabe = 1 WHERE freigabe = 1 AND id=".$id;
$this->app->DB->Update($sql);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit freigegeben (Buchhaltung)");
if ($gotoedit) {