示例#1
0
 function bk_nk_profil_berechnung_Alt_ok($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;
     for ($a = 0; $a < $anzahl_summen; $a++) {
         $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;
         $key_id = $summen_arr[$a]['KEY_ID'];
         $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 = $summe_konto / 100 * $anteil;
         $anteil_betrag_a = nummer_punkt2komma(abs($anteil_betrag));
         $bk_res[kontrolle][$a][$bk_k_id][SUMME] = $anteil_betrag;
         $hndl_betrag = $summen_arr[$a]['HNDL_BETRAG'];
         // wird nicht prozentual umgelegt, nur verteilt
         if ($hndl_betrag < 0) {
             $hndl_betrag = substr($hndl_betrag, 1);
         }
         $hndl_betrag_anteil = $hndl_betrag / 100 * $anteil;
         $bk_res[kontrolle][$a][$bk_k_id][HNDL] = $hndl_betrag_anteil;
         $bk_res[kontrolle][$a][$bk_k_id][KOS_TYP] = $kos_typ;
         $bk_res[kontrolle][$a][$bk_k_id][KOS_ID] = $kos_id;
         $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 == '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);
         }
         /* 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);
         }
         /* BK & Nk für eine Einheit */
         if ($kos_typ == 'Einheit') {
             $e = new einheit();
             $einheiten_arr = $e->get_einheit_as_array($kos_id);
         }
         /* BK & Nk für eine Einheit */
         if ($kos_typ == 'Mietvertrag') {
             $mv = new mietvertraege();
             $mv->get_mietvertrag_infos_aktuell($kos_id);
             $e = new einheit();
             $einheiten_arr = $e->get_einheit_as_array($mv->einheit_id);
         }
         $anzahl_einheiten = count($einheiten_arr);
         $beteiligung_gesamt = 0;
         for ($b = 0; $b < $anzahl_einheiten; $b++) {
             $einheit_id = $einheiten_arr[$b][EINHEIT_ID];
             $einheit_qm = $einheiten_arr[$b][EINHEIT_QM];
             $einheit_name = $einheiten_arr[$b][EINHEIT_KURZNAME];
             $leerstand_und_mvs = $this->mvs_und_leer_jahr($einheit_id, $jahr);
             $anzahl_einheiten_mvs = count($leerstand_und_mvs);
             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_e == 'Leerstand') {
                     $empfaenger = 'Leerstand';
                 } 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
                 $beteiligung = round($beteiligung_genau, 2);
                 // runden
                 /* Eigene Diff */
                 $diff = $beteiligung_genau - $beteiligung;
                 // eigene diff, die weiter gegeben wird
                 /* HNDL */
                 $beteiligung_hndl_genau = $this->beteiligung_berechnen($hndl_betrag_anteil, $von, $bis, $gesamt_qm, $einheit_qm) + $hndl_diff;
                 // genau + $diff
                 $beteiligung_hndl = round($beteiligung_hndl_genau, 2);
                 // runden
                 /* Eigene Diff */
                 $hndl_diff = $beteiligung_hndl_genau - $beteiligung_hndl;
                 // eigene diff, die weiter gegeben wird
                 $genkey_id = 'gesamt m²';
                 // echo "<b>$empfaenger $beteiligung_genau <> $beteiligung | $diff </b><br>";
                 $beteiligung_a = nummer_punkt2komma(abs($beteiligung));
                 // echo "$beteiligung_a<br>";
                 $beteiligung_hndl_a = nummer_punkt2komma(abs($beteiligung_hndl));
                 $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][] = array('KOSTENART' => "{$k->konto_bezeichnung}", 'G_KOS_BEZ' => "{$g_kos_bez}", 'G_HNDL' => "{$hndl_betrag_anteil}", 'BK_K_ID' => "{$bk_k_id}", 'G_BETRAG' => "{$summe_konto_a}", 'ANTEIL' => "{$anteil_a}", 'UMLAGE' => "{$anteil_betrag_a}", 'G_KEY' => "{$gesamt_qm} m²", 'QM' => "{$einheit_qm}", 'BET_G' => "{$beteiligung_a}", 'BET_HNDL' => "{$beteiligung_hndl_a}", 'GENKEY_ID' => "{$genkey_id}");
                 $bk_res[kontrolle][$a][$bk_k_id][KOSTENART] = $k->konto_bezeichnung;
                 $bk_res[kontrolle][$a][$bk_k_id][SUMME_K] += $beteiligung;
                 $bk_res[kontrolle][$a][$bk_k_id][HNDL_K] += $beteiligung_hndl;
                 // echo "<hr>";
             }
             // end for $c
         }
         // end for $b
         $diff = 0.0;
         // Anfangsdifferenz auf = 0, weil nächstes konto;
         $hndl_diff = 0.0;
     }
     // end for $a
     // echo '<pre>';
     // print_r($bk_res);
     // print_r($bk_res[kontrolle]);
     // print_r(array_keys($bk_res));
     // $this->ber_array_anzeigen($bk_res);
     return $bk_res;
 }
 function pdf_stamm_haus($pdf, $haus_id)
 {
     $h = new haus();
     $h->get_haus_info($haus_id);
     $anz_einheiten = count($h->liste_aller_einheiten_im_haus($haus_id));
     $pdf_tab[0]['BEZ'] = "Anzahl Einheiten";
     $pdf_tab[0]['TXT'] = $anz_einheiten;
     $pdf_tab[1]['BEZ'] = "Fläche aus Mietverträgen";
     $pdf_tab[1]['TXT'] = nummer_punkt2komma_t($h->get_qm_gesamt($haus_id)) . " m²";
     $d = new detail();
     $details_arr = $d->finde_alle_details_arr('Haus', $haus_id);
     $anz_details = count($details_arr);
     if ($anz_details) {
         // print_r($details_arr);
         $z = 3;
         for ($a = 0; $a < $anz_details; $a++) {
             $pdf_tab[$z]['BEZ'] = $details_arr[$a]['DETAIL_NAME'];
             $pdf_tab[$z]['TXT'] = ucfirst(ltrim(rtrim(strip_tags($details_arr[$a]['DETAIL_INHALT']))));
             $z++;
         }
         $cols = array('BEZ' => "Bezeichnung", 'TXT' => "");
         $pdf->ezSetDy(-10);
         // abstand
         $pdf->ezTable($pdf_tab, $cols, "Details vom Haus {$h->haus_strasse} {$h->haus_nummer}, {$h->haus_plz} {$h->haus_stadt}", array('showHeadings' => 0, 'shaded' => 1, 'titleFontSize' => 9, 'fontSize' => 8, 'xPos' => 50, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('BEZ' => array('justification' => 'left', 'width' => 140))));
         unset($pdf_tab);
     }
 }
 function leerstand_vom_objekt($objekt_id)
 {
     // objektnamen holen
     $this->get_objekt_name($objekt_id);
     $objekt_name = $this->objekt_name;
     // echo "OBJEKTNAME $objekt_name SANEL";
     // liste der häuser als array
     $haeuser_arr = $this->haeuser_objekt_in_arr($objekt_id);
     if (is_array($haeuser_arr)) {
         for ($a = 0; $a < count($haeuser_arr); $a++) {
             $haus_info = new haus();
             $einheiten_arr[] = $haus_info->liste_aller_einheiten_im_haus($haeuser_arr[$a]['HAUS_ID']);
         }
         // end for
     }
     // end if
     return $einheiten_arr;
 }