Esempio n. 1
0
 function bk_nk_profil_berechnung($profil_id)
 {
     /* Profil Information holen, z.B. um Einheiten Array zu Bilden, d.h. f�r wenn ist die BK & NK */
     $this->bk_profil_infos($profil_id);
     $jahr = $this->bk_jahr;
     /* Alle ausgewählten BK Kontensummen mit Key und Kostenträger wählen */
     $summen_arr = $this->get_buchungssummen_konto_arr($profil_id);
     $anzahl_summen = count($summen_arr);
     $k = new kontenrahmen();
     $this->kontenrahmen_id = $k->get_kontenrahmen($this->bk_kos_typ, $this->bk_kos_id);
     $diff = 0.0;
     // Anfangsdifferenz = 0;
     $hndl_diff = 0.0;
     // Anfangsdifferenz = 0;
     $check_bt = 0.0;
     $check_bt_hndl = 0.0;
     /* Schleife $a, äußere Schleife für jede Summe */
     for ($a = 0; $a < $anzahl_summen; $a++) {
         /* Berechnungsschlüssel infos holen */
         $key_id = $summen_arr[$a]['KEY_ID'];
         $this->get_genkey_infos($key_id);
         $summe_konto = $summen_arr[$a]['G_SUMME'];
         /* Positiv machen */
         // if($summe_konto<0){
         // $summe_konto = substr($summe_konto,1);
         // }
         $summe_konto_a = nummer_punkt2komma($summe_konto);
         $bk_k_id = $summen_arr[$a]['BK_K_ID'];
         // $kostenkonto = $this->get_konto_from_id($bk_k_id, $profil_id);
         // $k->konto_informationen2($kostenkonto, $this->kontenrahmen_id);
         // $bk_res[kontrolle][$a][$bk_k_id][KOSTENART] = $k->konto_bezeichnung; //alt
         $this->get_konto_infos_byid($bk_k_id, $profil_id);
         $kostenkonto = $this->konto;
         $bk_res['kontrolle'][$a][$bk_k_id]['KOSTENART'] = $this->konto_bez;
         // neu mit eigenen bezeichnungen der konten
         $kos_typ = $summen_arr[$a]['KOS_TYP'];
         $kos_id = $summen_arr[$a]['KOS_ID'];
         $anteil = $summen_arr[$a]['ANTEIL'];
         $anteil_a = nummer_punkt2komma($anteil);
         $anteil_betrag = $summen_arr[$a]['A_SUMME'];
         $anteil_betrag_a = nummer_punkt2komma(abs($anteil_betrag));
         $hndl_betrag = $summen_arr[$a]['HNDL_BETRAG'];
         // $hndl_anteil_betrag = ($hndl_betrag/100)*$anteil;
         $hndl_anteil_betrag = $summen_arr[$a]['HNDL_BETRAG'];
         $bk_res['kontrolle'][$a][$bk_k_id]['SUMME'] = $anteil_betrag;
         $bk_res['kontrolle'][$a][$bk_k_id]['HNDL'] = $hndl_anteil_betrag;
         $bk_res['kontrolle'][$a][$bk_k_id]['KOS_TYP'] = $kos_typ;
         $bk_res['kontrolle'][$a][$bk_k_id]['KOS_ID'] = $kos_id;
         if ($kos_typ != 'Wirtschaftseinheit') {
             $r = new rechnung();
             $g_kos_bez = $r->kostentraeger_ermitteln($kos_typ, $kos_id);
             $bk_res['kontrolle'][$a][$bk_k_id]['G_KOS_BEZ'] = $g_kos_bez;
         }
         if ($kos_typ == 'Wirtschaftseinheit') {
             $wirt = new wirt_e();
             $wirt->get_wirt_e_infos($kos_id);
             $gesamt_qm_alle = $wirt->g_qm;
             $gesamt_qm_gewerbe = $wirt->g_qm_gewerbe;
             $gesamt_qm = $gesamt_qm_alle - $gesamt_qm_gewerbe;
             $einheiten_arr = $wirt->get_einheiten_from_wirte($kos_id);
             $g_kos_bez = $wirt->w_name;
             $bk_res['kontrolle'][$a][$bk_k_id]['G_KOS_BEZ'] = $wirt->w_name;
             $anzahl_ge = $wirt->anzahl_ge;
             $anzahl_wo = $wirt->anzahl_wo;
             $anzahl_e = $wirt->anzahl_e;
         }
         if ($kos_typ == 'Objekt') {
             $o = new objekt();
             $gesamt_qm_alle = $o->get_qm_gesamt($kos_id);
             $gesamt_qm_gewerbe = $o->get_qm_gesamt_gewerbe($kos_id);
             $gesamt_qm = $gesamt_qm_alle - $gesamt_qm_gewerbe;
             $einheiten_arr = $o->einheiten_objekt_arr($kos_id);
             $anzahl_wo = count($einheiten_arr);
         }
         /* BK & Nk für alle Einheiten in einem Haus */
         if ($kos_typ == 'Haus') {
             $h = new haus();
             $gesamt_qm_alle = $h->get_qm_gesamt($kos_id);
             $gesamt_qm_gewerbe = $h->get_qm_gesamt_gewerbe($kos_id);
             $gesamt_qm = $gesamt_qm_alle - $gesamt_qm_gewerbe;
             $einheiten_arr = $h->liste_aller_einheiten_im_haus($kos_id);
             $anzahl_wo = count($einheiten_arr);
         }
         /* BK & Nk für eine Einheit */
         if ($kos_typ == 'Einheit') {
             $e = new einheit();
             $e->get_einheit_info($kos_id);
             $gesamt_qm_alle = $e->einheit_qm;
             $gesamt_qm_gewerbe = $e->einheit_qm_gewerbe;
             $gesamt_qm = $gesamt_qm_alle - $gesamt_qm_gewerbe;
             $einheiten_arr = $e->get_einheit_as_array($kos_id);
             $anzahl_wo = count($einheiten_arr);
         }
         /* BK & Nk für eine Einheit */
         if ($kos_typ == 'Mietvertrag') {
             $mv = new mietvertraege();
             $mv->get_mietvertrag_infos_aktuell($kos_id);
             $e = new einheit();
             $e->get_einheit_info($mv->einheit_id);
             $gesamt_qm_alle = $e->einheit_qm;
             $gesamt_qm_gewerbe = $e->einheit_qm_gewerbe;
             $gesamt_qm = $gesamt_qm_alle - $gesamt_qm_gewerbe;
             $einheiten_arr = $e->get_einheit_as_array($mv->einheit_id);
             $anzahl_wo = count($einheiten_arr);
         }
         $bk_res['kontrolle'][$a][$bk_k_id]['KOSTEN_GESAMT'] = nummer_punkt2komma($anteil_betrag);
         $bk_res['kontrolle'][$a][$bk_k_id]['KOSTEN_GEWERBE'] = nummer_punkt2komma($anteil_betrag / $gesamt_qm_alle * $gesamt_qm_gewerbe);
         $bk_res['kontrolle'][$a][$bk_k_id]['KOSTEN_WOHNRAUM'] = nummer_punkt2komma($anteil_betrag - $anteil_betrag / $gesamt_qm_alle * $gesamt_qm_gewerbe);
         // $this->key_daten[$key_id][g_einheit_qm] = $gesamt_qm;
         $anzahl_einheiten = count($einheiten_arr);
         // $this->key_daten[$key_id][g_anzahl_einheiten] = $anzahl_einheiten;
         $beteiligung_gesamt = 0;
         /* Schleife $b, zweite Schleife für jede Einheit */
         for ($b = 0; $b < $anzahl_einheiten; $b++) {
             $einheit_id = $einheiten_arr[$b]['EINHEIT_ID'];
             $einheit_qm = $einheiten_arr[$b]['EINHEIT_QM'];
             $einheit_typ = $einheiten_arr[$b]['TYP'];
             // Gewerbe / Wohnraum
             if ($einheit_typ == 'Gewerbe') {
                 $this->key_daten[$key_id][g_einheit_qm] = $gesamt_qm_gewerbe;
                 $anteil_betrag_teilen = round($anteil_betrag / $gesamt_qm_alle * $gesamt_qm_gewerbe, 2);
                 $hndl_betrag_teilen = round($hndl_anteil_betrag / $gesamt_qm_alle * $gesamt_qm_gewerbe, 2);
                 $this->key_daten[$key_id]['einheit_qm'] = $einheit_qm;
                 $this->key_daten[$key_id]['g_anzahl_einheiten'] = $anzahl_ge;
                 $this->key_daten[$key_id]['anzahl_einheiten'] = 1;
             } else {
                 $this->key_daten[$key_id]['g_einheit_qm'] = $gesamt_qm;
                 $anteil_betrag_teilen = $anteil_betrag / $gesamt_qm_alle * $gesamt_qm;
                 $hndl_betrag_teilen = $hndl_anteil_betrag / $gesamt_qm_alle * $gesamt_qm;
                 $this->key_daten[$key_id]['g_anzahl_einheiten'] = $anzahl_wo;
                 $this->key_daten[$key_id]['anzahl_einheiten'] = 1;
                 $this->key_daten[$key_id]['einheit_qm'] = $einheit_qm;
             }
             // print_r($this->key_daten); // Nur zur Kontrolle des Arrays
             // die();
             $einheit_name = $einheiten_arr[$b]['EINHEIT_KURZNAME'];
             /* wenn kosten nicht nur einem MV zugeordnet, dann alle mvs und leerstände */
             if ($kos_typ != 'Mietvertrag') {
                 $leerstand_und_mvs = $this->mvs_und_leer_jahr($einheit_id, $jahr);
             } else {
                 $leerstand_und_mvs = $this->mvs_und_leer_jahr_1mv($kos_id, $jahr);
             }
             $anzahl_einheiten_mvs = count($leerstand_und_mvs);
             /* Schleife $c, dritte Schleife für jeden Mietvertrag oder Leerstand */
             for ($c = 0; $c < $anzahl_einheiten_mvs; $c++) {
                 $kos_typ_e = $leerstand_und_mvs[$c]['KOS_TYP'];
                 $kos_id_e = $leerstand_und_mvs[$c]['KOS_ID'];
                 $von = $leerstand_und_mvs[$c]['BERECHNUNG_VON'];
                 $bis = $leerstand_und_mvs[$c]['BERECHNUNG_BIS'];
                 $zeitraum = date_mysql2german($leerstand_und_mvs[$c]['BERECHNUNG_VON']) . ' - ' . date_mysql2german($leerstand_und_mvs[$c]['BERECHNUNG_BIS']);
                 $tage = $leerstand_und_mvs[$c]['TAGE'];
                 if ($kos_typ != 'Mietvertrag') {
                     if ($kos_typ_e == 'Leerstand') {
                         $empfaenger = 'Leerstand';
                     } else {
                         $mv = new mietvertraege();
                         $mv->get_mietvertrag_infos_aktuell($kos_id_e);
                         $empfaenger = $mv->personen_name_string;
                     }
                 } else {
                     if ($kos_typ_e == 'Leerstand') {
                         $empfaenger = "Eigentümer - Kosten betreffen nur den fehlenden Zeitraum, bzw. Jahr - Zeitraum vermietet, Beteiligung Mieter und Vermieter, keine Vor- und Nachmieterbeteiligung";
                     } else {
                         $mv = new mietvertraege();
                         $mv->get_mietvertrag_infos_aktuell($kos_id_e);
                         $empfaenger = $mv->personen_name_string;
                     }
                 }
                 /* KOSTENKONTO */
                 // $beteiligung_genau =$this->beteiligung_berechnen($anteil_betrag, $von, $bis, $gesamt_qm, $einheit_qm)+$diff; //genau + $diff
                 $g_b = $this->key_daten[$key_id][$this->g_key_g_var];
                 $e_b = $this->key_daten[$key_id][$this->g_key_e_var];
                 // echo "REST DAVOR $diff<br>";
                 // $beteiligung_genau =$this->beteiligung_berechnen($anteil_betrag, $von, $bis, $g_b, $e_b,$einheit_name)+$diff; //genau + $diff
                 $beteiligung_genau100 = $this->beteiligung_berechnen($anteil_betrag_teilen, $von, $bis, $g_b, $e_b, $einheit_name);
                 // genau + $diff
                 // echo "1. $beteiligung_genau100<br>";
                 $beteiligung_genau = $beteiligung_genau100 + $diff;
                 // genau + $diff
                 $beteiligung = round($beteiligung_genau, 2);
                 // runden
                 /* Eigene Diff */
                 $alt_diff = $diff;
                 $eig_diff = $beteiligung_genau - $beteiligung;
                 // eigene diff, die weiter gegeben wird
                 $beteiligung_a = nummer_punkt2komma($beteiligung);
                 $check_bt = $check_bt + $beteiligung;
                 // echo "1.<b>$empfaenger</b>$anteil_betrag_teilen | $beteiligung_genau100 + $alt_diff = $beteiligung_genau gerundet = <b>$beteiligung</b> ($beteiligung_a) | EIG. REST: $eig_diff | <b>$check_bt</b><br>";
                 $diff = $eig_diff;
                 /* HNDL */
                 $beteiligung_hndl_genau100 = $this->beteiligung_berechnen($hndl_betrag_teilen, $von, $bis, $g_b, $e_b, $einheit_name);
                 // genau + $diff
                 // echo "2. $beteiligung_hndl_genau100<br>";
                 $beteiligung_hndl_genau = $beteiligung_hndl_genau100 + $hndl_diff;
                 // genau + $diff
                 $beteiligung_hndl = round($beteiligung_hndl_genau, 2);
                 // runden
                 /* Eigene Diff */
                 $hndl_alt_diff = $hndl_diff;
                 $hndl_eig_diff = $beteiligung_hndl_genau - $beteiligung_hndl;
                 // eigene diff, die weiter gegeben wird
                 $beteiligung_hndl_a = nummer_punkt2komma($beteiligung_hndl);
                 $check_bt_hndl = $check_bt_hndl + $beteiligung_hndl;
                 // echo "2.<b>$empfaenger</b>$hndl_betrag_teilen | $beteiligung_hndl_genau100 + $hndl_alt_diff= $beteiligung_hndl_genau gerundet = <b>$beteiligung_hndl</b> ($beteiligung_hndl_a) | EIG. REST: $hndl_eig_diff | <b>$check_bt_hndl</b><br>";
                 $hndl_diff = $hndl_eig_diff;
                 $bk_res[$einheit_name . ' ' . $zeitraum]['EMPF'] = "{$empfaenger}";
                 // $bk_res[$einheit_name.' '.$zeitraum]['G_KOS_BEZ']=$g_kos_bez;
                 $bk_res[$einheit_name . ' ' . $zeitraum]['KOS_TYP'] = "{$kos_typ_e}";
                 $bk_res[$einheit_name . ' ' . $zeitraum]['KOS_ID'] = "{$kos_id_e}";
                 $bk_res[$einheit_name . ' ' . $zeitraum]['QM_G_OBJEKT'] = "{$gesamt_qm_alle}";
                 $bk_res[$einheit_name . ' ' . $zeitraum]['QM_G'] = "{$gesamt_qm}";
                 $bk_res[$einheit_name . ' ' . $zeitraum]['QM_G_GEWERBE'] = "{$gesamt_qm_gewerbe}";
                 $bk_res[$einheit_name . ' ' . $zeitraum]['EINHEIT_QM'] = "{$einheit_qm}";
                 $bk_res[$einheit_name . ' ' . $zeitraum]['ZEITRAUM'] = "{$zeitraum}";
                 $bk_res[$einheit_name . ' ' . $zeitraum]['EINHEIT_NAME'] = "{$einheit_name}";
                 $bk_res[$einheit_name . ' ' . $zeitraum]['EINHEIT_TYP'] = "{$einheit_typ}";
                 $anteil_betrag_teilen_a = nummer_punkt2komma($anteil_betrag_teilen);
                 $anteil_betrag_teilen_hndl_a = nummer_punkt2komma($hndl_betrag_teilen);
                 $bk_res[$einheit_name . ' ' . $zeitraum][] = array('KOSTENART' => "{$this->konto_bez}", 'G_KOS_BEZ' => "{$anteil}", 'G_HNDL' => "{$anteil_betrag_teilen_hndl_a}", 'BK_K_ID' => "{$bk_k_id}", 'G_BETRAG' => "{$anteil_betrag_teilen_a}", 'ANTEIL' => "{$anteil_a}", 'UMLAGE' => "{$anteil_betrag_teilen_a}", 'G_KEY' => "{$g_b}", 'QM' => "{$e_b}", 'ME' => "{$this->g_key_me}", 'BET_G' => "{$beteiligung_a}", 'BET_HNDL' => "{$beteiligung_hndl_a}", 'GENKEY_ID' => "{$genkey_id}");
                 $bk_res['kontrolle'][$a][$bk_k_id]['KOSTENART'] = $this->konto_bez;
                 $bk_res['kontrolle'][$a][$bk_k_id]['SUMME_K'] += $beteiligung;
                 $bk_res['kontrolle'][$a][$bk_k_id]['HNDL_K'] += $beteiligung_hndl;
             }
             // end for $c
         }
         // end for $b
         $diff = 0.0;
         $check_bt = 0.0;
         $hndl_diff = 0.0;
         $check_bt_hndl = 0.0;
     }
     // end for $a
     // echo '<pre>';
     // print_r($bk_res);
     // die();
     // die();
     // print_r(array_keys($bk_res));
     // $this->ber_array_anzeigen($bk_res);
     return $bk_res;
     // echo 10 % 6;
     // die("$anzahl_ge $anzahl_wo");
 }
Esempio n. 2
0
 function hg_gesamtabrechnung($p_id = '0')
 {
     echo "<a href=\"index.php?daten=weg&option=testhgg_pdf\">PDF</a>";
     /* Art = Ausgaben, Einnahmen, Mittelverwendung */
     $_umlage_ktos = $this->get_hgkonten_arr($p_id, 'Ausgaben/Einnahmen');
     $_umlage_ktos = array_orderby($_umlage_ktos, 'GRUPPE', SORT_DESC, 'KONTO', SORT_ASC);
     $this->get_hga_profil_infos($p_id);
     $bb = new buchen();
     $datum11 = $this->p_jahr . "-01-01";
     $kontostand11 = $bb->kontostand_tagesgenau_bis($this->p_gk_id, $datum11);
     if (!$kontostand11) {
         $kontostand11 = $this->get_kontostand_manuell($this->p_gk_id, $datum11);
     }
     $kontostand11_a = nummer_punkt2komma($kontostand11);
     echo "Kontostand  {$kontostand11_a} {$this->p_gk_id} {$datum11}<br>";
     $kk = new kontenrahmen();
     $kontenrahmen_id = $kk->get_kontenrahmen('Objekt', $this->p_objekt_id);
     echo "Kontenrahmen {$kontenrahmen_id}<br>";
     $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;
         echo "<table>";
         echo "<thead><tr><th colspan=\"4\">HAUSGELDEINNAHMEN AUS BUCHUNGSJOURNAL</th></tr></thead>";
         echo "<tr><th>KONTO</th><th>KONTOART</th><th>BEZEICHNUNG</th><th>BETRAG</th></tr>";
         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;
             if ($summe_ekonto) {
                 // echo "$kbez $summe_ekonto<br>";
                 $summe_ekonto_a = nummer_punkt2komma($summe_ekonto);
                 echo "<tr><td>{$ekonto}</td><td>Einnahmen</td><td>{$kbez}</td><td>{$summe_ekonto_a}</td></tr>";
             }
             $e_summe += $summe_ekonto;
         }
         if (!$e_summe) {
         }
         $e_summe_a = nummer_punkt2komma($e_summe);
         echo "<tfoot><tr><td></td><td></td><th><b>SUMME EINNAHMEN</b></th><th><b>{$e_summe_a}</b></th></tr></tfoot>";
         echo "</table>";
     } else {
         $anz_m = count($einnahme_manuell);
         echo "<table>";
         echo "<thead><tr><th colspan=\"4\">HAUSGELDEINNAHMEN MANUELL</th></tr></thead>";
         echo "<tr><th>KONTO</th><th>KONTOART</th><th>BEZEICHNUNG</th><th>BETRAG</th></tr>";
         $e_summe = 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($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>";
         }
         $e_summe_a = nummer_punkt2komma($e_summe);
         echo "<tfoot><tr><td></td><td></td><th><b>SUMME EINNAHMEN</b></th><th><b>{$e_summe_a}</b></th></tr></tfoot>";
         echo "<table>";
     }
     $anz_k = count($_umlage_ktos);
     echo "<table>";
     echo "<thead><tr><th colspan=\"4\">BEWIRTSCHAFTUNGSKOSTEN/-EINNAHMEN</th></tr></thead>";
     echo "<tr><th>Konto</th><th>Kontoart</th><th>Text</th><th>Betrag</th></tr>";
     $znr = 0;
     $g_summe = 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_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($betrag);
             echo "<tr><td>{$konto_b}</td><td>{$gruppe}</td><td>{$text}</td><td>{$betrag_a}</td></tr>";
             if ($kos_typ == 'Wirtschaftseinheit') {
                 $wi = new wirt_e();
                 $zeilen_arr[$znr]['KONTO'] = $konto;
                 $zeilen_arr[$znr]['KONTOB'] = $konto_b;
                 $zeilen_arr[$znr]['BETRAG'] = $betrag;
                 $zeilen_arr[$znr]['HNDL_BETRAG'] = $betrag_hndl;
                 $zeilen_arr[$znr]['GEN_KEY_ID'] = $gen_key_id;
                 $zeilen_arr[$znr]['KOS_TYP'] = $kos_typ;
                 $zeilen_arr[$znr]['KOS_ID'] = $kos_id;
                 $zeilen_arr[$znr]['TEXT'] = $text;
                 $zeilen_arr[$znr]['GRUPPE'] = $gruppe;
                 $zeilen_arr[$znr]['EINHEITEN'] = $wi->get_einheiten_from_wirte($kos_id);
                 $g_summe += $betrag;
             }
             $znr++;
         }
     }
     $g_summe_a = nummer_punkt2komma($g_summe);
     echo "<tfoot><tr><td></td><td></td><th><b>AUSGABEN GESAMT</b></th><th><b>{$g_summe_a}</b></th></tr></tfoot>";
     echo "</table>";
     /* Art = Ausgaben, Einnahmen, Mittelverwendung */
     $_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);
     echo "<table>";
     echo "<thead><tr><th colspan=\"4\">MITTELVERWENDUNG</th></tr></thead>";
     echo "<tr><th>Konto</th><th>Kontoart</th><th>Text</th><th>Betrag</th></tr>";
     $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_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($betrag);
             echo "<tr><td>{$konto_b}</td><td>{$gruppe}</td><td>{$text}</td><td>{$betrag_a}</td></tr>";
             if ($kos_typ == 'Wirtschaftseinheit') {
                 $wi = new wirt_e();
                 $zeilen_arr[$znr]['KONTO'] = $konto;
                 $zeilen_arr[$znr]['KONTOB'] = $konto_b;
                 $zeilen_arr[$znr]['BETRAG'] = $betrag;
                 $zeilen_arr[$znr]['HNDL_BETRAG'] = $betrag_hndl;
                 $zeilen_arr[$znr]['GEN_KEY_ID'] = $gen_key_id;
                 $zeilen_arr[$znr]['KOS_TYP'] = $kos_typ;
                 $zeilen_arr[$znr]['KOS_ID'] = $kos_id;
                 $zeilen_arr[$znr]['TEXT'] = $text;
                 $zeilen_arr[$znr]['GRUPPE'] = $gruppe;
                 $zeilen_arr[$znr]['EINHEITEN'] = $wi->get_einheiten_from_wirte($kos_id);
                 $g_summe1 += $betrag;
             }
             $znr++;
         }
     }
     $g_summe1_a = nummer_punkt2komma($g_summe1);
     echo "<tfoot><tr><td></td><td></td><th><b>GESAMT</b></th><th><b>{$g_summe1_a}</b></th></tr></tfoot>";
     echo "</table>";
     $ergebnis = $kontostand11 + $e_summe + $g_summe + $g_summe1;
     $ergebnis_a = nummer_punkt2komma($ergebnis);
     if ($ergebnis > 0) {
         $erg_text = 'GUTHABEN';
     }
     if ($ergebnis < 0) {
         $erg_text = 'NACHZAHLUNG';
     }
     echo "<table>";
     echo "<thead><tr><th colspan=\"2\">BERECHNUNG</th></tr></thead>";
     echo "<tr><th>BEZEICHNUNG</th><th>Betrag</th></tr>";
     echo "<tr><td>KONTOSTAND 1.1.{$this->p_jahr}</td><td>{$kontostand11_a}</td></tr>";
     echo "<tr><td>EINNAHMEN</td><td>{$e_summe_a}</td></tr>";
     echo "<tr><td>KOSTEN/EINNAHMEN</td><td>{$g_summe_a}</td></tr>";
     echo "<tr><td>MITTELVERWENDUNG</td><td>{$g_summe1_a}</td></tr>";
     echo "<tfoot><tr><th><b>SALDO ({$erg_text})</b></th><th><b>{$ergebnis_a}</b></th></tr></tfoot>";
     echo "</table>";
 }