$alle_zahbetraege_arr = $buchung->alle_zahlbetraege_arr($mietvertrag_id);
 // $buchung->array_anzeigen($alle_zahbetraege_arr);
 // ####Summe aller Zahlbetraege als String ############
 $summe_aller_zahlbetraege = $buchung->summe_aller_zahlbetraege($mietvertrag_id);
 // ########Aufteilung der Zahlbetraege###############
 $aufteilung_buchung_arr = $buchung->summe_uebersicht_aufteilung($mietvertrag_id, $buchung->mietvertrag_von, $buchung->datum_heute);
 // $buchung->array_anzeigen($aufteilung_buchung_arr);
 // #########Erstellung eines Arrays mit MONAT JAHR seit EINZUGSMONAT / JAHR###############
 // $monate_arr = $buchung->monate_seit_einzug_arr($mietvertrag_id);
 $zeitraum = new zeitraum();
 $monate_arr = $zeitraum->zeitraum_arr_seit_uebernahme($mietvertrag_id);
 // $buchung->array_anzeigen($monate_arr);
 // ###########################################
 // $buchung->forderungen_array_seit_einzug($mietvertrag_id);
 // ###########ERMITTELN DES SALDOS BEI DER VORVERWALTUNG##############################
 $saldo_vortrag_vorverwaltung = $buchung->saldo_vortrag_vorverwaltung($mietvertrag_id);
 if ($saldo_vortrag_vorverwaltung = FALSE) {
     $saldo_vortrag_vorverwaltung == "0";
 }
 // ##########ENDE DER VORBEREITUNG DER NOTWENDIGEN DATEN FÜR DIE BERECHUNG##################################################
 // #######################tabelenkopf##############################
 // echo "<table class=aktuelle_buchungen>";
 // echo "<tr><td>Datum</td><td></td><td>Monatssoll</td><td>Zahlung</td><td>Differenz pro Monat</td><td><b>Saldo</b></td></tr>";
 // 2te zeile saldo vorverwaltung
 // echo "<tr><td colspan=5 align=left><b>SALDO VORTRAG VORVERWALTUNG</td><td><b>$saldo_vortrag_vorverwaltung €</b></td></tr>";
 // #################################################################
 $summe_gesamt_forderung = $buchung->summe_forderungen_seit_einzug($mietvertrag_id);
 $saldo = $summe_aller_zahlbetraege - $summe_gesamt_forderung;
 // #####################jeden monat durchlaufen####################
 for ($i = 0; $i < count($monate_arr); $i++) {
     $monat = $monate_arr[$i][monat];
Example #2
0
 function mietkonto_berechnung($mietvertrag_id)
 {
     $this->mietvertrag_id = $mietvertrag_id;
     $this->jahr_aktuell = date("Y");
     $this->monat_aktuell = date("m");
     $this->end_j = date("Y");
     $this->end_m = date("m");
     /* Include mietkonto_class */
     $buchung = new mietkonto();
     $datum_saldo_vv = $buchung->datum_saldo_vortrag_vorverwaltung($mietvertrag_id);
     $this->saldo_vv = $buchung->saldo_vortrag_vorverwaltung($mietvertrag_id);
     // echo "$datum_saldo_vv $this->saldo_vv";
     $this->saldo_vv = number_format($this->saldo_vv, 2, '.', '');
     // die();
     /* Saldo Vortrag vorhanden, dann ab Saldo VV rechnen */
     // echo $datum_saldo_vv;
     if (!empty($datum_saldo_vv)) {
         /* Saldo Vorvertrag mit 1. Zahlung vergleichen, älteres nehmen */
         $datum_saldo_vv_s = str_replace('-', '', $datum_saldo_vv);
         // $datums_arr[] = $datum_saldo_vv_s;
         // echo $datum_saldo_vv_s;
         /* Einen Monat nach SALDO VV */
         $anfangs_datum = $this->tage_plus($datum_saldo_vv, 15);
         // echo "AD $anfangs_datum<br>";
         $anfangs_datum_s = str_replace('-', '', $anfangs_datum);
         $datums_arr[] = $anfangs_datum_s;
         // echo "1. $anfangs_datum $anfangs_datum_s<br>";
         $datum1_zahlung = $buchung->datum_1_zahlung($mietvertrag_id);
         if (!empty($datum1_zahlung)) {
             $datum1_zahlung_s = str_replace('-', '', $datum1_zahlung);
             $datums_arr[] = $datum1_zahlung_s;
         }
         /* älteres wählen und als Startdatum setzen */
         $anfangs_datum = min($datums_arr);
         $this->start_m = substr($anfangs_datum, 4, 2);
         $this->start_j = substr($anfangs_datum, 0, 4);
         // echo '<pre>';
         // print_r($datums_arr);
         // die("$this->start_m $this->start_j");
         // }
         // echo "$this->start_m $this->start_j";
         // die('BLA');
     } else {
         /* Datum der 1. Mietdefinition */
         $datum_mietdefinition = $buchung->datum_1_mietdefinition($mietvertrag_id);
         if (!empty($datum_mietdefinition)) {
             $datum_mietdefinition_s = str_replace('-', '', $datum_mietdefinition);
             $datums_arr[] = $datum_mietdefinition_s;
         }
         /* Datum 1 Zahlung ermitteln */
         $datum1_zahlung = $buchung->datum_1_zahlung($mietvertrag_id);
         if (!empty($datum1_zahlung)) {
             $datum1_zahlung_s = str_replace('-', '', $datum1_zahlung);
             $datums_arr[] = $datum1_zahlung_s;
         }
         /* Wenn MD oder 1 Zahlung definiert */
         if (is_array($datums_arr)) {
             /* älteres Datum nehmen, da Zahlung vor Definition sein kann */
             $anfangs_datum = min($datums_arr);
             $this->start_m = substr($anfangs_datum, 4, 2);
             $this->start_j = substr($anfangs_datum, 0, 4);
         } else {
             $buchung->ein_auszugsdatum_mietvertrag($mietvertrag_id);
             $einzugsdatum_s = str_replace('-', '', $buchung->mietvertrag_von);
             $this->start_m = substr($einzugsdatum_s, 4, 2);
             $this->start_j = substr($einzugsdatum_s, 0, 4);
         }
     }
     /* jahresschleife */
     for ($a = $this->start_j; $a <= $this->end_j; $a++) {
         /* anfangs und endjahr gleich */
         if ($a == $this->start_j && $a == $this->end_j) {
             $start_m = $this->start_m;
             $end_m = $this->end_m;
         }
         /* voll jahre dazwischen */
         if ($a > $this->start_j && $a < $this->end_j) {
             $start_m = 1;
             $end_m = 12;
         }
         /* erstjahr */
         if ($a == $this->start_j && $a != $this->end_j) {
             $start_m = $this->start_m;
             $end_m = 12;
         }
         /* endjahr */
         if ($a == $this->end_j && $a != $this->start_j) {
             $start_m = 1;
             $end_m = $this->end_m;
         }
         /* monatsschleife */
         $m_zaehler = 0;
         if ($start_m < 10) {
             $start_m = substr($start_m, -1);
         }
         for ($b = $start_m; $b <= $end_m; $b++) {
             if ($m_zaehler == 0 && $a == $this->start_j) {
                 $this->saldo_vormonat = $this->saldo_vv;
             }
             $this->daten_arr[$a]['monate'][$m_zaehler]['monat'] = $b;
             $this->daten_arr[$a]['monate'][$m_zaehler]['saldo_vormonat'] = $this->saldo_vormonat;
             if ($buchung->summe_betriebskostenabrechnung($mietvertrag_id, $b, $a) && $buchung->summe_betriebskostenabrechnung($mietvertrag_id, $b, $a) != '0.00') {
                 $this->daten_arr[$a]['monate'][$m_zaehler]['bk_abrechnung'] = $buchung->summe_betriebskostenabrechnung($mietvertrag_id, $b, $a);
                 $this->daten_arr[$a]['monate'][$m_zaehler]['bk_abrechnung_datum'] = $buchung->datum_betriebskostenabrechnung($mietvertrag_id, $b, $a);
                 $this->bk_abrechnung = $this->daten_arr[$a]['monate'][$m_zaehler]['bk_abrechnung'];
             }
             if ($buchung->summe_heizkostenabrechnung($mietvertrag_id, $b, $a) && $buchung->summe_heizkostenabrechnung($mietvertrag_id, $b, $a) != '0.00') {
                 $this->daten_arr[$a]['monate'][$m_zaehler]['hk_abrechnung'] = $buchung->summe_heizkostenabrechnung($mietvertrag_id, $b, $a);
                 $this->daten_arr[$a]['monate'][$m_zaehler]['hk_abrechnung_datum'] = $buchung->datum_heizkostenabrechnung($mietvertrag_id, $b, $a);
                 $this->hk_abrechnung = $this->daten_arr[$a]['monate'][$m_zaehler]['hk_abrechnung'];
             }
             if ($buchung->summe_wasserkostenabrechnung($mietvertrag_id, $b, $a) && $buchung->summe_wasserkostenabrechnung($mietvertrag_id, $b, $a) != '0.00') {
                 $this->daten_arr[$a]['monate'][$m_zaehler][wasser_abrechnung] = $buchung->summe_wasserkostenabrechnung($mietvertrag_id, $b, $a);
                 $this->daten_arr[$a]['monate'][$m_zaehler][wasser_abrechnung_datum] = $buchung->datum_wasserkostenabrechnung($mietvertrag_id, $b, $a);
                 $this->wasser_abrechnung = $this->daten_arr[$a]['monate'][$m_zaehler][wasser_abrechnung];
             }
             if ($buchung->summe_mahngebuehr_im_monat($mietvertrag_id, $b, $a) && $buchung->summe_mahngebuehr_im_monat($mietvertrag_id, $b, $a) != '0.00') {
                 $this->daten_arr[$a]['monate'][$m_zaehler][mahngebuehr] = $buchung->summe_mahngebuehr_im_monat($mietvertrag_id, $b, $a);
                 $this->mahngebuehr = $this->daten_arr[$a]['monate'][$m_zaehler][mahngebuehr];
                 $this->daten_arr[$a]['monate'][$m_zaehler][mahngebuehren] = $buchung->mahngebuehr_monatlich_arr($mietvertrag_id, $b, $a);
             }
             if ($this->mietvertrag_id = '329') {
                 // echo "$datum_saldo_vv_s<$datum1_zahlung_s<br>";
             }
             /* Wenn Saldo VV vorhanden und 1. zahlung vorhanden */
             if (isset($datum_saldo_vv_s) && isset($datum1_zahlung_s)) {
                 /* Wenn SaldoVV vor 1. zahlung - Regelfall */
                 if ($datum_saldo_vv_s < $datum1_zahlung_s) {
                     // if($this->mietvertrag_id='329'){
                     // echo "<br>1. $datum_saldo_vv_s<$datum1_zahlung_s<br>";
                     // die();
                     // }
                     $this->daten_arr[$a]['monate'][$m_zaehler]['soll'] = '-' . $buchung->summe_forderung_monatlich($mietvertrag_id, $b, $a);
                     $this->temp_soll = $this->daten_arr[$a]['monate'][$m_zaehler]['soll'];
                     $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'] = $buchung->zahlbetraege_im_monat_arr($mietvertrag_id, $b, $a);
                 }
                 if ($datum_saldo_vv_s >= $datum1_zahlung_s) {
                     // if($this->mietvertrag_id='1704'){
                     // echo "<br>2. $datum_saldo_vv_s>=$datum1_zahlung_s $start_m<br>";
                     // die();
                     // $dif_moo = $this->diff_in_monaten2($datum1_zahlung, $datum_saldo_vv);
                     // echo "$m_zaehler $dif_moo";
                     // echo "($a==$this->start_j) && ($m_zaehler==$start_m)";
                     // die();
                     // }
                     // if($m_zaehler<=$dif_moo){
                     if ($a == $this->start_j && $m_zaehler == '0') {
                         $this->daten_arr[$a]['monate'][$m_zaehler]['soll'] = '-' . '0.00';
                         // $this->daten_arr[$a]['monate'][$m_zaehler]['soll']= '-'.$buchung->summe_forderung_monatlich($this->mietvertrag_id, $b, $a);;
                         $this->temp_soll = $this->daten_arr[$a]['monate'][$m_zaehler]['soll'];
                         $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'] = $buchung->zahlbetraege_im_monat_arr($mietvertrag_id, $b, $a);
                     } else {
                         $this->daten_arr[$a]['monate'][$m_zaehler]['soll'] = '-' . $buchung->summe_forderung_monatlich($mietvertrag_id, $b, $a);
                         $this->temp_soll = $this->daten_arr[$a]['monate'][$m_zaehler]['soll'];
                         $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'] = $buchung->zahlbetraege_im_monat_arr($mietvertrag_id, $b, $a);
                     }
                 }
             } else {
                 /* Wenn kein Saldo VV vorhanden und keine zahlung vorhanden */
                 $this->daten_arr[$a]['monate'][$m_zaehler]['soll'] = '-' . $buchung->summe_forderung_monatlich($mietvertrag_id, $b, $a);
                 $this->temp_soll = $this->daten_arr[$a]['monate'][$m_zaehler]['soll'];
                 $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'] = $buchung->zahlbetraege_im_monat_arr($mietvertrag_id, $b, $a);
             }
             // echo "<h1> $b $a</h1><br>";
             /*
              * $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'][0][txt]= 'zb';
              * $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'][0][b]= $this->temp_zb;
              * $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'][1][txt]= 'zb';
              * $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'][1][b]= $this->temp_zb;
              */
             $sum_mon = 0;
             $z_arr = $this->daten_arr[$a]['monate'][$m_zaehler]['zahlungen'];
             for ($c = 0; $c < count($z_arr); $c++) {
                 $sum_mon = $sum_mon + $z_arr[$c]['BETRAG'];
             }
             $sum_mon = number_format($sum_mon, 2, '.', '');
             $this->daten_arr[$a]['monate'][$m_zaehler]['zb'] = $sum_mon;
             // $this->erg = $this->saldo_vormonat + $this->temp_soll + $sum_mon + $this->hk_abrechnung + $this->bk_abrechnung + $this->wasser_abrechnung + $this->mahngebuehr;
             if (!isset($this->wasser_abrechnung)) {
                 $this->wasser_abrechnung = 0.0;
             }
             $this->zb_mon = nummer_punkt2komma_t($sum_mon);
             $this->erg = $this->saldo_vormonat + $this->temp_soll + $sum_mon + $this->hk_abrechnung + $this->bk_abrechnung + $this->wasser_abrechnung;
             if ($b == $end_m - 1) {
                 $this->saldo_vormonat_end = number_format($this->erg, 2, '.', '');
             }
             $this->saldo_vormonat = $this->erg;
             $this->bk_abrechnung = '0.00';
             $this->hk_abrechnung = '0.00';
             $this->wasser_abrechnung = '0.00';
             $this->mahngebuehr = '0.00';
             $this->erg = number_format($this->erg, 2, '.', '');
             $this->daten_arr[$a]['monate'][$m_zaehler]['erg'] = $this->erg;
             $m_zaehler++;
         }
     }
 }