From 03f0f7217b32b580d973eb71d104cda6a4f72fdd Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Wed, 5 Apr 2023 11:01:16 +0200 Subject: [PATCH] rechnung & gutschrift set zahlungsstatus according to saldo --- www/pages/gutschrift.php | 41 ++++++++++++++++++++++------------------ www/pages/rechnung.php | 41 ++++++++++++++++++++++------------------ 2 files changed, 46 insertions(+), 36 deletions(-) diff --git a/www/pages/gutschrift.php b/www/pages/gutschrift.php index b77715e7..3545b9d2 100644 --- a/www/pages/gutschrift.php +++ b/www/pages/gutschrift.php @@ -1397,24 +1397,7 @@ class Gutschrift extends GenGutschrift { $this->app->Tpl->Set('UEBERSCHRIFT', 'Gutschriften'); - $this->app->DB->Update("UPDATE gutschrift SET zahlungsstatus='offen' WHERE zahlungsstatus=''"); - - // First refresh all open items - $openids = $this->app->DB->SelectArr("SELECT id, waehrung from gutschrift WHERE zahlungsstatus != 'bezahlt'"); - - foreach ($openids as $openid) { - $saldo = $this->app->erp->GetSaldoDokument($openid['id'],'gutschrift'); - - if (!empty($saldo)) { - if ($saldo['waehrung'] == $openid['waehrung']) { - $sql = "UPDATE gutschrift SET ist = soll-'".$saldo['betrag']."' WHERE id=".$openid['id']; - $result = $this->app->DB->Update($sql); - } - } - else { - $this->app->DB->Update("UPDATE gutschrift SET ist = null WHERE id=".$openid['id']); - } - } + $this->app->DB->Update("UPDATE gutschrift SET zahlungsstatus='offen' WHERE zahlungsstatus=''"); if($this->app->Secure->GetPOST('ausfuehren') && $this->app->erp->RechteVorhanden('gutschrift', 'edit')) { $drucker = $this->app->Secure->GetPOST('seldrucker'); @@ -1659,6 +1642,28 @@ class Gutschrift extends GenGutschrift } } + // refresh all open items + $openids = $this->app->DB->SelectArr("SELECT id, waehrung from gutschrift WHERE zahlungsstatus != 'bezahlt'"); + + foreach ($openids as $openid) { + $saldo = $this->app->erp->GetSaldoDokument($openid['id'],'gutschrift'); + + if (!empty($saldo)) { + if ($saldo['waehrung'] == $openid['waehrung']) { + $sql = "UPDATE + gutschrift + SET + ist = ".$saldo['betrag']."+soll, + zahlungsstatus = IF(".$saldo['betrag']." = 0,'bezahlt','offen') + WHERE id=".$openid['id']; + $this->app->DB->Update($sql); + } + } + else { + $this->app->DB->Update("UPDATE gutschrift SET ist = null WHERE id=".$openid['id']); + } + } + $backurl = $this->app->Secure->GetGET('backurl'); $backurl = $this->app->erp->base64_url_decode($backurl); diff --git a/www/pages/rechnung.php b/www/pages/rechnung.php index c68ae2ed..bace78c6 100644 --- a/www/pages/rechnung.php +++ b/www/pages/rechnung.php @@ -2063,24 +2063,7 @@ class Rechnung extends GenRechnung public function RechnungList() { - $this->app->DB->Update("UPDATE rechnung SET zahlungsstatus='offen' WHERE zahlungsstatus=''"); - - // First refresh all open items - $openids = $this->app->DB->SelectArr("SELECT id, waehrung from rechnung WHERE zahlungsstatus = 'offen'"); - - foreach ($openids as $openid) { - $saldo = $this->app->erp->GetSaldoDokument($openid['id'],'rechnung'); - - if (!empty($saldo)) { - if ($saldo['waehrung'] == $openid['waehrung']) { - $sql = "UPDATE rechnung SET ist = ".$saldo['betrag']."+soll WHERE id=".$openid['id']; - $this->app->DB->Update($sql); - } - } - else { - $this->app->DB->Update("UPDATE rechnung SET ist = null WHERE id=".$openid['id']); - } - } + $this->app->DB->Update("UPDATE rechnung SET zahlungsstatus='offen' WHERE zahlungsstatus=''"); if($this->app->Secure->GetPOST('ausfuehren') && $this->app->erp->RechteVorhanden('rechnung', 'edit')) { @@ -2262,6 +2245,28 @@ class Rechnung extends GenRechnung } } + // refresh all open items + $openids = $this->app->DB->SelectArr("SELECT id, waehrung from rechnung WHERE zahlungsstatus = 'offen'"); + + foreach ($openids as $openid) { + $saldo = $this->app->erp->GetSaldoDokument($openid['id'],'rechnung'); + + if (!empty($saldo)) { + if ($saldo['waehrung'] == $openid['waehrung']) { + $sql = "UPDATE + rechnung + SET + ist = ".$saldo['betrag']."+soll, + zahlungsstatus = IF(".$saldo['betrag']." = 0,'bezahlt','offen') + WHERE id=".$openid['id']; + $this->app->DB->Update($sql); + } + } + else { + $this->app->DB->Update("UPDATE rechnung SET ist = null WHERE id=".$openid['id']); + } + } + $this->app->Tpl->Set('UEBERSCHRIFT','Rechnungen'); $backurl = $this->app->Secure->GetGET('backurl');