$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];
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++; } } }