From 828af9ab50642a5c8cfcfdf5a9e45df3c4cde6e5 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Wed, 5 Apr 2023 13:07:03 +0200 Subject: [PATCH] fibu_buchungen check saldo for vorschlag --- upgrade/data/db_schema.json | 2 +- www/pages/content/fibu_buchungen_zuordnen.tpl | 7 +++ www/pages/fibu_buchungen.php | 44 ++++++++++++++----- 3 files changed, 42 insertions(+), 11 deletions(-) diff --git a/upgrade/data/db_schema.json b/upgrade/data/db_schema.json index bb0f8dc2..6d5b33b4 100644 --- a/upgrade/data/db_schema.json +++ b/upgrade/data/db_schema.json @@ -117352,7 +117352,7 @@ { "name": "fibu_objekte_view", "type": "VIEW", - "Create": "CREATE VIEW `fibu_objekte_view` AS select `fo`.`datum` AS `datum`,`fo`.`typ` AS `typ`,`fo`.`id` AS `id`,`fo`.`info` AS `info`,`fo`.`typ` in ('rechnung','gutschrift','verbindlichkeit','auftrag') AS `is_beleg` from (select `auftrag`.`datum` AS `datum`,'auftrag' AS `typ`,`auftrag`.`id` AS `id`,`auftrag`.`belegnr` AS `info` from `auftrag` where `auftrag`.`belegnr` <> '' union select `rechnung`.`datum` AS `datum`,'rechnung' AS `typ`,`rechnung`.`id` AS `id`,`rechnung`.`belegnr` AS `info` from `rechnung` where `rechnung`.`belegnr` <> '' union select `gutschrift`.`datum` AS `datum`,'gutschrift' AS `gutschrift`,`gutschrift`.`id` AS `id`,`gutschrift`.`belegnr` AS `belegnr` from `gutschrift` where `gutschrift`.`belegnr` <> '' union select `verbindlichkeit`.`rechnungsdatum` AS `rechnungsdatum`,'verbindlichkeit' AS `verbindlichkeit`,`verbindlichkeit`.`id` AS `id`,`verbindlichkeit`.`rechnung` AS `belegnr` from `verbindlichkeit` where `verbindlichkeit`.`belegnr` <> '' union select `kontoauszuege`.`buchung` AS `buchung`,'kontoauszuege' AS `kontoauszuege`,`kontoauszuege`.`id` AS `id`,concat(`konten`.`kurzbezeichnung`,' - ',`kontoauszuege`.`buchungstext`) AS `buchungstext` from (`kontoauszuege` left join `konten` on(`konten`.`id` = `kontoauszuege`.`konto`)) union select '' AS `datum`,'kontorahmen' AS `'kontorahmen'`,`kontorahmen`.`id` AS `id`,concat(`kontorahmen`.`sachkonto`,' - ',`kontorahmen`.`beschriftung`) AS `beschriftung` from `kontorahmen`) `fo` where `fo`.`datum` >= (select `firmendaten_werte`.`wert` from `firmendaten_werte` where `firmendaten_werte`.`name` = 'fibu_buchungen_startdatum') or `fo`.`datum` = ''" + "Create": "CREATE VIEW `fibu_objekte_view` AS select `fo`.`datum` AS `datum`,`fo`.`typ` AS `typ`,`fo`.`id` AS `id`,`fo`.`info` AS `info`,`fo`.`adresse` AS `adresse`,`fo`.`typ` in ('rechnung','gutschrift','verbindlichkeit','auftrag') AS `is_beleg` from (select `auftrag`.`datum` AS `datum`,'auftrag' AS `typ`,`auftrag`.`id` AS `id`,`auftrag`.`belegnr` AS `info`,`auftrag`.`adresse` AS `adresse` from `auftrag` where `auftrag`.`belegnr` <> '' and `auftrag`.`status` <> 'abgeschlossen' union select `rechnung`.`datum` AS `datum`,'rechnung' AS `typ`,`rechnung`.`id` AS `id`,`rechnung`.`belegnr` AS `info`,`rechnung`.`adresse` AS `adresse` from `rechnung` where `rechnung`.`belegnr` <> '' and `rechnung`.`zahlungsstatus` <> 'bezahlt' union select `gutschrift`.`datum` AS `datum`,'gutschrift' AS `gutschrift`,`gutschrift`.`id` AS `id`,`gutschrift`.`belegnr` AS `belegnr`,`gutschrift`.`adresse` AS `adresse` from `gutschrift` where `gutschrift`.`belegnr` <> '' and `gutschrift`.`zahlungsstatus` <> 'bezahlt' union select `verbindlichkeit`.`rechnungsdatum` AS `rechnungsdatum`,'verbindlichkeit' AS `verbindlichkeit`,`verbindlichkeit`.`id` AS `id`,`verbindlichkeit`.`rechnung` AS `belegnr`,`verbindlichkeit`.`adresse` AS `adresse` from `verbindlichkeit` where `verbindlichkeit`.`belegnr` <> '' and `verbindlichkeit`.`status` <> 'bezahlt' union select `kontoauszuege`.`buchung` AS `buchung`,'kontoauszuege' AS `kontoauszuege`,`kontoauszuege`.`id` AS `id`,concat(`konten`.`kurzbezeichnung`,' - ',`kontoauszuege`.`buchungstext`) AS `buchungstext`,'' from (`kontoauszuege` left join `konten` on(`konten`.`id` = `kontoauszuege`.`konto`)) union select '' AS `datum`,'kontorahmen' AS `'kontorahmen'`,`kontorahmen`.`id` AS `id`,concat(`kontorahmen`.`sachkonto`,' - ',`kontorahmen`.`beschriftung`) AS `beschriftung`,'' from `kontorahmen`) `fo` where `fo`.`datum` >= (select `firmendaten_werte`.`wert` from `firmendaten_werte` where `firmendaten_werte`.`name` = 'fibu_buchungen_startdatum') or `fo`.`datum` = ''" }, { "name": "fibu_buchungen_alle_view", diff --git a/www/pages/content/fibu_buchungen_zuordnen.tpl b/www/pages/content/fibu_buchungen_zuordnen.tpl index 126647c0..a8ab5ec4 100644 --- a/www/pages/content/fibu_buchungen_zuordnen.tpl +++ b/www/pages/content/fibu_buchungen_zuordnen.tpl @@ -22,6 +22,13 @@ +
  • + + +
  • diff --git a/www/pages/fibu_buchungen.php b/www/pages/fibu_buchungen.php index 1387207c..9ee74f9a 100644 --- a/www/pages/fibu_buchungen.php +++ b/www/pages/fibu_buchungen.php @@ -183,10 +183,10 @@ class Fibu_buchungen { case 'fibu_buchungen_zuordnen': $allowed['fibu_buchungen_zuordnung'] = array('list'); - $heading = array('','','Datum', 'Info', 'Betrag', 'Währung', 'Buchungsbetrag','Vorschlag', 'Menü'); + $heading = array('','','Datum','Typ', 'Info', 'Betrag', 'Währung', 'Buchungsbetrag','Vorschlag', 'Menü'); $width = array( ); - $findcols = array('','auswahl','datum','objektlink','saldo','waehrung','buchwert_input','vorschlag'); + $findcols = array('','auswahl','datum','typ','objektlink','saldo','waehrung','buchwert_input','vorschlag'); $searchsql = array(); $defaultorder = 1; @@ -209,6 +209,8 @@ class Fibu_buchungen { '' ); + $check_sql = "(fo.info <> '' AND salden.saldonum = -SUM(fbd.betrag))"; + $auswahl = array ( ' 'salden.typ'], @@ -220,7 +222,7 @@ class Fibu_buchungen { '_', ['sql' => 'salden.id'], '"', - ['sql' => "if(fo.info <> '','checked','')"], + ['sql' => "if(".$check_sql.",'checked','')"], ' />' ); @@ -234,7 +236,7 @@ class Fibu_buchungen { ' ', ['sql' => 'COALESCE(fo.info,\'\')'], ' ', - ['sql' => "if (SUM(fbd.betrag) IS NULL,'',CONCAT('(Saldo ',".$this->app->erp->FormatMenge('SUM(fbd.betrag)',2).",')'))"], + ['sql' => "if (SUM(fbd.betrag) IS NULL,'',CONCAT('(Saldo ',".$this->app->erp->FormatMenge('SUM(fbd.betrag)',2).",', Diff. ',".$this->app->erp->FormatMenge('SUM(fbd.betrag)+saldonum',2).",')'))"], ' ', 'app->erp->FormatUCfirst("typ").", objektlink, saldo, waehrung, wert, vorschlag, - doc, - doc_id + doc, + doc_id, + doc_saldo, + checked FROM ( SELECT @@ -297,7 +302,8 @@ class Fibu_buchungen { fo.id AS doc_id, fo.info AS doc_info, SUM(fbd.betrag) as doc_saldo, - ".$this->app->erp->ConcatSQL($doc)." AS doc + if(".$check_sql.",'1','0') AS checked, + ".$this->app->erp->ConcatSQL($doc)." AS doc FROM ( SELECT @@ -326,9 +332,14 @@ class Fibu_buchungen { SELECT fo.typ, fo.id, - fo.info + fo.info, + SUM(fob.betrag) as doc_saldo FROM - fibu_objekte fo + fibu_objekte fo + INNER JOIN + fibu_buchungen_alle fob + ON + fo.typ = fob.typ AND fo.id = fob.id WHERE fo.is_beleg = 1 GROUP BY fo.typ, @@ -345,7 +356,9 @@ class Fibu_buchungen { salden.saldonum <> 0 GROUP BY salden.typ, - salden.id + salden.id, + fo.typ, + fo.id ) AS erg "; @@ -353,6 +366,7 @@ class Fibu_buchungen { // Toggle filters $this->app->Tpl->Add('JQUERYREADY', "$('#vorschlagfilter').click( function() { fnFilterColumn1( 0 ); } );"); + $this->app->Tpl->Add('JQUERYREADY', "$('#checkedfilter').click( function() { fnFilterColumn2( 0 ); } );"); for ($r = 1;$r <= 4;$r++) { $this->app->Tpl->Add('JAVASCRIPT', ' @@ -378,12 +392,22 @@ class Fibu_buchungen { $where .= " AND doc_id IS NOT NULL"; } else { } + + $more_data2 = $this->app->Secure->GetGET("more_data2"); + if ($more_data2 == 1) { + $where .= " AND checked = 1"; + } else { + } + // END Toggle filters // $count = "SELECT count(DISTINCT id) FROM fibu_buchungen_alle WHERE $where"; $groupby = "GROUP BY typ, id"; +//echo($sql." WHERE ".$where." ".$groupby); + + break; }