From e39c53d522c2c54b5f609ed89b872fa6e1275f1f Mon Sep 17 00:00:00 2001 From: Joey Schulze Date: Sun, 22 Oct 2000 14:08:37 +0000 Subject: [PATCH] Rudimentaere Buchhaltung hinzugefuegt. --- src/InfoCon/account/submenu.inc | 7 +- src/InfoCon/buch/index.wml | 57 +++++++++++++++ src/InfoCon/buch/list.wml | 125 ++++++++++++++++++++++++++++++++ src/InfoCon/buch/pay.wml | 43 +++++++++++ src/InfoCon/buch/submenu.inc | 16 ++++ src/InfoCon/submenu.inc | 2 + 6 files changed, 249 insertions(+), 1 deletion(-) create mode 100644 src/InfoCon/buch/index.wml create mode 100644 src/InfoCon/buch/list.wml create mode 100644 src/InfoCon/buch/pay.wml create mode 100644 src/InfoCon/buch/submenu.inc diff --git a/src/InfoCon/account/submenu.inc b/src/InfoCon/account/submenu.inc index fd33abf..71d384d 100644 --- a/src/InfoCon/account/submenu.inc +++ b/src/InfoCon/account/submenu.inc @@ -1,6 +1,11 @@ InfoCon
-Konto
+ "index" + Konto + Konto +>
+ +Buchhaltung
#Download
diff --git a/src/InfoCon/buch/index.wml b/src/InfoCon/buch/index.wml new file mode 100644 index 0000000..cf8cd81 --- /dev/null +++ b/src/InfoCon/buch/index.wml @@ -0,0 +1,57 @@ +#include + + + + + +
+ +Jahr:
+Kategorie:
+Zahlung: Einnahmen Ausgaben
+ +

+

+ + 0) { + echo ("

Nicht bezahlte Rechnungen

"); + echo ("
"); + } + + for ($nr=0; $nr ", $row['nr']); + printf ("%d. %s %s (%.2f)
", $row['nr'], $date, $row['description'], $row['price']); + } + + if (pg_NumRows ($sth) > 0) { + echo ("

"); + echo ("

"); + } +?> + +
+ +# Local variables: +# mode: text +# mode: auto-fill +# mode: iso-accents +# end: diff --git a/src/InfoCon/buch/list.wml b/src/InfoCon/buch/list.wml new file mode 100644 index 0000000..61484e9 --- /dev/null +++ b/src/InfoCon/buch/list.wml @@ -0,0 +1,125 @@ +#include + + + + + + + + + + + + +") + or die("Unable to connect to SQL server"); + + pg_exec ($dbh, "SET DateStyle = 'ISO'") or die("Datenbank-Abfrage!"); + + if (strlen($year)) { + # $where[] = "date >= '$year-01-01'"; + # $year++; + # $where[] = "date < '$year-01-01'"; + $where[] = "date ~* '$year'"; + } + if (strlen($category)) { + $where[] = "category = '$category'"; + } + if ($input && !$output) { + $where[] = "price > 0.0"; + } elseif ($output && !$input) { + $where[] = "price < 0.0"; + } + + $query = "SELECT date,oid,category,description,price FROM sales "; + if (count($where) > 0) { + $query .= " WHERE " . implode ($where, " AND "); + } + $query .= " ORDER BY date,oid"; + $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!"); + + $sum = 0.0; + for ($nr=0; $nr < pg_NumRows ($sth); $nr++) { + $row = pg_fetch_array ($sth, $nr); + + # $date = explode (" ", $row['date']); + # $date = explode ("-", $date[0]); + # $date = sprintf ("%d.%d.%d", $date[2], $date[1], $date[0]); + $date = substr ($row['date'],6,2) . "." . substr ($row['date'],4,2) . "." . substr ($row['date'],0,4); + + echo (""); + printf ("", $date); + printf ("", $row['category']); + printf ("", $row['oid'], $row['description']); + printf ("", $row['price']); + $sum += $row['price']; + echo (""); + } + echo (""); + echo (""); + printf ("", $sum); + echo (""); + + if (!strlen($category)) { + + $query = "SELECT DISTINCT category FROM sales "; + if (strlen($year)) { + $query .= "WHERE date ~* '$year'"; + } + + $sth = pg_exec ($dbh, $query); // or die("Datenbank-Abfrage!"); + + for ($nr=0; $nr < pg_NumRows ($sth); $nr++) { + $row = pg_fetch_array ($sth, $nr); + $catz[] = $row['category']; + } + + if (count ($catz) > 0) { + echo ("

Nach Kategorien sortiert

"); + echo ("
DatumKategorieVerwendungszweckBetrag
%s%s%s%5.2f
Summe%5.2f
"); + echo ("" + .""); + sort ($catz); + + for ($i=0; $i < count ($catz); $i++) { + $query = sprintf ("SELECT SUM (price) FROM sales WHERE category = '%s' AND price > 0.0", $catz[$i]); + if (strlen($year)) { + $query .= " AND date ~* '$year'"; + } + $sth = pg_exec ($dbh, $query); // or die("Datenbank-Abfrage!"); + $row = pg_fetch_array ($sth, 0); + $input = $row[0]; $sum_input += $input; + $query = sprintf ("SELECT SUM (price) FROM sales WHERE category = '%s' AND price < 0.0", $catz[$i]); + if (strlen($year)) { + $query .= " AND date ~* '$year'"; + } + $sth = pg_exec ($dbh, $query); // or die("Datenbank-Abfrage!"); + $row = pg_fetch_array ($sth, 0); + $output = -$row[0]; $sum_output += $output; + + printf ("" + ."" + ."",$catz[$i], $input, $output, $input - $output); + } + + printf ("" + ."" + ."",$sum_input, $sum_output, $sum_input - $sum_output); + echo ("
KategorieEinnahmenAusgabenSumme
%s%.2f%.2f%.2f
Summe%.2f%.2f%.2f
"); + + } + } +?> +

+ +Neuer Eintrag

+ + + + +# Local variables: +# mode: text +# mode: auto-fill +# mode: iso-accents +# end: diff --git a/src/InfoCon/buch/pay.wml b/src/InfoCon/buch/pay.wml new file mode 100644 index 0000000..3ebdd75 --- /dev/null +++ b/src/InfoCon/buch/pay.wml @@ -0,0 +1,43 @@ +#include + + + + + +") + or die("Unable to connect to SQL server"); + + $query = "SELECT nr FROM sales WHERE paid=0"; + $sth = pg_exec ($dbh, $query); + + # Collect all to be paid entries + # + for ($nr=0; $nr 0) { + echo ("Folgende Buchungen werden bezahlt:

"); + for ($i=0; $i < count ($pay); $i++) { + $query = sprintf ("UPDATE sales SET paid=1 WHERE nr = %d", $pay[$i]); + + printf ("%s
", $query); + $sth = pg_exec ($dbh, $query); + } + } + +?> + + +# Local variables: +# mode: text +# mode: auto-fill +# mode: iso-accents +# end: diff --git a/src/InfoCon/buch/submenu.inc b/src/InfoCon/buch/submenu.inc new file mode 100644 index 0000000..0d460d7 --- /dev/null +++ b/src/InfoCon/buch/submenu.inc @@ -0,0 +1,16 @@ +InfoCon
+ +Konto
+ + "index" + Buchhaltung + Buchhaltung +>
+ +#Download
+ +# Local variables: +# mode: indented-text +# mode: auto-fill +# mode: iso-accents +# end: diff --git a/src/InfoCon/submenu.inc b/src/InfoCon/submenu.inc index d1c651c..7ba6203 100644 --- a/src/InfoCon/submenu.inc +++ b/src/InfoCon/submenu.inc @@ -2,6 +2,8 @@ Konto
+Buchhaltung
+ #Download
ffis Service
-- 2.20.1