From 17bdb1c5e1db9a5ae37f538eb0e05b85bbffb3b0 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Thu, 13 Apr 2023 21:58:11 +0200 Subject: [PATCH] auftrag set vorkasse_ok according to fibu_buchungen --- www/lib/class.erpapi.php | 7 +++++++ www/pages/auftrag.php | 23 +++++++++++++++++++++++ www/pages/fibu_buchungen.php | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php index 5c97843b..b05f03fb 100644 --- a/www/lib/class.erpapi.php +++ b/www/lib/class.erpapi.php @@ -12698,6 +12698,10 @@ function SendPaypalFromAuftrag($auftrag, $test = false) //TODO zahlungsweisemodul $zahlungsweise = strtolower($zahlungsweise); +/* + + OLD CODE REPLACED BY FUNCTION IN auftrag.php / fibu_buchungen + if($zahlungsweisenmodule = $this->app->DB->SelectArr("SELECT id, modul, verhalten FROM zahlungsweisen WHERE type = '".$this->app->DB->real_escape_string($zahlungsweise)."' AND (projekt = '$projekt' OR projekt = 0) ORDER BY projekt = '$projekt' DESC LIMIT 1 ")) @@ -12725,6 +12729,9 @@ function SendPaypalFromAuftrag($auftrag, $test = false) $this->app->DB->Update("UPDATE auftrag SET vorkasse_ok='0' WHERE id='$auftrag' LIMIT 1"); } } + +*/ + //nachnahme gebuehr check!!!! //$nachnahme = $this->app->DB->Select("SELECT id FROM auftrag_position WHERE auftrag='$auftrag' AND nummer='200001' LIMIT 1"); $nachnahme = $this->app->DB->Select("SELECT COUNT(ap.id) FROM auftrag_position ap, artikel a WHERE ap.auftrag='$auftrag' AND ap.artikel=a.id AND a.porto=1 AND ap.preis >= 0 diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php index 6528b92d..b77d9802 100644 --- a/www/pages/auftrag.php +++ b/www/pages/auftrag.php @@ -6711,6 +6711,29 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. public function AuftragList() { + + // refresh all open items + $openids = $this->app->DB->SelectArr("SELECT id, gesamtsumme, waehrung from auftrag WHERE status <> 'abgeschlossen'"); + + foreach ($openids as $openid) { + $saldo = $this->app->erp->GetSaldoDokument($openid['id'],'auftrag'); + if (!empty($saldo)) { + if ($saldo['waehrung'] == $openid['waehrung'] && $saldo['betrag'] >= $openid['gesamtsumme']) { + $sql = "UPDATE + auftrag + SET + vorkasse_ok = 1 + WHERE id=".$openid['id']; + $this->app->DB->Update($sql); + continue; + } + } + else { + $this->app->DB->Update("UPDATE auftrag SET vorkasse_ok = 0 WHERE id=".$openid['id']); + } + } + + if($this->app->Secure->GetPOST('ausfuehren') && $this->app->erp->RechteVorhanden('auftrag', 'edit')) { $drucker = $this->app->Secure->GetPOST('seldrucker'); diff --git a/www/pages/fibu_buchungen.php b/www/pages/fibu_buchungen.php index e7f7ced0..2702b724 100644 --- a/www/pages/fibu_buchungen.php +++ b/www/pages/fibu_buchungen.php @@ -335,7 +335,7 @@ class Fibu_buchungen { SUM(fob.betrag) as doc_saldo FROM fibu_objekte fo - INNER JOIN + LEFT JOIN fibu_buchungen_alle fob ON fo.typ = fob.typ AND fo.id = fob.id