Zahlein::leseEin\n"; $importIterator = Import::createImportIterator( $fileName ); while($importIterator->hasNext()){ $zbo = $importIterator->next(); if ( Zahlungen::exists( $zbo->zahlDat, $zbo->name, $zbo->verwZweck )) { ; } else { $zahlung = ZahlungenBO::createFromEinzahlung( $zbo ); Zahlungen::create( $zahlung ); } } } function ordneZu( $fileName ) { echo ">Zahlein::ordneZu\n"; # oeffne Datei $fp = fopen( $fileName, "w" ); $i = Zahlungen::iteratorZuStatus( "new" ); while ( $i->hasNext() ){ $zahlung = $i->next(); $verwZweck = preg_replace( "/EZV:.*$/", "", $zahlung->verwZweck ); if ( preg_match( "/[1234567890]{8}/", $verwZweck, $bid )){ # BID gefunden, hole Datensatz #echo "BID gefunden: $bid[0]!\n"; if ( Anmeldungen::lesenZuBID( $bid[0], &$anmeldung )){ # Anmeldung gefunden $zahlung->buchungsKey = $bid[0]; $zahlung->status = "assigned"; # Zahlungen aendern Zahlungen::aendern( $zahlung ); #Protokolleintrag $zstr = $zahlung->toString(); $astr = $anmeldung->toString(); fwrite( $fp, "OK : $zstr -> $astr\n" ); } else { #Protokolleintrag $zstr = $zahlung->toString(); fwrite( $fp, "NOK: BID $bid[0] nicht gefunden: $zstr\n" ); } } else { #Protokolleintrag $zstr = $zahlung->toString(); fwrite( $fp, "NOK: keine BID: $zstr\n" ); } } } function komplettiere( $sqlFileName, $mailFileName ) { echo ">Zahlein::komplettiere\n"; # oeffne Dateien $sfp = fopen( $sqlFileName, "w" ); $mfp = fopen( $mailFileName, "w" ); $i = Zahlungen::iteratorZuStatus( "assigned" ); while ( $i->hasNext() ){ $zahlung = $i->next(); $anmeldung = Anmeldungen::lesenZuBIDwor( $zahlung->buchungsKey ); if ( $anmeldung->eingangAm < $zahlung->zahlDat ){ # berechne neuen Betrag $neuBetrag = Zahlein::zahlungBerechnen( $anmeldung ); $sql = "UPDATE tdAnmeldungen SET"; $sql = "$sql EingangAm = '$zahlung->zahlDat',"; $sql = "$sql EingangBetrag = $neuBetrag"; # ist die Zahlung nun komplett? if ( $neuBetrag > $anmeldung->gesamtBetrag -1 ) { $sql = "$sql, zahlungOK = '$zahlung->zahlDat'"; } # und die WHERE-Clause $sql = "$sql WHERE AnmeldungPK = $anmeldung->anmeldungPK;"; # schreibe in SQL-Datei fwrite( $sfp, "$sql\n" ); } else { # schreibe e-mail-Befehl, falls vorhanden $email = $anmeldung->eMail; if ( $email != "" ) { fwrite( $mfp, "mail -s 'Zahlungseingang $anmeldung->buchungsKey von $zahlung->betrag' $email status = "ready"; Zahlungen::aendern( $zahlung ); } } } function zahlungBerechnen( $anmeldung ){ Resource::trace( ">Zahlein::zahlungBerechnen" ); $betrag = Zahlungen::hatBezahlt( $anmeldung->buchungsKey ); if ( $betrag != $anmeldung->eingangBetrag ){ $anmeldung->eingangBetrag = $betrag; Anmeldungen::aendern( $anmeldung ); } return $betrag; } function mahnen( $dateiName ){ Resource::trace( ">Zahlein::mahnen" ); require_once( "impl/AnmeldungenProgrammPunkte.php" ); # oeffne Datei $fp = fopen( $dateiName, "w" ); $i = Anmeldungen::iteratorAlle(); while ( $i->hasNext() ){ # berechne zu zahlenden Betrag $anmeldung = $i->next(); $s = 0; $j = AnmeldungenProgrammPunkte::iteratorZuAnmPk( $anmeldung->anmeldungPK ); while ( $j->hasNext() ) { $app = $j->next(); $s = $s + $app->summe(); } if ( $s != $anmeldung->gesamtBetrag ){ $anmeldung->gesamtBetrag = $s; Anmeldungen::aendern( $anmeldung ); } Resource::trace( "Summe = $s" ); # berechne gezahlten Betrag $b = Zahlein::zahlungBerechnen( $anmeldung ); Resource::trace( "bezahlt = $b" ); $diff = $s - $b; if ( $diff > 1 ){ # Mahnen if ( $anmeldung->isCbr ){ $mDatei = Zahlein::stelleRechnungCbr( $anmeldung ); } else { $mDatei = Zahlein::stelleRechnungSonst( $anmeldung ); } $email = $anmeldung->eMail; fwrite( $fp, "NOK: $anmeldung->buchungsKey / $anmeldung->nachname hat $diff EUR noch nicht gezahlt\n" ); if ( $email != "" ) { fwrite( $fp, "mail -s 'Zahlungserinnerung $anmeldung->buchungsKey' $email <'$mDatei'\nsleep 1\n" ); } else { fwrite( $fp, "Bitte Anrufen: ".$anmeldung->toString()." Ausstand: $diff\n" ); } } else { fwrite( $fp, "OK: $anmeldung->buchungsKey / $anmeldung->nachname hat gezahlt\n" ); } } } function stelleRechnungCbr( $anmeldung ) { require_once( "impl/AnmeldungenProgrammPunkte.php" ); Resource::trace( ">Zahlein::stelleRechnung" ); # oeffne Datei $dateiName = "Anmeldung_".$anmeldung->anmeldungPK.$anmeldung->nachname.".txt"; $fp = fopen( $dateiName, "w" ); fwrite($fp, "$anmeldung->anrede $anmeldung->titel\n"); fwrite($fp, "$anmeldung->vorname $anmeldung->nachname\n"); fwrite($fp, "$anmeldung->strasse\n"); fwrite($fp, "$anmeldung->plz $anmeldung->ort\n"); fwrite($fp, "\n"); fwrite($fp, "Lieber Cartellbruder,\n"); fwrite($fp, "\n"); fwrite($fp, "vielen Dank für deine Bestellung.\n"); fwrite($fp, "Im Folgenden findest du die aktuelle Bestellinformationen:\n"); fwrite($fp, "\n"); $i = AnmeldungenProgrammPunkte::iteratorZuAnmPk( $anmeldung->anmeldungPK ); $s = 0; while ( $i->hasNext() ){ $app = $i->next(); fwrite($fp, $app->toStringLang()); fwrite($fp, "\n"); $s = $s + $app->summe(); } fwrite($fp, "\n"); $sStr = number_format( $s, 2, ".", "" ); fwrite($fp, "Summe: $sStr EUR\n"); fwrite($fp, "\n"); if ( $anmeldung->eingangBetrag > 0 ){ $ausstand = $anmeldung->gesamtBetrag - $anmeldung->eingangBetrag; if ( $ausstand > 1 ){ fwrite($fp, "Wir bitten dich den noch ausstehenden Betrag\n"); fwrite($fp, "von $ausstand noch zu bezahlen!\n"); } else { fwrite($fp, "Dieser Betrag wurde bereits beglichen.\n"); fwrite($fp, "Vielen Dank!\n"); } } fwrite($fp, "Überweisungen bitten wir auf unser Konto:\n"); fwrite($fp, "'150 Jahre CV in München e.V.' HypoVereinsbank München BLZ: 700 202 70\n"); fwrite($fp, "Konto Nr: 666524233 IBAN: DE41 7002 0270 0666 5242 33 Swift/BIC: HYVEDEMMXXX\n"); fwrite($fp, "\n"); fwrite($fp, "Im Verwendungszweck bitte diese Bestellnummer angeben: $anmeldung->buchungsKey\n"); fwrite($fp, "\n"); fwrite($fp, "Wir freuen uns auf dein kommen zur Cartellversammlung in München!\n"); fwrite($fp, "\n"); fwrite($fp, "Viele Grüße\n"); fwrite($fp, "\n"); fwrite($fp, "Das OK in München\n"); fwrite($fp, "--\n"); fwrite($fp, "150 Jahre CV in München e.V.\n"); fwrite($fp, "\n"); fwrite($fp, "Vorsitzender:\n"); fwrite($fp, "Heinz Christmann\n"); fwrite($fp, "Albert-Schweitzer-Straße 58\n"); fwrite($fp, "82008 Unterhaching\n"); fwrite($fp, "\n"); fwrite($fp, "http://www.cv2006.de\n"); fwrite($fp, "mailto:anmeldung@cv2006.de\n"); fwrite($fp, "\n"); return $dateiName; } function stelleRechnungSonst( $anmeldung ) { require_once( "impl/AnmeldungenProgrammPunkte.php" ); Resource::trace( ">Zahlein::stelleRechnungSonst" ); # oeffne Datei $dateiName = "Anmeldung_".$anmeldung->anmeldungPK.$anmeldung->nachname.".txt"; $fp = fopen( $dateiName, "w" ); fwrite($fp, "$anmeldung->anrede $anmeldung->titel\n"); fwrite($fp, "$anmeldung->vorname $anmeldung->nachname\n"); fwrite($fp, "$anmeldung->strasse\n"); fwrite($fp, "$anmeldung->plz $anmeldung->ort\n"); fwrite($fp, "\n"); fwrite($fp, "Sehr geehrte Dame, sehr geehrter Herr,\n"); fwrite($fp, "\n"); fwrite($fp, "vielen Dank für Ihre Bestellung.\n"); fwrite($fp, "Im Folgenden finden Sie die aktuelle Bestellinformationen:\n"); fwrite($fp, "\n"); $i = AnmeldungenProgrammPunkte::iteratorZuAnmPk( $anmeldung->anmeldungPK ); $s = 0; while ( $i->hasNext() ){ $app = $i->next(); fwrite($fp, $app->toStringLang()); fwrite($fp, "\n"); $s = $s + $app->summe(); } fwrite($fp, "\n"); $sStr = number_format( $s, 2, ".", "" ); fwrite($fp, "Summe: $sStr EUR\n"); fwrite($fp, "\n"); if ( $anmeldung->eingangBetrag > 0 ){ $ausstand = $anmeldung->gesamtBetrag - $anmeldung->eingangBetrag; if ( $ausstand > 1 ){ fwrite($fp, "Wir bitten Sie den noch ausstehenden Betrag\n"); fwrite($fp, "von $ausstand noch zu bezahlen!\n"); } else { fwrite($fp, "Dieser Betrag wurde bereits beglichen.\n"); fwrite($fp, "Vielen Dank!\n"); } } fwrite($fp, "Überweisungen bitten wir auf unser Konto:\n"); fwrite($fp, "'150 Jahre CV in München e.V.' HypoVereinsbank München BLZ: 700 202 70\n"); fwrite($fp, "Konto Nr: 666524233 IBAN: DE41 7002 0270 0666 5242 33 Swift/BIC: HYVEDEMMXXX\n"); fwrite($fp, "\n"); fwrite($fp, "Im Verwendungszweck bitte diese Bestellnummer angeben: $anmeldung->buchungsKey\n"); fwrite($fp, "\n"); fwrite($fp, "Wir freuen uns auf Ihr kommen zur Cartellversammlung in München!\n"); fwrite($fp, "\n"); fwrite($fp, "Viele Grüße\n"); fwrite($fp, "\n"); fwrite($fp, "Das OK in München\n"); fwrite($fp, "--\n"); fwrite($fp, "150 Jahre CV in München e.V.\n"); fwrite($fp, "\n"); fwrite($fp, "Vorsitzender:\n"); fwrite($fp, "Heinz Christmann\n"); fwrite($fp, "Albert-Schweitzer-Straße 58\n"); fwrite($fp, "82008 Unterhaching\n"); fwrite($fp, "\n"); fwrite($fp, "http://www.cv2006.de\n"); fwrite($fp, "mailto:anmeldung@cv2006.de\n"); fwrite($fp, "\n"); return $dateiName; } } ?>