function hg_gesamtabrechnung_pdf($p_id = '0') { /* Art = Ausgaben, Einnahmen, Mittelverwendung */ $this->get_hga_profil_infos($p_id); $bb = new buchen(); $vj = $this->p_jahr - 1; $datum11 = $vj . "-12-31"; $datum11_d = "31.12.{$vj}"; $kontostand11 = $bb->kontostand_tagesgenau_bis($this->p_gk_id, $datum11_d); if (!$kontostand11) { $kontostand11 = $this->get_kontostand_manuell($this->p_gk_id, $datum11); } $kontostand11_a = nummer_punkt2komma_t($kontostand11); $zeileb = 0; $berechnungs_tab[$zeileb]['BEZ'] = "<b>KONTOSTAND 1.1.{$this->p_jahr}</b>"; $berechnungs_tab[$zeileb]['BETRAG'] = "<b>{$kontostand11_a}</b>"; $kk = new kontenrahmen(); $kontenrahmen_id = $kk->get_kontenrahmen('Objekt', $this->p_objekt_id); $einnahme_manuell = $this->get_summe_zahlungen_manuell($p_id); if (!is_array($einnahme_manuell)) { $einnahme_konten_arr = $kk->get_konten_nach_art_gruppe('Einnahmen', 'Einnahmen Hausgeld', $kontenrahmen_id); $anz_e = count($einnahme_konten_arr); $e_summe = 0; $e_summe_vorjahr = 0; $zeile_einnahmen = 0; for ($a = 0; $a < $anz_e; $a++) { $kbez = $einnahme_konten_arr[$a]['BEZEICHNUNG']; $ekonto = $einnahme_konten_arr[$a]['KONTO']; $bb->summe_kontobuchungen_jahr($this->p_gk_id, $ekonto, $this->p_jahr); $summe_ekonto = $bb->summe_konto_buchungen; $bb->summe_kontobuchungen_jahr($this->p_gk_id, $ekonto, $this->p_jahr - 1); $summe_vorjahr_ekonto = $bb->summe_konto_buchungen; if ($summe_ekonto) { $summe_ekonto_a = nummer_punkt2komma_t($summe_ekonto); $summe_vorjahr_ekonto_a = nummer_punkt2komma_t($summe_vorjahr_ekonto); $einnahmen_tab[$zeile_einnahmen]['KONTO'] = $ekonto; $einnahmen_tab[$zeile_einnahmen]['KONTOART'] = 'Einnahmen'; $einnahmen_tab[$zeile_einnahmen]['BEZ'] = $kbez; $einnahmen_tab[$zeile_einnahmen]['BETRAG'] = $summe_ekonto_a; $einnahmen_tab[$zeile_einnahmen]['BETRAG_VORJAHR'] = $summe_vorjahr_ekonto_a; $zeile_einnahmen++; } $e_summe += $summe_ekonto; $e_summe_vorjahr += $summe_vorjahr_ekonto; } $e_summe_a = nummer_punkt2komma_t($e_summe); $e_summe_vorjahr_a = nummer_punkt2komma_t($e_summe_vorjahr); $zeile_einnahmen++; $einnahmen_tab[$zeile_einnahmen]['BEZ'] = "<b>SUMME</b>"; $einnahmen_tab[$zeile_einnahmen]['BETRAG'] = "<b>{$e_summe_a}</b>"; $einnahmen_tab[$zeile_einnahmen]['BETRAG_VORJAHR'] = $e_summe_vorjahr_a; } else { $anz_m = count($einnahme_manuell); $e_summe = 0; $zeile_einnahmen = 0; for ($a = 0; $a < $anz_m; $a++) { $ki = new kontenrahmen(); $konto = $einnahme_manuell[$a]['KOSTENKONTO']; $ki->konto_informationen2($konto, $kontenrahmen_id); $ksumme = $einnahme_manuell[$a]['SUMME']; $ksumme_a = nummer_punkt2komma_t($ksumme); $e_summe += $ksumme; echo "<tr><td>{$konto}</td><td>{$ki->konto_art_bezeichnung}</td><td>{$ki->konto_bezeichnung}</td><td>{$ksumme_a}</td></tr>"; $einnahmen_tab[$zeile_einnahmen]['KONTO'] = $konto; $einnahmen_tab[$zeile_einnahmen]['KONTOART'] = $ki->konto_art_bezeichnung; $einnahmen_tab[$zeile_einnahmen]['BEZ'] = $ki->konto_bezeichnung; $einnahmen_tab[$zeile_einnahmen]['BETRAG'] = $ksumme_a; $zeile_einnahmen++; } $e_summe_a = nummer_punkt2komma_t($e_summe); echo "<tfoot><tr><td></td><td></td><th><b>SUMME</b></th><th><b>{$e_summe_a}</b></th></tr></tfoot>"; echo "<table>"; $einnahmen_tab[$zeile_einnahmen]['BEZ'] = '<b>SUMME</b>'; $einnahmen_tab[$zeile_einnahmen]['BETRAG'] = "<b>{$e_summe_a}</b>"; } $_umlage_ktos = $this->get_hgkonten_arr($p_id, 'Ausgaben/Einnahmen'); $_umlage_ktos_sort = array_sortByIndex($_umlage_ktos, 'GRUPPE', SORT_DESC); $_umlage_ktos = $_umlage_ktos_sort; unset($_umlage_ktos_sort); $anz_k = count($_umlage_ktos); $znr = 0; $g_summe = 0; $g_summe_vorjahr = 0; $zeile_ausgaben = 0; for ($a = 0; $a < $anz_k; $a++) { $konto = $_umlage_ktos[$a]['KONTO']; $gruppe = $_umlage_ktos[$a]['GRUPPE']; $kontoart = $_umlage_ktos[$a]['KONTO_ART']; $betraege_arr = $this->get_betraege_arr($p_id, $konto); $anz_b = count($betraege_arr); for ($b = 0; $b < $anz_b; $b++) { $konto_b = $betraege_arr[$b]['KONTO']; $text = $betraege_arr[$b]['TEXT']; $gen_key_id = $betraege_arr[$b]['GEN_KEY_ID']; $betrag = $betraege_arr[$b]['BETRAG']; $betrag_vorjahr = $betraege_arr[$b]['BETRAG_VORJAHR']; $betrag_hndl = $betraege_arr[$b]['HNDL_BETRAG']; $kos_typ = $betraege_arr[$b]['KOS_TYP']; $kos_id = $betraege_arr[$b]['KOS_ID']; $r = new rechnung(); $kos_bez = $r->kostentraeger_ermitteln($kos_typ, $kos_id); $bk = new bk(); $bk->get_genkey_infos($gen_key_id); $betrag_a = nummer_punkt2komma_t($betrag); $betrag_vorjahr_a = nummer_punkt2komma_t($betrag_vorjahr); $ausgaben_tab[$zeile_ausgaben]['KONTO'] = $konto_b; $ausgaben_tab[$zeile_ausgaben]['KONTOART'] = $kontoart; $ausgaben_tab[$zeile_ausgaben]['GRUPPE'] = $gruppe; $ausgaben_tab[$zeile_ausgaben]['BEZ'] = $text; $ausgaben_tab[$zeile_ausgaben]['BETRAG'] = $betrag_a; $ausgaben_tab[$zeile_ausgaben]['BETRAG_VORJAHR'] = $betrag_vorjahr_a; $g_summe += $betrag; $g_summe_vorjahr += $betrag_vorjahr; $zeile_ausgaben++; $znr++; } } $g_summe_a = nummer_punkt2komma_t($g_summe); $g_summe_vorjahr_a = nummer_punkt2komma_t($g_summe_vorjahr); $ausgaben_tab = array_orderby($ausgaben_tab, 'GRUPPE', SORT_DESC, 'KONTO', SORT_ASC); /* Summe der Kosten und Einnahmen bilden und als letzte Zeile einfägen */ $ausgaben_tab[$zeile_ausgaben]['BEZ'] = '<b>SUMME</b>'; $ausgaben_tab[$zeile_ausgaben]['BETRAG'] = "<b>{$g_summe_a}</b>"; $ausgaben_tab[$zeile_ausgaben]['BETRAG_VORJAHR'] = "{$g_summe_vorjahr_a}"; /* Art = Ausgaben, Einnahmen, Mittelverwendung - Jetzt wird sortiert */ $_umlage_ktos = $this->get_hgkonten_arr($p_id, 'Mittelverwendung'); $_umlage_ktos_sort = array_sortByIndex($_umlage_ktos, 'GRUPPE', SORT_DESC); $_umlage_ktos = $_umlage_ktos_sort; unset($_umlage_ktos_sort); $anz_k = count($_umlage_ktos); $znr = 0; $g_summe1 = 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); $anz_b = count($betraege_arr); for ($b = 0; $b < $anz_b; $b++) { $konto_b = $betraege_arr[$b]['KONTO']; $text = $betraege_arr[$b]['TEXT']; $gen_key_id = $betraege_arr[$b]['GEN_KEY_ID']; $betrag = $betraege_arr[$b]['BETRAG']; $betrag_vorjahr = $betraege_arr[$b]['BETRAG_VORJAHR']; $betrag_hndl = $betraege_arr[$b]['HNDL_BETRAG']; $kos_typ = $betraege_arr[$b]['KOS_TYP']; $kos_id = $betraege_arr[$b]['KOS_ID']; $r = new rechnung(); $kos_bez = $r->kostentraeger_ermitteln($kos_typ, $kos_id); $bk = new bk(); $bk->get_genkey_infos($gen_key_id); $betrag_a = nummer_punkt2komma_t($betrag); $betrag_vorjahr_a = nummer_punkt2komma_t($betrag_vorjahr); echo "<tr><td>{$konto_b}</td><td>{$gruppe}</td><td>{$text}</td><td>{$betrag_a}</td></tr>"; $mv_tab[$znr]['KONTO'] = $konto_b; $mv_tab[$znr]['KONTO_ART'] = $gruppe; $mv_tab[$znr]['BEZ'] = $text; $mv_tab[$znr]['BETRAG'] = $betrag_a; $mv_tab[$znr]['BETRAG_VORJAHR'] = $betrag_vorjahr_a; $g_summe1 += $betrag; $g_summe1_vorjahr += $betrag_vorjahr; $znr++; } } $g_summe1_a = nummer_punkt2komma_t($g_summe1); $g_summe1_vorjahr_a = nummer_punkt2komma_t($g_summe1_vorjahr); $mv_tab = array_orderby($mv_tab, 'GRUPPE', SORT_DESC, 'KONTO', SORT_ASC); $mv_tab[$znr]['BEZ'] = '<b>SUMME</b>'; $mv_tab[$znr]['BETRAG'] = "<b>{$g_summe1_a}</b>"; $mv_tab[$znr]['BETRAG_VORJAHR'] = "{$g_summe1_vorjahr_a}"; $ergebnis = $e_summe + $g_summe + $g_summe1; $ergebnis_a = nummer_punkt2komma_t($ergebnis); if ($ergebnis > 0) { $erg_text = 'GUTHABEN'; } if ($ergebnis < 0) { $erg_text = 'NACHZAHLUNG'; } $zz = 0; $berechnung_tab[$zz]['BEZ'] = "Einnahmen"; $berechnung_tab[$zz]['BETRAG'] = $e_summe_a; $zz++; $berechnung_tab[$zz]['BEZ'] = "Bewirtschaftungskosten /-Einnahmen"; $berechnung_tab[$zz]['BETRAG'] = $g_summe_a; $zz++; $e_a_zw_summe_a = nummer_punkt2komma_t($e_summe + $g_summe); $berechnung_tab[$zz]['BEZ'] = "<b>Zwischenergebnis (Einnahmen - Ausgaben)</b>"; $berechnung_tab[$zz]['BETRAG'] = "<b>{$e_a_zw_summe_a}</b>"; $zz++; $berechnung_tab[$zz]['BEZ'] = "Mittelverwendung"; $berechnung_tab[$zz]['BETRAG'] = $g_summe1_a; $zz++; $berechnung_tab[$zz]['BEZ'] = "<b>Saldo aus Hausgeldabrechnung ({$erg_text})</b>"; $berechnung_tab[$zz]['BETRAG'] = "<b>{$ergebnis_a}</b>"; $zz++; $berechnung_tab[$zz]['BEZ'] = ""; $berechnung_tab[$zz]['BETRAG'] = ""; /* Kontoentwicklung */ $zz = 0; $kto_tab[$zz]['BEZ'] = "Kontostand 01.01.{$this->p_jahr}"; $kto_tab[$zz]['BETRAG'] = $kontostand11_a; $zz++; $kto_tab[$zz]['BEZ'] = "Saldo aus Hausgeldabrechnung ({$erg_text})"; $kto_tab[$zz]['BETRAG'] = "{$ergebnis_a}"; $zz++; /* Verrechnungkontos holen, z.b. Forderungen / Verbindlichkeiten */ $verr_ktos = $this->get_hgkonten_arr($p_id, 'Verrechnung'); $anz_v = count($verr_ktos); if ($anz_v) { $summe_verrechnung = 0; for ($v = 0; $v < $anz_v; $v++) { $v_konto = $verr_ktos[$v]['KONTO']; $v_bez = $verr_ktos[$v]['TEXT']; $kto_tab[$zz]['BEZ'] = "{$v_bez}"; $this->get_summe_zeilen($v_konto, $p_id); $this->summe_zeilen_a = nummer_punkt2komma_t($this->summe_zeilen); $kto_tab[$zz]['BETRAG'] = "{$this->summe_zeilen_a}"; $summe_verrechnung += $this->summe_zeilen; $zz++; } } $kto_stand = $ergebnis + $kontostand11 + $summe_verrechnung; $kto_stand_a = nummer_punkt2komma_t($kto_stand); $kto_tab[$zz]['BEZ'] = "Kontostand 31.12.{$this->p_jahr} (SOLL)"; $kto_tab[$zz]['BETRAG'] = "{$kto_stand_a}"; $datum3112 = "{$this->p_jahr}" . "-12-31"; $datum3112_d = "31.12.{$this->p_jahr}"; $kontostand3112 = $bb->kontostand_tagesgenau_bis($this->p_gk_id, $datum3112_d); $txt = 'Aus Buchungen'; if (!$kontostand3112) { $kontostand3112 = $this->get_kontostand_manuell($this->p_gk_id, $datum3112); $txt = 'Manuell eingegeben'; } $kontostand3112_a = nummer_punkt2komma_t($kontostand3112); $zz++; $kto_tab[$zz]['BEZ'] = "<b>Kontostand 31.12.{$this->p_jahr} (IST) - {$txt}</b>"; $kto_tab[$zz]['BETRAG'] = "<b>{$kontostand3112_a}</b>"; 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); $this->footer_zahlungshinweis = $bpdf->zahlungshinweis; $pdf->setColor(0.6, 0.6, 0.6); $pdf->filledRectangle(50, 690, 500, 15); $pdf->setColor(0, 0, 0); $pdf->ezSetY(720); $datum = date("d.m.Y"); $p = new partners(); $p->get_partner_info($_SESSION['partner_id']); $pdf->ezSetDy(-30); $pdf->ezText("{$p->partner_ort}, den {$datum}", 10, array('justification' => 'right')); $pdf->ezSetY(705); $o = new objekt(); $o->get_objekt_infos($this->p_objekt_id); $pdf->ezText(" <b>HAUSGELD-GESAMTABRECHNUNG {$this->p_jahr} | OBJEKT: {$o->objekt_kurzname}</b>", 10, array('justification' => 'full')); $pdf->ezSetDy(-15); $p = new partners(); $p->get_partner_info($_SESSION['partner_id']); $cols_2 = array('KONTO' => "Konto", 'BEZ' => "Bezeichnung", 'KONTOART' => "Kontoart", 'BETRAG_VORJAHR' => "Betrag Vorjahr", 'BETRAG' => "Betrag"); $bpdf->addTable($pdf, $einnahmen_tab, $cols_2, '<b>HAUSGELDEINNAHMEN</b>', array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 10, 'fontSize' => 8, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('KONTO' => array('justification' => 'left', 'width' => 45), 'KONTOART' => array('justification' => 'left', 'width' => 55), 'BETRAG' => array('justification' => 'right', 'width' => 50), 'BETRAG_VORJAHR' => array('justification' => 'right', 'width' => 50)))); $pdf->ezSetDy(-15); $cols_2 = array('KONTO' => "Konto", 'BEZ' => "Bezeichnung", 'GRUPPE' => "Kostenart", 'KONTOART' => "Kontoart", 'BETRAG_VORJAHR' => "Betrag Vorjahr", 'BETRAG' => "Betrag"); $bpdf->addTable($pdf, $ausgaben_tab, $cols_2, '<b>BEWIRTSCHAFTUNGSKOSTEN/-EINNAHMEN</b>', array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 10, 'fontSize' => 8, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('KONTO' => array('justification' => 'left', 'width' => 45), 'KONTOART' => array('justification' => 'left', 'width' => 55), 'BETRAG_VORJAHR' => array('justification' => 'right', 'width' => 50), 'BETRAG' => array('justification' => 'right', 'width' => 50)))); $cols_2 = array('KONTO' => "Konto", 'BEZ' => "Bezeichnung", 'KONTO_ART' => "Kontoart", 'BETRAG_VORJAHR' => "Betrag Vorjahr", 'BETRAG' => "Betrag"); $pdf->ezSetDy(-15); $bpdf->addTable($pdf, $mv_tab, $cols_2, '<b>MITTELVERWENDUNG</b>', array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 10, 'fontSize' => 8, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('KONTO' => array('justification' => 'left', 'width' => 45), 'KONTOART' => array('justification' => 'left', 'width' => 100), 'BEZ' => array('justification' => 'left', 'width' => 250), 'BETRAG' => array('justification' => 'right', 'width' => 50), 'BETRAG_VORJAHR' => array('justification' => 'right', 'width' => 50)))); $pdf->ezSetDy(-15); $cols_ber = array('BEZ' => "", 'BETRAG' => "Betrag"); $bpdf->addTable($pdf, $berechnung_tab, $cols_ber, '<b>BERECHNUNG</b>', array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 10, 'fontSize' => 8, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('BEZ' => array('justification' => 'left', 'width' => 450), 'BETRAG' => array('justification' => 'right', 'width' => 50)))); $pdf->ezSetDy(-15); $bpdf->addTable($pdf, $kto_tab, $cols_ber, "<b>GELDKONTOENTWICKLUNG (HAUSGELD)</b>", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 10, 'fontSize' => 8, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('BEZ' => array('justification' => 'left'), 'BETRAG' => array('justification' => 'right', 'width' => 50)))); ob_clean(); $pdf->ezStream(); }