Пример #1
0
 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();
 }