Vorgemerkte Lastschriften anzeigen
Bernd Wurst

Bernd Wurst commited on 2014-01-11 18:25:16
Zeige 4 geänderte Dateien mit 53 Einfügungen und 4 Löschungen.

... ...
@@ -59,6 +60,12 @@ if (count($invoices_to_show) == 0) {
59 60
   	if ($invoice['bezahlt'] == 1) {
60 61
 	  	$bezahlt = 'Ja';
61 62
       $class = 'paid';
63
+    } else {
64
+      $l = get_lastschrift($invoice['id']);
65
+      if ($l) {
66
+        $bezahlt = 'Wird abgebucht<br/>am '.$l['buchungsdatum'];
67
+        $class = 'paid';
68
+      }
62 69
     }
63 70
   	output("<tr class=\"{$class}\"><td>".internal_link("html", $invoice['id'], "id={$invoice['id']}")."</td><td>{$invoice['datum']}</td><td>{$invoice['betrag']} €</td><td>{$bezahlt}</td><td>".internal_link("pdf", "<img src=\"{$prefix}images/pdf.png\" width=\"22\" height=\"22\" alt=\"PDF\"/>", "id={$invoice['id']}")."</td></tr>\n");
64 71
   }
... ...
@@ -71,8 +71,13 @@ output("<tr><td colspan=\"3\" style=\"text-align: right; font-weight: bold; bord
71 71
 output("<td style=\"font-weight: bold;\">{$summe} €</td></tr>\n");
72 72
 output('</table><br />');
73 73
 
74
+$l = get_lastschrift($invoice_id);
74 75
 
75
-if ($invoice['bezahlt'] == 0 && $invoice['abbuchung'] == 0) {
76
+if ($invoice['bezahlt'] == 1) {
77
+  output('<p>Diese Rechnung ist bereits bezahlt.</p>');
78
+} elseif ($l) {
79
+  output('<p>Diese Rechnung wird am '.$l['buchungsdatum'].' per Lastschrift eingezogen.</p>');
80
+} else {
76 81
   $qrcode_image = generate_qrcode_image($invoice_id);
77 82
 
78 83
   output('<h4>QR-Code für Mobile Banking (STUZZA-Verfahren, Österreichische und viele deutschen Banken)</h4><p><img src="data:image/png;base64,'.base64_encode($qrcode_image).'" /></p>');
... ...
@@ -163,6 +163,26 @@ function generate_bezahlcode_image($id)
163 163
   }
164 164
 }
165 165
 
166
+function get_lastschrift($rechnungsnummer) {
167
+  $rechnungsnummer = (int) $rechnungsnummer;
168
+  $result = db_query("SELECT rechnungsnummer, rechnungsdatum, betrag, buchungsdatum FROM kundendaten.sepalastschrift WHERE rechnungsnummer='${rechnungsnummer}'");
169
+  if (mysql_num_rows($result) == 0) {
170
+    return NULL;
171
+  }
172
+  $item = mysql_fetch_assoc($result);
173
+  return $item;
174
+}
175
+
176
+function get_lastschriften($mandatsreferenz)
177
+{
178
+  $mandatsreferenz = mysql_real_escape_string($mandatsreferenz);
179
+  $result = db_query("SELECT rechnungsnummer, rechnungsdatum, betrag, buchungsdatum FROM kundendaten.sepalastschrift WHERE mandatsreferenz='${mandatsreferenz}' ORDER BY buchungsdatum DESC");
180
+  $ret = array();
181
+  while ($item = mysql_fetch_assoc($result)) {
182
+    $ret[] = $item;
183
+  }
184
+  return $ret;
185
+}
166 186
 
167 187
 function get_sepamandate() 
168 188
 {
... ...
@@ -196,6 +216,13 @@ function invalidate_sepamandat($id, $date)
196 216
 function sepamandat($name, $adresse, $iban, $bankname, $bic, $gueltig_ab)
197 217
 {
198 218
   $cid = (int) $_SESSION['customerinfo']['customerno'];
219
+  $name = mysql_real_escape_string($name);
220
+  $adresse = mysql_real_escape_string($adresse);
221
+  $iban = mysql_real_escape_string($iban);
222
+  $bankname = mysql_real_escape_string($bankname);
223
+  $bic = mysql_real_escape_string($bic);
224
+  $gueltig_ab = mysql_real_escape_string($gueltig_ab);
225
+
199 226
   $first_date = date('Y-m-d');
200 227
   $invoices = my_invoices();
201 228
   foreach ($invoices as $i) {
... ...
@@ -74,10 +74,21 @@ if ($m['gueltig_ab'] <= date('Y-m-d') && ($m['gueltig_bis'] == NULL || $m['guelt
74 74
   output('<p>Das Mandat ist erloschen ('.$gueltigkeit.').</p>');
75 75
 }
76 76
 
77
-if ($m['erstlastschrift'] == NULL) {
77
+$lastschriften = get_lastschriften($m['mandatsreferenz']);
78
+
79
+if (! $lastschriften) {
78 80
   output('<p>Es wurden bisher keine Abbuchungen mit Bezug auf dieses Mandat durchgeführt.</p>');
79
-} elseif ($m['letztelastschrift'] != NULL) {
80
-  output('<p>Dieses Mandat wurde zuletzt für eine Abbuchung am '.$m['letztelastschrift'].' in Anspruch genommen.</p>');
81
+} else {
82
+  output('<p>Dieses Mandat wurde bisher für folgende Abbuchungen in Anspruch genommen:</p>
83
+<ul>');
84
+  foreach ($lastschriften as $l) {
85
+    $status = '';
86
+    if ($l['buchungsdatum'] >= date('Y-m-d')) {
87
+      $status = '<span style="color: red; font-weight: bold;">Vorgemerkt:</span> ';
88
+    }
89
+    output('<li>'.$status.'Rechnung #'.$l['rechnungsnummer'].' vom '.$l['rechnungsdatum'].' über <strong>'.str_replace('.', ',', sprintf('%.2f', $l['betrag'])).' €</strong>, Buchungsdatum '.$l['buchungsdatum'].'</li>');
90
+  }
91
+  output('</ul>');
81 92
 }
82 93
 
83 94
 
84 95