Пример #1
0
 function hga_einzeln($p_id = '0')
 {
     $this->get_hga_profil_infos($p_id);
     /* Tage im Jahr */
     $jahr = $this->p_jahr;
     $bk = new bk();
     if (empty($this->p_von) or empty($this->p_bis)) {
         $tj = $bk->tage_im_jahr($jahr);
     } else {
         $bk = new bk();
         $tj = $bk->diff_in_tagen($this->p_von, $this->p_bis) + 1;
     }
     /* Art = Ausgaben, Einnahmen, Mittelverwendung */
     $_umlage_ktos = $this->get_hgkonten_arr($p_id, 'Ausgaben/Einnahmen', false);
     $_umlage_ktos_sort = array_sortByIndex($_umlage_ktos, 'GRUPPE', 'DESC');
     $_umlage_ktos = $_umlage_ktos_sort;
     unset($_umlage_ktos_sort);
     $anz_k = count($_umlage_ktos);
     if (!$anz_k) {
         die('Keine Kosten im Profil. Bitte Kostenkonten hinzufügen');
     }
     $znr = 0;
     for ($a = 0; $a < $anz_k; $a++) {
         $konto = $_umlage_ktos[$a]['KONTO'];
         $gruppe = $_umlage_ktos[$a]['GRUPPE'];
         $betraege_arr[] = $this->get_betraege_arr($p_id, $konto);
     }
     $einheiten_arr = $this->einheiten_weg_tabelle_arr($this->p_objekt_id);
     /* Alle Einheiten durchlaufen um die Eigentümer und Tage zu Sammeln */
     $anz_einheiten = count($einheiten_arr);
     for ($b = 0; $b < $anz_einheiten; $b++) {
         $einheit_id = $einheiten_arr[$b]['EINHEIT_ID'];
         $eig_arr = $this->get_eigentuemer_arr_jahr($einheit_id, $this->p_jahr);
         // print_r($eig_arr);
         $anz_eig = count($eig_arr);
         /* Eigentuemer untereinander */
         for ($c = 0; $c < $anz_eig; $c++) {
             $eig_arr_1 = $eig_arr[$c];
             $einheiten_arr_eig[] = $eig_arr_1;
         }
     }
     unset($einheiten_arr);
     $anz_eig = count($einheiten_arr_eig);
     /* Kontenrahmen vom Geldkonto holen */
     $k = new kontenrahmen();
     $kontenrahmen_id = $k->get_kontenrahmen('Geldkonto', $this->p_gk_id);
     /**
      * **********PROGRAMMABBRUCH OHNE KONTENRAHMEN**************
      */
     if (!$kontenrahmen_id) {
         die('Kontenrahmen zum Geldkonto fehlt, bitte zuweisen!');
     }
     /* Jeden Eigentuemer für alle Konten durchlaufen */
     $anz_b = count($betraege_arr);
     // Anzahl Konten
     for ($a = 0; $a < $anz_eig; $a++) {
         $eigentuemer_id = $einheiten_arr_eig[$a]['ID'];
         $tab_arr[$a]['EIG_ID'] = $eigentuemer_id;
         $tab_arr[$a]['EINHEIT_ID'] = $einheiten_arr_eig[$a]['EINHEIT_ID'];
         $tab_arr[$a]['VON'] = $einheiten_arr_eig[$a]['VON'];
         $tab_arr[$a]['BIS'] = $einheiten_arr_eig[$a]['BIS'];
         $tab_arr[$a]['TAGE'] = $einheiten_arr_eig[$a]['TAGE'];
         /* Jedes Konto durchlaufen, Daten in Tab und für Eigentuemer berechnen */
         $g_summe_aller_kosten = 0;
         $hndl_z = 0;
         for ($b = 0; $b < $anz_b; $b++) {
             $konto = $betraege_arr[$b]['0']['KONTO'];
             $k->konto_informationen2($konto, $kontenrahmen_id);
             $gen_key_id = $betraege_arr[$b]['0']['GEN_KEY_ID'];
             $bk = new bk();
             $bk->get_genkey_infos($gen_key_id);
             $betrag = $betraege_arr[$b]['0']['BETRAG'];
             $betrag = number_format($betrag, 2, '.', '');
             $g_summe_aller_kosten += $betrag;
             $hndl_betrag = $betraege_arr[$b]['0']['HNDL_BETRAG'];
             $kos_typ = $betraege_arr[$b]['0']['KOS_TYP'];
             $kos_id = $betraege_arr[$b]['0']['KOS_ID'];
             $tab_arr[$a]['ZEILEN'][$b]['KONTO'] = $konto;
             $tab_arr[$a]['ZEILEN'][$b]['KONTO_BEZ'] = $k->konto_bezeichnung;
             $tab_arr[$a]['ZEILEN'][$b]['KONTO_ART'] = $k->konto_art_bezeichnung;
             $tab_arr[$a]['ZEILEN'][$b]['GRUPPE'] = $k->konto_gruppen_bezeichnung;
             $tab_arr[$a]['ZEILEN'][$b]['BETRAG'] = nummer_punkt2komma_t($betrag);
             $tab_arr[$a]['ZEILEN'][$b]['HNDL_BETRAG'] = nummer_punkt2komma($hndl_betrag);
             $tab_arr[$a]['ZEILEN'][$b]['ART'] = $betraege_arr[$b]['0']['ART'];
             if ($hndl_betrag == '0.00') {
                 $tab_arr[$a]['ZEILEN'][$b]['BEZ'] = $betraege_arr[$b]['0']['TEXT'];
             } else {
                 $tab_arr[$a]['ZEILEN'][$b]['BEZ'] = $betraege_arr[$b]['0']['TEXT'] . ' *';
             }
             $r = new rechnung();
             $tab_arr[$a]['ZEILEN'][$b]['KOS_BEZ'] = $r->kostentraeger_ermitteln($kos_typ, $kos_id);
             $einheit_id = $tab_arr[$a]['EINHEIT_ID'];
             if (isset($this->berechnen)) {
                 unset($this->berechnen);
             }
             if ($kos_typ == 'Wirtschaftseinheit') {
                 $wi = new wirt_e();
                 /* Hier weiter mt g_value */
                 $g_value = $this->key_daten_gesamt($gen_key_id, 'Wirtschaftseinheit', $kos_id);
                 if (isset($this->{$ein_berr})) {
                     unset($this->ein_berr);
                 }
                 if ($wi->check_einheit_in_we($einheit_id, $kos_id)) {
                     $this->berechnen = '1';
                 } else {
                     $this->berechnen = '0';
                 }
             }
             /* Berechnungsquote ermitteln pro Konto */
             $d = new detail();
             $e = new einheit();
             $e->get_einheit_info($einheit_id);
             if ($gen_key_id == 1) {
                 $e_anteile = nummer_punkt2komma($e->einheit_qm);
             }
             if ($gen_key_id == 2) {
                 $e_anteile = 1;
             }
             if ($gen_key_id == 3) {
                 $e_anteile = $d->finde_detail_inhalt('EINHEIT', $einheit_id, 'WEG-Anteile');
             }
             if ($gen_key_id == 4) {
                 // die('GenKey 4 nicht definiert');
                 $e_anteile = 0.0;
             }
             /* Aufzug nach Prozent */
             if ($gen_key_id == 5) {
                 $e_anteile = $d->finde_detail_inhalt('EINHEIT', $einheit_id, 'WEG-Aufzugprozent');
                 $g_value = 100;
             }
             $tage = $tab_arr[$a]['TAGE'];
             /* Prüfen ob Einheit im Array der Aufteilung */
             $bet = 0;
             $bet_hndl = 0;
             if ($g_value == 0.0 or empty($g_value)) {
                 $tab_arr[$a]['ZEILEN'][$b]['G_KEY_A'] = $g_value . $bk->g_key_name;
                 $tab_arr[$a]['ZEILEN'][$b]['E_KEY_A'] = $e_anteile . $bk->g_key_me . $bk->g_key_me;
             }
             if ($this->berechnen == 1) {
                 $betrag = number_format($betrag, 2, '.', '');
                 $e_anteile = punkt_zahl($e_anteile);
                 $e_anteile_a = number_format($e_anteile, 3, ',', '');
                 $g_value = punkt_zahl($g_value);
                 $g_value_a = number_format($g_value, 3, ',', '');
                 $bet = $betrag * $e_anteile / $g_value * $tage / $tj;
                 $bet = number_format($bet, 2, '.', '');
                 $bet_hndl = $hndl_betrag * $e_anteile / $g_value * $tage / $tj;
                 $tab_arr[$a]['ZEILEN'][$b]['G_KEY_NAME'] = $bk->g_key_name;
                 $tab_arr[$a]['ZEILEN'][$b]['G_KEY_ME'] = $bk->g_key_me;
                 $tab_arr[$a]['ZEILEN'][$b]['G_KEY_A'] = $g_value_a . $bk->g_key_me;
                 $tab_arr[$a]['ZEILEN'][$b]['E_KEY_A'] = $e_anteile_a . $bk->g_key_me;
             } else {
                 $bet = 0.0;
                 $bet_hndl = 0.0;
             }
             /* HNDL Betrag */
             $bet_a = nummer_punkt2komma($bet);
             $bet_hndl_a = nummer_punkt2komma_t($bet_hndl);
             $tab_arr[$a]['ZEILEN'][$b]['E_BETRAG'] = $bet_a;
             $tab_arr[$a]['ZEILEN'][$b]['E_BETRAG_HNDL'] = $bet_hndl_a;
             /* Ergebnistabelle füttern */
             $eigent_id = $tab_arr[$a]['EIG_ID'];
             $tab_erg['BETRAG'][$eigent_id]['BETEILIGUNG'] += nummer_komma2punkt($bet_a);
             if ($bet_hndl != 0.0) {
                 $tab_erg[BETRAG_HNDL][$eigent_id]['BETEILIGUNG'] += nummer_komma2punkt($bet_hndl_a);
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['KONTO'] = $konto;
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['KONTO_BEZ'] = $k->konto_bezeichnung;
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['KONTO_ART'] = $k->konto_art_bezeichnung;
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['GRUPPE'] = $k->konto_gruppen_bezeichnung;
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['BETRAG'] = nummer_punkt2komma_t($betrag);
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['BETRAG_HNDL'] = nummer_punkt2komma_t($hndl_betrag);
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['G_KEY_NAME'] = $bk->g_key_name;
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['G_KEY_ME'] = $bk->g_key_me;
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['E_KEY_A'] = $e_anteile_a . $bk->g_key_me;
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['E_BETRAG_HNDL'] = $bet_hndl_a;
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['KOS_BEZ'] = $r->kostentraeger_ermitteln($kos_typ, $kos_id);
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['BEZ'] = $betraege_arr[$b]['0']['TEXT'] . ' *';
                 $hndl_arr[$eigent_id]['ZEILEN'][$hndl_z]['G_KEY_A'] = $g_value_a . $bk->g_key_me;
                 $hndl_z++;
             }
         }
         // end for Konten $b
     }
     // end for Eigentuemer $a
     $tab_erg['BETRAG']['G_SUMME'] = $g_summe_aller_kosten;
     echo "<hr>";
     $anz = count($tab_arr);
     for ($a = 0; $a < $anz; $a++) {
         $eig_id = $tab_arr[$a]['EIG_ID'];
         $zeilen = $tab_arr[$a]['ZEILEN'];
         $anz_z = count($zeilen);
         echo "<table>";
         echo "<tr><th>EIGENTÜMER {$eig_id}</th></tr>";
         for ($b = 0; $b < $anz_z; $b++) {
             $konto = $zeilen[$b]['KONTO'];
             $bez = $zeilen[$b]['BEZ'];
             $betrag = $zeilen[$b]['BETRAG'];
             $kos_bez = $zeilen[$b]['KOS_BEZ'];
             $e_betrag = $zeilen[$b]['E_BETRAG'];
             echo "<tr><td>{$konto}</td><td>{$bez}</td><td>{$kos_bez}</td><td>{$betrag}</td><td>{$e_betrag}</td></tr>";
             if ($b == $anz_z - 1) {
                 $g_summe = nummer_punkt2komma_t($tab_erg['BETRAG']['G_SUMME']);
                 $g_bet = nummer_punkt2komma_t($tab_erg['BETRAG'][$eig_id]['BETEILIGUNG']);
                 $tab_arr[$a]['ZEILEN'][$b + 1]['BETRAG'] = $g_summe;
                 $tab_arr[$a]['ZEILEN'][$b + 1]['E_BETRAG'] = $g_bet;
                 $tab_arr[$a]['ZEILEN'][$b + 1]['U_BETRAG'] = $g_bet;
             }
         }
         $g_summe = nummer_punkt2komma_t($tab_erg['BETRAG']['G_SUMME']);
         $g_bet = nummer_punkt2komma_t($tab_erg['BETRAG'][$eig_id]['BETEILIGUNG']);
         echo "<tr><td></td><td></td><td></td><td>{$g_summe}</td><td>{$g_bet}</td></tr>";
         echo "</table>";
     }
     /* Gesamtbeteiligung als letzte Zeile hinzufügen */
     $g_summe = nummer_punkt2komma_t($tab_erg['BETRAG']['G_SUMME']);
     $g_bet = nummer_punkt2komma_t($tab_erg['BETRAG'][$eig_id]['BETEILIGUNG']);
     include_once 'classes/class_bpdf.php';
     $pdf = new Cezpdf('a4', 'portrait');
     $bpdf = new b_pdf();
     $bpdf->b_header($pdf, 'Partner', $_SESSION['partner_id'], 'portrait', 'Helvetica.afm', 6);
     $pdf->ezStopPageNumbers();
     // seitennummerirung beenden
     $p = new partners();
     $p->get_partner_info($_SESSION['partner_id']);
     $datum = date("d.m.Y");
     $anz = count($tab_arr);
     for ($a = 0; $a < $anz; $a++) {
         /* Bei jedem Eigentümer, mit neuer Seite anfangen */
         if ($a > 0) {
             $pdf->ezNewPage();
             $pdf->setColor(0, 0, 0);
             $pdf->ezSetDy(-5);
         }
         $eig_id = $tab_arr[$a]['EIG_ID'];
         $this->n_tage = $tab_arr[$a]['TAGE'];
         /* Kopf Anfang */
         $einheit_id = $tab_arr[$a]['EINHEIT_ID'];
         $this->einheit_id = $einheit_id;
         $e = new einheit();
         $e->get_einheit_info($einheit_id);
         $oo = new objekt();
         $anz_einheiten = $oo->anzahl_einheiten_objekt($e->objekt_id);
         $pdf->setColor(0, 0, 0);
         $pdf->setStrokeColor(0, 0, 0);
         $pdf->setLineStyle(0.5);
         $pdf->rectangle(400, 601, 165, 87);
         $this->get_eigentumer_id_infos2($eig_id);
         $this->get_anrede_eigentuemer($eig_id);
         $standard_anschrift = str_replace('<br />', "\n", $this->postanschrift[0]);
         if (!empty($standard_anschrift)) {
             $pdf->ezText("{$standard_anschrift}", 10);
         } else {
             $pdf->ezText("{$this->eig_namen_u_pdf}", 10);
             $pdf->ezSetDy(10);
             $pdf->ezText("{$this->haus_strasse} {$this->haus_nummer}", 10);
             $pdf->ezSetDy(-10);
             $pdf->ezText("{$this->haus_plz} {$this->haus_stadt}", 10);
         }
         $d = new detail();
         $anteile_g = $d->finde_detail_inhalt('OBJEKT', $e->objekt_id, 'Gesamtanteile');
         $pdf->addText(405, 680, 8, "Einheiten:");
         $pdf->addText(465, 680, 8, "{$anz_einheiten}");
         $pdf->addText(405, 670, 8, "Einheit:");
         $pdf->addText(465, 670, 8, "{$e->einheit_kurzname}");
         $pdf->addText(405, 660, 8, "Gesamtanteile:");
         $pdf->addText(465, 660, 8, "{$anteile_g}");
         $this->einheit_anteile = $d->finde_detail_inhalt('EINHEIT', $einheit_id, 'WEG-Anteile');
         $pdf->addText(405, 650, 8, "Ihre MAE:");
         $pdf->addText(465, 650, 8, "{$this->einheit_anteile}");
         $e->einheit_qm_a = nummer_punkt2komma($e->einheit_qm);
         $pdf->addText(405, 640, 8, "Fläche:");
         $pdf->addText(465, 640, 8, "{$e->einheit_qm_a} m²");
         $pdf->addText(405, 630, 8, "Aufzug %:");
         $pdf->addText(465, 630, 8, "{$e->aufzug_prozent_d}");
         $this->eigentuemer_von_d = date_mysql2german($this->eigentuemer_von);
         $this->eigentuemer_bis_d = date_mysql2german($this->eigentuemer_bis);
         if ($this->eigentuemer_bis_d == '00.00.0000') {
             $this->eigentuemer_bis_d = "31.12.{$jahr}";
         }
         $e_jahr_arr = explode(".", $this->eigentuemer_bis_d);
         $e_jahr = $e_jahr_arr[2];
         if ($e_jahr > $jahr) {
             $this->eigentuemer_bis_d = "31.12.{$jahr}";
         }
         $e_ajahr_arr = explode(".", $this->eigentuemer_von_d);
         $e_ajahr = $e_ajahr_arr[2];
         if ($e_ajahr < $jahr) {
             $this->eigentuemer_von_d = "01.01.{$jahr}";
         }
         $pdf->addText(405, 618, 7, "Zeitraum:");
         if ($this->p_von && $this->p_bis) {
             $pdf->addText(465, 618, 7, "{$this->p_von_d} - {$this->p_bis_d}");
         } else {
             $pdf->addText(465, 618, 7, "01.01.{$jahr} - 31.12.{$jahr}");
         }
         $pdf->addText(405, 611, 7, "Nutzungszeitraum: ");
         $pdf->addText(465, 611, 7, "{$this->eigentuemer_von_d} - {$this->eigentuemer_bis_d}");
         $pdf->addText(405, 604, 7, "Tage:");
         $pdf->addText(465, 604, 7, "{$this->n_tage} von {$tj}");
         // $pdf->addText(465,590,7,"$p->partner_ort, $datum");
         $pdf->ezSetY(590);
         $pdf->ezText("{$p->partner_ort}, {$datum}", 10, array('justification' => 'right'));
         $pdf->ezSetY(590);
         $pdf->ezText("{$this->pdf_anrede}", 10);
         $pdf->ezText("beiliegend übersenden wir Ihnen die Hausgeld-Einzelabrechnung zur Jahresabrechnung {$jahr}.", 10);
         $zeilen = array_orderby($tab_arr[$a]['ZEILEN'], 'GRUPPE', SORT_DESC, 'KONTO', SORT_ASC);
         $cols = array('KOS_BEZ' => "KOS", 'KONTO' => "Konto", 'BEZ' => "Kontobezeichnung", 'GRUPPE' => "Kontoart", 'KOS_BEZ' => "Aufteilung", 'BETRAG' => "Gesamt € ", 'G_KEY_A' => "Gesamt", 'E_KEY_A' => "Ihr Anteil", 'E_BETRAG' => "Ihre Beteiligung € ", 'U_BETRAG' => "");
         $pdf->ezTable($zeilen, $cols, "<b>Einnahmen/Ausgaben (*  Kostenkonto beinhaltet haushaltsnahe Dienstleistungen)</b>", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 530, 'cols' => array('KONTO' => array('justification' => 'left', 'width' => 32), 'GRUPPE' => array('justification' => 'left', 'width' => 80), 'BETRAG' => array('justification' => 'right', 'width' => 45), 'KOS_BEZ' => array('justification' => 'left', 'width' => 65), 'G_KEY_A' => array('justification' => 'right', 'width' => 65), 'E_KEY_A' => array('justification' => 'right', 'width' => 55), 'E_BETRAG' => array('justification' => 'right', 'width' => 50))));
         // $pdf->ezText("<b> *) Kostenkonto beinhaltet haushaltsnahe Dienstleistungen</b>", 7);
         $g = new geldkonto_info();
         $g->geld_konto_details($this->p_gk_id);
         $this->get_eigentumer_id_infos2($eig_id);
         if (str_replace('-', '', $this->eigentuemer_von) < "{$jahr}" . '0101') {
             $this->eigentuemer_von_t = "{$jahr}-01-01";
         } else {
             $this->eigentuemer_von_t = $this->eigentuemer_von;
         }
         if (str_replace('-', '', $this->eigentuemer_bis) > "{$jahr}" . '1231') {
             $this->eigentuemer_bis_t = "{$jahr}-12-31";
         } else {
             $this->eigentuemer_bis_t = $this->eigentuemer_bis;
         }
         if ($this->eigentuemer_bis == '0000-00-00') {
             $this->eigentuemer_bis_t = "{$jahr}-12-31";
         }
         $g = new geldkonto_info();
         $g->geld_konto_details($this->p_gk_id);
         $geldkonto_id = $this->p_gk_id;
         /* Hier noch 6020 als CONST, in VAR ändern */
         $hg_kosten_soll = $this->hg_tab_soll_ist_einnahmen($this->hg_konto, 'Einheit', $this->einheit_id, $this->eigentuemer_von_t, $this->eigentuemer_bis_t);
         $this->eigentuemer_von_t_a = date_mysql2german($this->eigentuemer_von_t);
         $this->eigentuemer_bis_t_a = date_mysql2german($this->eigentuemer_bis_t);
         $hg_tab[0]['ART'] = "Einnahmen aus Hausgeld für Kosten";
         $hg_tab[0]['ZEITRAUM'] = "{$this->eigentuemer_von_t_a} bis {$this->eigentuemer_bis_t_a}";
         $hg_tab[0]['SOLL'] = '-' . nummer_punkt2komma_t($hg_kosten_soll);
         $hg_ist_summe = $this->get_summe_zahlungen_arr_jahr('Eigentuemer', $eig_id, $jahr, $geldkonto_id, $this->hg_konto);
         if (!$hg_ist_summe) {
             $hg_ist_summe = $this->get_summe_zahlungen_hga('Eigentuemer', $eig_id, $p_id, $this->hg_konto);
         }
         $hg_tab[0]['IST'] = nummer_punkt2komma_t($hg_ist_summe);
         $hg_tab[0]['ERG'] = nummer_punkt2komma_t($hg_ist_summe);
         $hg_kosten_saldo = $hg_ist_summe - $hg_kosten_soll;
         $tab_hg_zahl_kosten[0]['TEXT'] = 'Hausgeldzahlung Anteil für Kosten';
         $tab_hg_zahl_kosten[0]['SUM'] = nummer_punkt2komma($hg_ist_summe);
         $l_z = count($tab_arr2) - 1;
         $hg_kosten_ant = nummer_komma2punkt(strip_tags($tab_arr2[$l_z]['BETRAG_ANT']));
         $hg_kosten_ant = $tab_erg['BETRAG'][$eig_id]['BETEILIGUNG'];
         $hg_kosten_saldo_ist_soll = $hg_ist_summe + $hg_kosten_ant;
         $hg_tab[1]['ART'] = '<b>Zwischenergebnis (ohne Instandhaltungsrücklage und Energieabrechnung)</b>';
         $hg_tab[1]['ERG'] = '<b>' . nummer_punkt2komma($hg_kosten_saldo_ist_soll) . '</b>';
         /* Zwischenergebnis 1 */
         $zw1 = $hg_kosten_saldo_ist_soll;
         /* Heizkostentabelle */
         $hk_kosten_soll = $this->hg_tab_soll_ist_einnahmen($this->hk_konto, 'Einheit', $this->einheit_id, $this->eigentuemer_von_t, $this->eigentuemer_bis_t);
         $hk_tab[0]['ART'] = "Einnahmen aus Hausgeld für Energiekosten";
         $hk_tab[0]['ZEITRAUM'] = "{$this->eigentuemer_von_t_a} bis {$this->eigentuemer_bis_t_a}";
         $hk_tab[0]['SOLL'] = '-' . nummer_punkt2komma($hk_kosten_soll);
         $hk_ist_summe = $this->get_summe_zahlungen_hga('Eigentuemer', $eig_id, $p_id, '6010');
         if (!$hk_ist_summe) {
             $hk_ist_summe = $this->get_summe_zahlungen_arr_jahr('Eigentuemer', $eig_id, $jahr, $geldkonto_id, '6010');
         }
         $tab_hg_zahl_kosten[1]['TEXT'] = 'Hausgeldzahlung Anteil für Energie';
         $tab_hg_zahl_kosten[1]['SUM'] = nummer_punkt2komma($hk_ist_summe);
         $hk_tab[0]['IST'] = nummer_punkt2komma($hk_ist_summe);
         $hk_tab[0]['ERG'] = nummer_punkt2komma($hk_ist_summe);
         $hk_diff_ist_soll = $hk_ist_summe - $hk_kosten_soll + $hg_kosten_saldo_ist_soll;
         $hk_verbrauch_ist = $this->get_summe_hk('Eigentuemer', $eig_id, $p_id);
         $hk_tab[1]['ART'] = 'Energieabrechnungsergebnis';
         $hk_tab[1]['IST'] = nummer_punkt2komma($hk_verbrauch_ist);
         $hk_tab[1]['ERG'] = nummer_punkt2komma($hk_verbrauch_ist);
         $zw2 = $hk_verbrauch_ist + $zw1 + $hk_ist_summe;
         $hk_tab[2]['ART'] = "<b>Zwischenergebnis nach Abzug Energieabrechnung</b>";
         $hk_tab[2]['ERG'] = '<b>' . nummer_punkt2komma($zw2) . '</b>';
         $hk_tab[0]['IST'] = $hk_tab[0][IST];
         /* Instandhaltungstabelle */
         $inst_kosten_soll = $this->hg_tab_soll_ist_einnahmen($this->ihr_konto, 'Einheit', $this->einheit_id, $this->eigentuemer_von_t, $this->eigentuemer_bis_t);
         $inst_tab[0]['ART'] = "Einnahmen aus Hausgeld für Instandhaltungsrücklage";
         $inst_tab[0]['ZEITRAUM'] = "{$this->eigentuemer_von_t_a} bis {$this->eigentuemer_bis_t_a}";
         $inst_tab[0]['SOLL'] = '-' . nummer_punkt2komma($inst_kosten_soll);
         $inst_ist_summe = $this->get_summe_zahlungen_arr_jahr('Eigentuemer', $eig_id, $jahr, $geldkonto_id, $this->ihr_konto);
         if (!$inst_ist_summe) {
             $inst_ist_summe = $this->get_summe_zahlungen_hga('Eigentuemer', $eig_id, $p_id, $this->ihr_konto);
         }
         $inst_tab[0]['IST'] = nummer_punkt2komma($inst_ist_summe);
         $inst_diff = $inst_ist_summe - $inst_kosten_soll;
         $tab_hg_zahl_kosten[2]['TEXT'] = 'Hausgeldzahlung Anteil für die IHR';
         $tab_hg_zahl_kosten[2]['SUM'] = nummer_punkt2komma($inst_ist_summe);
         $sum_hausgeld = nummer_komma2punkt($tab_hg_zahl_kosten[0]['SUM']) + nummer_komma2punkt($tab_hg_zahl_kosten[1]['SUM']) + nummer_komma2punkt($tab_hg_zahl_kosten[2]['SUM']);
         $tab_hg_zahl_kosten[3]['TEXT'] = "<b>Ihre Hausgeldzahlungen gesamt</b>";
         $tab_hg_zahl_kosten[3]['SUM'] = "<b>" . nummer_punkt2komma($sum_hausgeld) . "</b>";
         $tab_hg_zahl_kosten[4]['TEXT'] = '';
         $tab_hg_zahl_kosten[4]['SUM'] = '';
         $tab_hg_zahl_kosten[5]['TEXT'] = 'Ihr Kostenanteil';
         $tab_hg_zahl_kosten[5]['SUM'] = nummer_punkt2komma($hg_kosten_ant);
         $tab_hg_zahl_kosten[6]['TEXT'] = 'Ihr Energieverbrauch';
         $tab_hg_zahl_kosten[6]['SUM'] = nummer_punkt2komma($hk_verbrauch_ist);
         $tab_hg_zahl_kosten[7]['TEXT'] = 'Ihr Anteil in der IHR';
         $tab_hg_zahl_kosten[7]['SUM'] = nummer_punkt2komma($inst_kosten_soll * -1);
         $bet_ges = nummer_komma2punkt($tab_hg_zahl_kosten[5]['SUM']) + nummer_komma2punkt($tab_hg_zahl_kosten[6]['SUM']) + nummer_komma2punkt($tab_hg_zahl_kosten[7]['SUM']);
         $tab_hg_zahl_kosten[8]['TEXT'] = "<b>Ihre Beteiligung gesamt</b>";
         $tab_hg_zahl_kosten[8]['SUM'] = "<b>" . nummer_punkt2komma($bet_ges) . "</b>";
         $bet_erg = $sum_hausgeld + $bet_ges;
         if ($bet_erg > 0) {
             $nzgh = "Guthaben";
         } else {
             $nzgh = "Nachzahlung";
         }
         $tab_hg_zahl_kosten[9]['TEXT'] = "<b>Ergebnis {$nzgh} </b>";
         $tab_hg_zahl_kosten[9]['SUM'] = "<b>" . nummer_punkt2komma($bet_erg) . "</b>";
         $inst_tab[1]['ART'] = '<b>Ergebnis Instandhaltungsrücklage</b>';
         $inst_tab[1]['ERG'] = '<b>' . nummer_punkt2komma($inst_diff) . '</b>';
         $zw3 = $zw2 + $inst_diff;
         if ($zw3 < 0) {
             $zw_text = 'Nachzahlung';
         }
         if ($zw3 > 0) {
             $zw_text = 'Guthaben';
         }
         $inst_tab[2]['ART'] = "<b><i>Gesamtergebnis Hausgeld (inkl. Energieabrechnung und Instandhaltungsrücklagen)  =  {$zw_text}</i></b>";
         $inst_tab[2]['ERG'] = '<b>' . nummer_punkt2komma_t($zw3) . '</b>';
         $uebersicht[$a]['EINHEIT_ID'] = $einheit_id;
         $uebersicht[$a]['EINHEIT'] = $this->einheit_kurzname . "  " . ltrim(rtrim($this->eigentuemer_name_str));
         $uebersicht[$a]['ERGEBNIS'] = nummer_punkt2komma_t($zw3);
         $uebersicht[$a]['ZAHLUNGEN_J'] = nummer_punkt2komma($sum_hausgeld);
         $uebersicht[$a]['KOSTEN_J'] = nummer_punkt2komma($bet_ges);
         $zzz++;
         $pdf->ezSetDy(-5);
         /* Zweite Seite */
         $pdf->ezNewPage();
         $cols_1 = array('ART' => "Hausgeldeinnahmen für Kosten", 'SOLL' => "Soll", 'IST' => "Ist ", 'ERG' => "");
         $pdf->ezTable($hg_tab, $cols_1, '<b>Hausgeldeinnahmen ohne Instandhaltungsrücklage und Heizkostenvorschüsse</b>', array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 530, 'cols' => array('ART' => array('justification' => 'left'), 'SOLL' => array('justification' => 'right', 'width' => 45), 'IST' => array('justification' => 'right', 'width' => 50), 'ERG' => array('justification' => 'right', 'width' => 40))));
         $pdf->ezSetDy(-10);
         $cols_3 = array('ART' => "Energieabrechnung (siehe Abrechnung)", 'SOLL' => "Soll", 'IST' => "Ist ", 'ERG' => "");
         $pdf->ezTable($hk_tab, $cols_3, '<b>Energieabrechnung (Heizung/Kalt- Warmwasser)</b>', array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 530, 'cols' => array('ART' => array('justification' => 'left'), 'SOLL' => array('justification' => 'right', 'width' => 45), 'IST' => array('justification' => 'right', 'width' => 50), 'ERG' => array('justification' => 'right', 'width' => 40))));
         $pdf->ezSetDy(-10);
         $cols_2 = array('ART' => "Instandhaltungsrücklage", 'SOLL' => "Soll", 'IST' => "Ist ", 'ERG' => "");
         $pdf->ezTable($inst_tab, $cols_2, '<b>Instandhaltungsrücklage</b>', array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 530, 'cols' => array('ART' => array('justification' => 'left'), 'SOLL' => array('justification' => 'right', 'width' => 45), 'IST' => array('justification' => 'right', 'width' => 50), 'ERG' => array('justification' => 'right', 'width' => 40))));
         $pdf->ezSetDy(-10);
         $cols_hg = array('TEXT' => "BEZEICHNUNG", 'SUM' => "WERT [€]");
         $pdf->ezTable($tab_hg_zahl_kosten, $cols_hg, '<b>Übersicht Ihrer Zahlungen und Kosten</b>', array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 0, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 530, 'cols' => array('TEXT' => array('justification' => 'left'), 'SUM' => array('justification' => 'right', 'width' => 80))));
         /* Zweite Seite */
         // $pdf->ezNewPage();
         $pdf->ezSetDy(-30);
         $pdf->ezText("Sollte Ihre Abrechnung ein Guthaben ausweisen, dann werden wir nach Genehmigung der Jahresabrechnung auf der diesjährigen Eigentümerversammlung den Guthabenbetrag auf Ihr Konto überweisen, soweit es nicht zum Ausgleich von Rückständen benötigt wird.", 10, array('justification' => 'full'));
         $pdf->ezSetDy(-10);
         $pdf->ezText("Bei einer Nachzahlung überweisen Sie bitte den Nachzahlungsbetrag nach Genehmingung der Jahresabrechnung auf der diesjährigen Eigentümerversammlung auf das Hasusgeldkonto. Als Verwendungszweck geben Sie bitte <b>Hausgeldabrechnung {$jahr}  {$e->einheit_kurzname}</b> ein.", 10, array('justification' => 'full'));
         $pdf->ezSetDy(-10);
         $pdf->ezText("Wir behalten uns eine Berichtigung dieser Abrechnung vor, falls nachträglich Rechnungen Dritter für den Abrechnungszeitraum eingehen, die bei der Abrechnung hätten berücksichtigt werden müssen, Fehler anerkannt werden, welche zunächst nicht ohne weiteres erkennbar waren (z. B. Fehler von Messdiensten) oder der Abrechnungsfehler zu einem schlechthin unzumutbaren Nachteil für einen Vertragspartei führt.", 10, array('justification' => 'full'));
         $pdf->ezSetDy(-25);
         $cols_bu = array('DATUMD' => "Datum", 'KONTENRAHMEN_KONTO' => "Konto", 'BETRAG' => "Betrag [€]", 'VERWENDUNGSZWECK' => "Buchungstext");
         $bu_arr_et = $this->get_buchungen_et_HG($geldkonto_id, $eig_id, $jahr);
         if (is_array($bu_arr_et)) {
             $pdf->ezNewPage();
             $pdf->ezTable($bu_arr_et, $cols_bu, "Buchungsübersicht {$jahr} {$e->einheit_kurzname}", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 0, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 530, 'cols' => array('KONTENRAHMEN_KONTO' => array('justification' => 'left', 'width' => 40), 'BETRAG' => array('justification' => 'right'))));
         }
         if (is_array($hndl_arr)) {
             $pdf->ezNewPage();
             $pdf->ezSetDy(-10);
             $this->get_eigentumer_id_infos2($eig_id);
             $standard_anschrift = str_replace('<br />', "\n", $this->postanschrift[0]);
             if (!empty($standard_anschrift)) {
                 $pdf->ezText("{$standard_anschrift}", 10);
             } else {
                 $pdf->ezText("{$this->eig_namen_u_pdf}", 10);
                 $pdf->ezSetDy(10);
                 $pdf->ezText("{$this->haus_strasse} {$this->haus_nummer}", 10);
                 $pdf->ezSetDy(-10);
                 $pdf->ezText("{$this->haus_plz} {$this->haus_stadt}", 10);
             }
             $pdf->ezSetDy(-30);
             $pdf->setColor(0.6, 0.6, 0.6);
             $pdf->filledRectangle(50, 600, 500, 15);
             $pdf->setColor(0, 0, 0);
             $pdf->ezSetY(650);
             $pdf->ezText("{$p->partner_ort}, {$datum}", 10, array('justification' => 'right'));
             $pdf->ezSetY(650);
             $pdf->ezSety(615);
             $pdf->ezText("<b>Nachweis der haushaltsnahen Dienstleistungen im Sinne §35a EStG. für das Jahr {$jahr}</b>", 10);
             $pdf->ezSetDy(-20);
             $zeilen = $hndl_arr[$eig_id]['ZEILEN'];
             $anz_zeilen = count($zeilen);
             $hndl_arr[$eig_id]['ZEILEN'][$anz_zeilen][E_BETRAG_HNDL] = '<b>' . nummer_punkt2komma_t($tab_erg[BETRAG_HNDL][$eig_id]['BETEILIGUNG']) . '</b>';
             $zeilen = $hndl_arr[$eig_id]['ZEILEN'];
             $cols = array('KONTO' => "Konto", 'BEZ' => "Kontobezeichnung", 'GRUPPE' => "Kontoart", 'KOS_BEZ' => "Aufteilung", 'BETRAG_HNDL' => "HNDL Gesamt € ", 'G_KEY_A' => "Gesamt", 'E_KEY_A' => "Ihr Anteil", 'E_BETRAG_HNDL' => "Ihre Beteiligung € ");
             $pdf->ezTable($zeilen, $cols, "<b>Haushaltsnahe- und Handwerkerdienstleistungen </b>", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('KONTO' => array('justification' => 'left', 'width' => 35), 'GRUPPE' => array('justification' => 'left', 'width' => 80), 'BETRAG_HNDL' => array('justification' => 'right', 'width' => 45), 'KOS_BEZ' => array('justification' => 'left', 'width' => 60), 'G_KEY_A' => array('justification' => 'right', 'width' => 45), 'E_KEY_A' => array('justification' => 'right', 'width' => 45), 'E_BETRAG_HNDL' => array('justification' => 'right', 'width' => 50))));
             $pdf->ezText("<b>*) Kostenkonto beinhaltet haushaltsnahe Dienstleistungen</b>", 7);
             $summe_hndl_pdf = nummer_punkt2komma_t(abs($tab_erg[BETRAG_HNDL][$eig_id]['BETEILIGUNG']));
             $pdf->ezSetDy(-20);
             $pdf->ezText("<b>Ihr steuerbegünstigter Kostenanteil beträgt {$summe_hndl_pdf} €</b>", 8);
             $pdf->ezSetDy(-20);
             $pdf->ezText("In den oben aufgeführten Kostenarten sind nur Lohnkosten und eventuelle An-/Abfahrtskosten enthalten.", 8);
             $pdf->ezText("Die Verteilung \"Ihr Anteil\" an den Gesamtkosten wird aus den jeweils aufgeführten Verteilerfaktoren der Hausgeld-Einzelabrechnung ermittelt.", 8);
             $pdf->ezSetDy(-10);
             $pdf->ezText("Die Originalbelege (Rechnungen) liegen bei der Hausverwaltung zur Einsicht vor.", 8);
             $pdf->ezSetDy(-10);
             $pdf->ezText("Bei steuerlichen Fragen, wenden Sie sich bitte an Ihren Steuerberater.", 8);
             $pdf->ezSetDy(-10);
             $pdf->ezText("Diese Angaben sind im Rahmen ordnungsgemäßer Verwaltung und nach bestem Wissen ermittelt worden. Für tatsächliche Gewährung einer Steuerbegünstigung durch das zuständige Finanzamt wird indes keine Haftung übernommen.", 8);
             $pdf->ezSetDy(-10);
             $pdf->ezText("Dieses Schreiben wurde maschinell erstellt und ist daher ohne Unterschrift gültig.\n", 8);
             $pdf->ezSetDy(-10);
             $bpdf->zahlungshinweis = strip_tags($bpdf->zahlungshinweis);
             // $pdf->ezText("$bpdf->zahlungshinweis",8);
         }
         $tab_zahl_rueck[$a]['EINHEIT'] = $this->einheit_kurzname;
         $tab_zahl_rueck[$a]['NAME'] = substr($this->eigentuemer_name_str, 0, -2);
         $tab_zahl_rueck[$a]['VORJAHRE'] = '';
         $tab_zahl_rueck[$a]['SOLL_IHR'] = nummer_punkt2komma($inst_kosten_soll);
         $tab_zahl_rueck[$a]['IST_IHR'] = nummer_punkt2komma($inst_ist_summe);
         $tab_zahl_rueck[$a]['SALDO'] = nummer_punkt2komma($inst_diff + $vorjahre);
     }
     // end for $a
     $anz_u = count($uebersicht);
     $summe_alle = 0;
     $summe_nachzahlung = 0;
     $summe_guthaben = 0;
     $summe_kosten = 0;
     $summe_zahlungen = 0;
     $summe_einheit = 0;
     $einheit_temp = '';
     $sum_pro_einheit = 0;
     for ($a = 0; $a < $anz_u; $a++) {
         $einheit_id_n = $uebersicht[$a]['EINHEIT_ID'];
         $betrag = nummer_komma2punkt($uebersicht[$a]['ERGEBNIS']);
         $kosten_j = nummer_komma2punkt($uebersicht[$a]['KOSTEN_J']);
         $zahlungen_j = nummer_komma2punkt($uebersicht[$a]['ZAHLUNGEN_J']);
         if ($a == 0) {
             $einheit_temp = $einheit_id_n;
             $summe_einheit += $betrag;
         }
         if ($a > 0) {
             if ($einheit_temp == $einheit_id_n) {
                 $summe_einheit += $betrag;
             } else {
                 $uebersicht[$a - 1]['ERGEBNIS_E'] = nummer_punkt2komma_t($summe_einheit);
                 $sum_pro_einheit += $summe_einheit;
                 $summe_einheit = 0;
                 $einheit_temp = $einheit_id_n;
                 $summe_einheit += $betrag;
                 /* Letzte Zeile/Einheit */
                 if ($a == $anz_u - 1) {
                     $uebersicht[$a]['ERGEBNIS_E'] = nummer_punkt2komma_t($summe_einheit);
                     $sum_pro_einheit += $summe_einheit;
                 }
             }
         }
         $betrag = nummer_komma2punkt($uebersicht[$a]['ERGEBNIS']);
         $kosten_j = nummer_komma2punkt($uebersicht[$a]['KOSTEN_J']);
         $zahlungen_j = nummer_komma2punkt($uebersicht[$a]['ZAHLUNGEN_J']);
         $summe_kosten += $kosten_j;
         $summe_zahlungen += $zahlungen_j;
         if ($betrag < '0.00') {
             $summe_nachzahlung += $betrag;
         } else {
             $summe_guthaben += $betrag;
         }
         $summe_alle += $betrag;
     }
     $pdf->ezNewPage();
     $pdf->ezSetDy(-20);
     $uebersicht[$anz_u + 1]['EINHEIT'] = '<b>SUMME NACHZAHLUNGEN (EINNAHMEN)</b>';
     $uebersicht[$anz_u + 1]['ERGEBNIS'] = '<b>' . nummer_punkt2komma_t($summe_nachzahlung) . '</b>';
     $uebersicht[$anz_u]['EINHEIT'] = '<b>SUMME GUTHABEN (AUSZAHLUNGEN)</b>';
     $uebersicht[$anz_u]['ERGEBNIS'] = '<b>' . nummer_punkt2komma_t($summe_guthaben) . '</b>';
     if ($summe_alle > '0.00') {
         $uebersicht[$anz_u + 2]['EINHEIT'] = '<b>GESAMT GUTHABEN</b>';
     } else {
         $uebersicht[$anz_u + 2]['EINHEIT'] = '<b>GESAMT NACHZAHLUNG</b>';
     }
     $uebersicht[$anz_u + 2]['ZAHLUNGEN_J'] = "<b>" . nummer_punkt2komma_t($summe_zahlungen) . "</b>";
     $uebersicht[$anz_u + 2]['KOSTEN_J'] = "<b>" . nummer_punkt2komma_t($summe_kosten) . "</b>";
     $uebersicht[$anz_u + 2]['ERGEBNIS'] = '<b>' . nummer_punkt2komma_t($summe_alle) . '</b>';
     $uebersicht[$anz_u + 2]['ERGEBNIS_E'] = '<b>' . nummer_punkt2komma_t($sum_pro_einheit) . '</b>';
     $cols = array('EINHEIT' => "EINHEIT / EIGENTÜMER", 'ZAHLUNGEN_J' => "HAUSGELD", 'KOSTEN_J' => "KOSTEN", 'ERGEBNIS' => "ERGEBNISE", 'ERGEBNIS_E' => "PRO EINHEIT");
     $pdf->ezTable($uebersicht, $cols, "<b>Abrechnungsergebnis {$this->p_jahr}</b>", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 9, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('ERGEBNIS' => array('justification' => 'right', 'width' => 65), 'ERGEBNIS_E' => array('justification' => 'right', 'width' => 60), 'KOSTEN_J' => array('justification' => 'right', 'width' => 60), 'ZAHLUNGEN_J' => array('justification' => 'right', 'width' => 60))));
     // $pdf->ezTable($tab_erg[BETRAG_HNDL]);
     ob_clean();
     // ausgabepuffer leeren
     $pdf->ezStream();
     die;
 }