function mietkonto_monats_uebersicht($mietvertrag_id, $monat, $jahr, $vormonat_stand) { if ($vormonat_stand == "0") { $konto_vormonat = 0; } else { $konto_vormonat = $vormonat_stand; } $mietkonto_info = new mietkonto(); $forderungen_arr = $mietkonto_info->forderung_monatlich($mietvertrag_id, $monat, $jahr); $forderungen_arr = $mietkonto_info->forderung_monatlich($mietvertrag_id, $monat, $jahr); $summe_forderungen = $mietkonto_info->summe_forderung_monatlich($mietvertrag_id, $monat, $jahr); $ausgangs_kaltmiete = $mietkonto_info->ausgangs_kaltmiete; $betriebskosten = $mietkonto_info->betriebskosten; $heizkosten = $mietkonto_info->heizkosten; $extras = $summe_forderungen - $ausgangs_kaltmiete - $betriebskosten - $heizkosten; echo "<pre>"; // print_r($forderungen_arr); echo "</pre>"; // echo "SUMME FORDERUNGEN: $summe_forderungen"; $zahlungen_arr = $mietkonto_info->zahlungen_monatlich($mietvertrag_id, $monat, $jahr); $summe_zahlungen = $mietkonto_info->summe_zahlung_monatlich($mietvertrag_id, $monat, $jahr); $anzahl_zahlungen_im_monat = count($zahlungen_arr); $anzahl_forderungen_im_monat = count($forderungen_arr); echo "<pre>"; // print_r($zahlungen_arr); echo "</pre>"; // echo "SUMME ZAHLUNGEN: $summe_zahlungen"; echo "<table width=100% class=table_form >"; $monatsname = $mietkonto_info->monatsname; echo "<tr class=\"zeile1\"><td colspan=5>{$monat} {$jahr}</td></tr>"; echo "<tr class=\"zeile1\"><td><b>FORDERUNGEN</td<td><b>ZAHLUNGEN</td><td><b>AUFTEILUNG</td><td><b>BERECHNUNG</td><td><b>KONTOSTAND</td></tr>"; echo "<tr class=\"zeile1\"><td align=right valign=top>"; // Zelle1 for ($i = 0; $i < count($forderungen_arr); $i++) { echo "" . $forderungen_arr[$i]['KOSTENKATEGORIE'] . " = " . $forderungen_arr[$i]['BETRAG'] . "€<br>"; } echo "</td>"; // ende zell1 echo "<td align=right valign=top>"; // Zelle2 if ($anzahl_zahlungen_im_monat > 0) { for ($i = 0; $i < count($zahlungen_arr); $i++) { $zeile = $i + 1; $zahlungs_datum = $mietkonto_info->date_mysql2german($zahlungen_arr[$i][DATUM]); echo "<b>{$zeile}. " . $zahlungs_datum . "</b><br>" . $zahlungen_arr[$i]['KOSTENKATEGORIE'] . " = " . $zahlungen_arr[$i]['BETRAG'] . "€<br>"; } } else { echo "Keine Zahlungen im Monat {$monat} {$jahr}"; } echo "</td>"; // ende zell2 echo "<td valign=top align=right>"; // Zelle3 if ($anzahl_zahlungen_im_monat == 0) { echo "Keine Aufteilung da keine Zahlungen im Monat {$monat} {$jahr}"; } if ($anzahl_zahlungen_im_monat == 1 && $zahlungen_arr[0]['KOSTENKATEGORIE'] == "ZAHLBETRAG") { if ($summe_zahlungen >= $summe_forderungen) { for ($i = 0; $i < count($forderungen_arr); $i++) { echo "" . $forderungen_arr[$i]['KOSTENKATEGORIE'] . " = " . $forderungen_arr[$i]['BETRAG'] . "€<br>"; } $rest = $summe_zahlungen + $konto_vormonat - $summe_forderungen; if ($rest > 0) { // echo "<br>REST von $rest € wird gutgeschrieben"; $ueberschuss = $rest; } } } if ($anzahl_zahlungen_im_monat == 1 && $zahlungen_arr[0]['KOSTENKATEGORIE'] != "ZAHLBETRAG") { if ($summe_zahlungen >= $summe_forderungen) { for ($i = 0; $i < count($forderungen_arr); $i++) { echo "F" . $forderungen_arr[$i]['KOSTENKATEGORIE'] . " = " . $forderungen_arr[$i]['BETRAG'] . "€<br>"; } $rest = $summe_zahlungen + $konto_vormonat - $summe_forderungen; if ($rest > 0) { // echo "REST von $rest € wird gutgeschrieben"; $ueberschuss = $rest; } } else { echo "Z" . $zahlungen_arr[0]['KOSTENKATEGORIE'] . " = " . $zahlungen_arr[0]['BETRAG'] . "€<br>"; } } if ($anzahl_zahlungen_im_monat > 1) { $gesamt_zahlung_und_konto = $summe_zahlungen + $konto_vormonat; if ($gesamt_zahlung_und_konto < $summe_forderungen) { if ($gesamt_zahlung_und_konto > $betriebskosten) { echo "BK = {$betriebskosten} €<br>"; $rest = $summe_zahlungen + $konto_vormonat - $betriebskosten; } if ($rest > $heizkosten) { echo "HK = {$heizkosten} €<br>"; $rest = $rest - $heizkosten; echo "KALTMIETE = {$rest} €"; $offen = $summe_forderungen - $betriebskosten - $heizkosten - $rest; // echo "<hr><hr><b>Offen = $offen €</b>"; $ueberschuss = $offen; } } if ($gesamt_zahlung_und_konto >= $summe_forderungen) { if ($gesamt_zahlung_und_konto > $betriebskosten) { echo "BK = -{$betriebskosten} €<br>"; $rest = $summe_zahlungen + $konto_vormonat - $betriebskosten; } if ($rest > $heizkosten) { echo "Übertrag:\n {$konto_vormonat} €<br>"; echo "HK = -{$heizkosten} €<br>"; $rest = $rest - $heizkosten; $rest = $rest - $ausgangs_kaltmiete; echo "KALTMIETE = -{$ausgangs_kaltmiete} €<br>"; echo "Extras: -{$extras} €"; $ueberschuss = $summe_zahlungen - $betriebskosten - $heizkosten - $ausgangs_kaltmiete - $extras + $konto_vormonat; // echo "<hr><hr>ÜBERSCHUSS = $ueberschuss €"; } } } echo "</td><td>"; // Zelle 4 $kontostand_nach = $summe_zahlungen + $konto_vormonat - $summe_forderungen; echo "({$summe_zahlungen} + {$konto_vormonat}) - {$summe_forderungen} = {$kontostand_nach}"; echo "</td><td>"; // Zelle5 echo "Kontostandvormonat: {$konto_vormonat}<br>"; echo "Kontostand aktuell: {$kontostand_nach}<br>"; echo "</td></tr>"; echo "<tr class=\"zeile1\"><td><b>Summe: {$summe_forderungen} €</td<td>Summe: {$summe_zahlungen} €</td><td><b>{$ueberschuss} €</b></td><td></td><td></td></tr>"; echo "</table>"; // ### return $kontostand_nach; }
function mietkonto_berechnung_monatsgenau($mietvertrag_id, $jahr, $monat) { $this->mietvertrag_id = $mietvertrag_id; $this->jahr_aktuell = date("Y"); $this->monat_aktuell = date("m"); $this->end_j = $jahr; $this->end_m = $monat; /* 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, 30); // 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("$anfangs_datum $this->start_m $this->start_j"); // } } 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->bk_abrechnung = $buchung->summe_betriebskostenabrechnung($mietvertrag_id, $b, $a); $this->hk_abrechnung = $buchung->summe_heizkostenabrechnung($mietvertrag_id, $b, $a); $this->temp_soll = '-' . $buchung->summe_forderung_monatlich($this->mietvertrag_id, $b, $a); $ford_monatlich_arr = $buchung->forderung_monatlich($mietvertrag_id, $b, $a); $this->davon_umlagen = $buchung->summe_vorschuesse($ford_monatlich_arr); // echo $mietvertrag_id.$b.$a.$this->temp_soll.' '.$this->saldo_vormonat.'<br>'; $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']; } $this->geleistete_zahlungen = $sum_mon; $sum_mon = number_format($sum_mon, 2, '.', ''); $this->erg = $this->saldo_vormonat + $this->temp_soll + $sum_mon + $this->hk_abrechnung + $this->bk_abrechnung; $this->bk_abrechnung = '0.00'; $this->hk_abrechnung = '0.00'; $this->erg = number_format($this->erg, 2, '.', ''); $this->saldo_vormonat_stand = $this->saldo_vormonat; /* Daten für den Monatsbericht */ $this->saldo_vormonat = $this->erg; $this->sollmiete_warm = substr($this->temp_soll, 1); $m_zaehler++; } } }