示例#1
0
 function pdf_income_reports2015($pdf, $objekt_id, $jahr)
 {
     $oo = new objekt();
     $oo->get_objekt_infos($objekt_id);
     $datum_von = "{$jahr}-01-01";
     $datum_bis = "{$jahr}-12-31";
     $weg = new weg();
     $m_arr_jahr = $weg->monatsarray_erstellen($datum_von, $datum_bis);
     // echo '<pre>';
     // print_r($m_arr_jahr);
     // die();
     $gk = new geldkonto_info();
     $gk_arr = $gk->geldkonten_arr('OBJEKT', $objekt_id);
     $anz_gk = count($gk_arr);
     // ###
     // print_r($gk_arr);
     // die();
     // ####
     $d = new detail();
     /* Nutzenlastenwechsel */
     $nl_datum = $d->finde_detail_inhalt('Objekt', $objekt_id, 'Nutzen-Lastenwechsel');
     $nl_datum_arr = explode('.', $nl_datum);
     $nl_tag = $nl_datum_arr[0];
     $nl_monat = $nl_datum_arr[1];
     $nl_jahr = $nl_datum_arr[2];
     /* Verwaltungsübernahme */
     $vu_datum = $d->finde_detail_inhalt('Objekt', $objekt_id, 'Verwaltungsübernahme');
     $vu_datum_arr = explode('.', $vu_datum);
     $vu_tag = $vu_datum_arr[0];
     $vu_monat = $vu_datum_arr[1];
     $vu_jahr = $vu_datum_arr[2];
     // echo "$objekt_id $jahr";
     $ein_arr = $weg->einheiten_weg_tabelle_arr($objekt_id);
     $anz_e = count($ein_arr);
     // $cols = array('MONAT'=>MONAT,'NT'=>NT, 'IHR'=>IHR, 'HV'=>HV,'FIX'=>FIX, 'LEER'=>LEER, 'MV_NAME'=>MIETER, 'KM_S'=>KM_S, 'KM_SA'=>KMANT, 'M_ERG'=>ERG, 'M_ERGA'=>ERGA);
     $cols['MONAT'] = MONAT;
     // $cols['MONAT']=MONAT;
     // #$cols['NT']=NT;
     // $cols['IHR']=IHR;
     // $cols['HV']=HV;
     // $cols['FIX']=FIX;
     // $cols['LEER'] = LEER;
     // $cols['MV_NAME'] = MIETER;
     // $cols['KOS_BEZ']=KOS_BEZ;
     // $cols['WM_S'] = WM_S;
     // $cols['MWST'] = MWST;
     // $cols['NK'] = NK;
     // $cols['KM_S'] = KM_S;
     // $cols['KM_SA'] = KM_SA;
     // $cols['M_ERG'] = M_ERG;
     // $cols['TXT'] = TXT;
     /* schleife Einheiten */
     for ($e = 0; $e < $anz_e; $e++) {
         $einheit_id = $ein_arr[$e]['EINHEIT_ID'];
         $weg = new weg();
         $et_arr = $weg->get_eigentuemer_arr($einheit_id);
         // echo "$einheit_id ";
         $anz_et = count($et_arr);
         /* Schleife für ET */
         $sum_hv = 0;
         $sum_ihr = 0;
         $sum_fix = 0;
         $sum_km_ant = 0;
         $sum_wm_s = 0;
         $sum_nk = 0;
         $sum_mwst = 0;
         $sum_km_s = 0;
         $sum_konten = array();
         for ($et = 0; $et < $anz_et; $et++) {
             // print_r($et_arr);
             $et_id = $et_arr[$et]['ID'];
             $et_von_sql = $et_arr[$et]['VON'];
             $et_bis_sql = $et_arr[$et]['BIS'];
             // echo "$et_id<br>";
             $weg1 = new weg();
             $weg1->get_eigentumer_id_infos4($et_id);
             $weg->get_eigentumer_id_infos4($et_id);
             echo "<b>{$weg1->einheit_kurzname} {$weg1->empf_namen}</b><br>";
             /* Zeitarray ET */
             $vond = $jahr . '0101';
             $bisd = $jahr . '1231';
             $et_von = str_replace('-', '', $et_von_sql);
             if ($et_bis_sql != '0000-00-00') {
                 $et_bis = str_replace('-', '', $et_bis_sql);
             } else {
                 $et_bis = str_replace('-', '', "{$jahr}-12-31");
             }
             if ($et_von > $vond) {
                 $datum_von = $et_von_sql;
             }
             if ($et_bis < $bisd) {
                 $datum_bis = $et_bis_sql;
             }
             if ($et_bis < $vond) {
                 $datum_von = '0000-00-00';
                 $datum_bis = '0000-00-00';
             }
             // $m_arr= $weg->monatsarray_erstellen($weg_et->eigentuemer_von,$datum_bis);
             // echo "$datum_bis - $datum_bis";
             $m_arr = $weg->monatsarray_erstellen($datum_von, $datum_bis);
             $anz_mon_et = count($m_arr);
             $et_mon_arr = '';
             for ($me = 0; $me < $anz_mon_et; $me++) {
                 $et_mon_arr[] = $m_arr[$me]['monat'];
             }
             // print_r($et_mon_arr);
             // die();
             /* Datum zurücksetzen auf Jahresanfang bzw. Ganzjahr */
             $datum_von = "{$jahr}-01-01";
             $datum_bis = "{$jahr}-12-31";
             // print_r($m_arr);
             $anz_m = count($m_arr_jahr);
             /* Schlife Monate */
             $zeile = 0;
             for ($m = 0; $m < $anz_m; $m++) {
                 $monat = $m_arr_jahr[$m]['monat'];
                 $jahr = $m_arr_jahr[$m]['jahr'];
                 /* Wenn der ET vom Monat */
                 if (in_array($monat, $et_mon_arr)) {
                     $key = array_search($monat, $et_mon_arr);
                     $et_monat = $m_arr[$key]['monat'];
                     $et_jahr = $m_arr[$key]['jahr'];
                     $tage = $m_arr[$key]['tage_m'];
                     $n_tage = $m_arr[$key]['tage_n'];
                     $pdf_tab[$e][$et][$zeile]['NT'] = $n_tage;
                     if ($pdf_tab[$e][$et][$zeile - 1]['IHR'] == '---') {
                         $n_tage = $tage;
                     }
                     // ##########ANFANG FIXKOSTEN##########################
                     /* FIXKOSTEN */
                     /* Fixkosten Hausgeld oder Formel */
                     $hg = new weg();
                     $hg->get_wg_info($monat, $jahr, 'Einheit', $einheit_id, 'Hausgeld');
                     $hausgeld_soll = $hg->gruppe_erg / $tage * $n_tage;
                     /* Fixkosten nach Formel */
                     $hausgeld_soll_f = ($weg->einheit_qm_weg * 0.4 + 30) / $tage * $n_tage;
                     // echo "$hausgeld_soll $hausgeld_soll_f<hr>";
                     if ($hausgeld_soll_f > $hausgeld_soll) {
                         $pdf_tab[$e][$et][$zeile]['MONAT'] = "<b>" . monat2name($et_monat) . " {$et_jahr}</b>";
                         $hausgeld_soll = $hausgeld_soll_f;
                         $pdf_tab[$e][$et][$zeile]['IHR'] = nummer_punkt2komma($weg->einheit_qm_weg * -0.4 / $tage * $n_tage);
                         $sum_ihr += nummer_komma2punkt(nummer_punkt2komma($weg->einheit_qm_weg * -0.4 / $tage * $n_tage));
                         $pdf_tab[$e][$et][$zeile]['HV'] = nummer_punkt2komma(-30.0 / $tage * $n_tage);
                         $sum_hv += nummer_komma2punkt(nummer_punkt2komma(-30.0 / $tage * $n_tage));
                         $pdf_tab[$e][$et][$zeile]['FIX'] = nummer_komma2punkt(nummer_punkt2komma(($weg->einheit_qm_weg * -0.4 + -30) / $tage * $n_tage));
                         $sum_fix += nummer_komma2punkt(nummer_punkt2komma(($weg->einheit_qm_weg * -0.4 + -30) / $tage * $n_tage));
                     } else {
                         /* Wenn nicht der ET vom Monat */
                         $pdf_tab[$e][$et][$zeile]['MONAT'] = "<b>" . monat2name($et_monat) . " {$et_jahr}</b>";
                         $pdf_tab[$e][$et][$zeile]['IHR'] = '0.000';
                         $pdf_tab[$e][$et][$zeile]['HV'] = '0.000';
                         $pdf_tab[$e][$et][$zeile]['FIX'] = nummer_komma2punkt(nummer_punkt2komma($hausgeld_soll * -1 / $tage * $n_tage));
                         $sum_fix += nummer_komma2punkt(nummer_punkt2komma($hausgeld_soll * -1 / $tage * $n_tage));
                     }
                     // ##########ENDE FIXKOSTEN##########################
                     // ##########ANFANG LEERSTAND JA NEIN##########################
                     $mv_arr = array();
                     $ltm = letzter_tag_im_monat($et_monat, $et_jahr);
                     $mv_arr = $this->get_mv_et_zeitraum_arr($einheit_id, "{$et_jahr}-{$et_monat}-01", "{$et_jahr}-{$et_monat}-{$ltm}");
                     if (is_array($mv_arr)) {
                         // print_r($mv_arr);
                         // die();
                         $pdf_tab[$e][$et][$zeile]['LEER'] = 'N';
                         $anz_mv = count($mv_arr);
                         // #########MIETVERTRÄGE IM MONAT###########
                         for ($mva = 0; $mva < $anz_mv; $mva++) {
                             $mv_id = $mv_arr[$mva]['MIETVERTRAG_ID'];
                             $mvv = new mietvertraege();
                             $mvv->get_mietvertrag_infos_aktuell($mv_id);
                             $pdf_tab[$e][$et][$zeile]['MV_NAME'] = substr(bereinige_string($mvv->personen_name_string), 0, 30);
                             $mk = new mietkonto();
                             $mk->kaltmiete_monatlich($mv_id, $et_monat, $et_jahr);
                             $sum_ford_m_inkl_mwst = $mk->summe_forderung_monatlich($mv_id, $et_monat, $et_jahr);
                             $sum_for_arr = explode('|', $sum_ford_m_inkl_mwst);
                             if (count($sum_for_arr) > 1) {
                                 $wm = $sum_for_arr[0];
                                 $mwst = $sum_for_arr[1];
                             } else {
                                 $wm = $sum_ford_m_inkl_mwst;
                                 $mwst = '0.00';
                             }
                             // $mk->summe_forderung_monatlich($mv_id, $monat, $jahr)
                             $pdf_tab[$e][$et][$zeile]['WM_S'] = $wm;
                             $sum_wm_s += $wm;
                             $pdf_tab[$e][$et][$zeile]['MWST'] = $mwst;
                             $sum_mwst += $mwst;
                             $pdf_tab[$e][$et][$zeile]['NK'] = nummer_komma2punkt(nummer_punkt2komma($wm - nummer_komma2punkt(nummer_punkt2komma($mk->ausgangs_kaltmiete / $tage * $n_tage))));
                             $sum_nk += $pdf_tab[$e][$et][$zeile]['NK'];
                             $pdf_tab[$e][$et][$zeile]['KM_S'] = $mk->ausgangs_kaltmiete;
                             $sum_km_s += $pdf_tab[$e][$et][$zeile]['KM_S'];
                             $pdf_tab[$e][$et][$zeile]['KM_SA'] = nummer_komma2punkt(nummer_punkt2komma($mk->ausgangs_kaltmiete / $tage * $n_tage));
                             $sum_km_ant += $pdf_tab[$e][$et][$zeile]['KM_SA'];
                             /* Saldoberechnung wegen SALDO VV nicht möglich */
                             $mz = new miete();
                             // $mz->mietkonto_berechnung($mv_id);
                             $mz->mietkonto_berechnung_monatsgenau($mv_id, $et_jahr, $et_monat);
                             $pdf_tab[$e][$et][$zeile]['M_ERG'] = nummer_komma2punkt(nummer_punkt2komma($mz->erg));
                             $pdf_tab[$e][$et][$zeile]['M_ERGA'] = nummer_komma2punkt(nummer_punkt2komma($mz->erg / $tage * $n_tage));
                             // print_r($mz);
                             // die();
                             if ($anz_mv > 0) {
                                 $zeile++;
                             }
                         }
                     } else {
                         $pdf_tab[$e][$et][$zeile]['LEER'] = 'J';
                         $pdf_tab[$e][$et][$zeile]['MV_NAME'] = LEER;
                     }
                 } else {
                     // print_r($m_arr);
                     $pdf_tab[$e][$et][$zeile]['MONAT'] = "<b>" . monat2name($monat) . " {$jahr}</b>";
                     $pdf_tab[$e][$et][$zeile]['IHR'] = '---';
                     $pdf_tab[$e][$et][$zeile]['HV'] = '---';
                     $pdf_tab[$e][$et][$zeile]['FIX'] = '---';
                 }
                 if (in_array($monat, $et_mon_arr)) {
                     /* Schleife GELD-Konto */
                     for ($g = 0; $g < $anz_gk; $g++) {
                         $gk_id = $gk_arr[$g]['KONTO_ID'];
                         // echo "<b>GK: $gk_id<br></b>";
                         // $zeile++;
                         if (isset($buchungen)) {
                             unset($buchungen);
                         }
                         // if(isset($mv_id)){
                         if ($pdf_tab[$e][$et][$zeile]['LEER'] != 'J') {
                             $buchungen = $this->bebuchte_konten_brutto($gk_id, $einheit_id, $monat, $jahr, $et_id, $mv_id);
                         } else {
                             $buchungen = $this->bebuchte_konten_brutto($gk_id, $einheit_id, $monat, $jahr, $et_id);
                         }
                         if (is_array($buchungen)) {
                             $anz_bu = count($buchungen);
                             $gki1 = new geldkonto_info();
                             $gki1->geld_konto_details($gk_id);
                             for ($b = 0; $b < $anz_bu; $b++) {
                                 $bkonto = $buchungen[$b]['KONTENRAHMEN_KONTO'];
                                 if (!empty($bkonto)) {
                                     $b_konten_arr[] = $bkonto;
                                     $betrag = $buchungen[$b]['BETRAG'];
                                     $kos_typ = $buchungen[$b]['KOSTENTRAEGER_TYP'];
                                     $kos_id = $buchungen[$b]['KOSTENTRAEGER_ID'];
                                     $vzweck = $buchungen[$b]['VERWENDUNGSZWECK'];
                                     $datum = $buchungen[$b]['DATUM'];
                                     $pdf_tab[$e][$et][$zeile][$bkonto] = $betrag;
                                     $r = new rechnung();
                                     $kos_bez = $r->kostentraeger_ermitteln($kos_typ, $kos_id);
                                     $pdf_tab[$e][$et][$zeile]['KOS_BEZ'] = str_replace('<br>', '', $kos_bez);
                                     $pdf_tab[$e][$et][$zeile]['TXT'] = "<b>{$gki1->geldkonto_bez} | {$gki1->kredit_institut}</b> - " . $vzweck;
                                     $pdf_tab[$e][$et][$zeile]['MONAT'] = date_mysql2german($datum);
                                     $sum_konten[$bkonto] += $betrag;
                                     $cols[$bkonto] = $bkonto;
                                     $zeile++;
                                 }
                             }
                         }
                         // print_r($buchungen);
                     }
                     // end for GK
                 }
                 // die();
                 $zeile++;
             }
             // end for MONATE
             // die();
             /* Summe pro ET */
             $anz_z = count($pdf_tab[$e][$et]);
             $pdf_tab[$e][$et][$zeile + 1]['MONAT'] = 'SUMME';
             $pdf_tab[$e][$et][$zeile + 1]['IHR'] = nummer_komma2punkt(nummer_punkt2komma($sum_ihr));
             $pdf_tab[$e][$et][$zeile + 1]['HV'] = nummer_komma2punkt(nummer_punkt2komma($sum_hv));
             $pdf_tab[$e][$et][$zeile + 1]['FIX'] = nummer_komma2punkt(nummer_punkt2komma($sum_fix));
             $pdf_tab[$e][$et][$zeile + 1]['KM_S'] = nummer_komma2punkt(nummer_punkt2komma($sum_km_s));
             $pdf_tab[$e][$et][$zeile + 1]['KM_SA'] = nummer_komma2punkt(nummer_punkt2komma($sum_km_ant));
             $pdf_tab[$e][$et][$zeile + 1]['WM_S'] = nummer_komma2punkt(nummer_punkt2komma($sum_wm_s));
             $pdf_tab[$e][$et][$zeile + 1]['MWST'] = nummer_komma2punkt(nummer_punkt2komma($sum_mwst));
             $pdf_tab[$e][$et][$zeile + 1]['NK'] = nummer_komma2punkt(nummer_punkt2komma($sum_nk));
             $pdf_tab[$e][$et][$zeile + 1]['EINHEIT'] = $weg1->einheit_kurzname;
             $pdf_tab[$e][$et][$zeile + 1]['ET'] = $weg1->empf_namen;
             // $pdf_last[$et_id] = $pdf_tab[$e][$et][$zeile+1];
             $bb_keys = array_keys($sum_konten);
             for ($bb = 0; $bb < count($sum_konten); $bb++) {
                 $kto = $bb_keys[$bb];
                 $pdf_tab[$e][$et][$zeile + 1][$kto] = nummer_komma2punkt(nummer_punkt2komma($sum_konten[$kto]));
             }
             $sum_ihr = 0;
             $sum_hv = 0;
             $sum_fix = 0;
             $sum_km_ant = 0;
             $sum_km_s = 0;
             $sum_wm_s = 0;
             $sum_nk = 0;
             $sum_mwst = 0;
             // $sum_konten = array();
             $pdf->ezSetDy(10);
             // abstand
             $weg1->eigentuemer_von_d = date_mysql2german($weg1->eigentuemer_von);
             $weg1->eigentuemer_bis_d = date_mysql2german($weg1->eigentuemer_bis);
             $pdf->ezText("{$weg1->einheit_kurzname} Lage: {$weg1->einheit_lage}\n{$weg1->empf_namen}\nVON:{$weg1->eigentuemer_von_d} BIS:{$weg1->eigentuemer_bis_d}", 9);
             // $cols = array('MONAT'=>MONAT,'NT'=>NT, 'IHR'=>IHR, 'HV'=>HV,'FIX'=>FIX, 'LEER'=>LEER, 'MV_NAME'=>MIETER, 'KM_S'=>KM_S, 'KM_SA'=>KMANT, 'M_ERG'=>ERG, 'M_ERGA'=>ERGA);
             // if(in_array('80001', $cols)){
             $cols['FIX'] = FIX;
             $cols['NK'] = NK;
             // }
             if (in_array('5020', $cols)) {
                 $_5020_ok = true;
                 unset($cols['5020']);
                 // ob_clean();
                 // echo '<pre>';
                 // print_r($cols);
                 // die();
             }
             if ($_5020_ok == true) {
                 $cols['5020'] = 'Transfer';
             }
             $pdf->ezTable($pdf_tab[$e][$et], $cols, EINNAHMEN_REPORT . " {$jahr}  - {$weg->haus_strasse} {$weg->haus_nummer} in {$weg->haus_plz} {$weg->haus_stadt}", array('showHeadings' => 1, 'shaded' => 1, 'titleFontSize' => 8, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 650, 'cols' => array('TXT' => array('justification' => 'right'), 'IHR' => array('justification' => 'right'), 'HV' => array('justification' => 'right'))));
             /* Legende */
             if (is_array($sum_konten)) {
                 $gki = new geldkonto_info();
                 $gki->geld_konto_ermitteln('OBJEKT', $objekt_id);
                 if ($gki->geldkonto_id) {
                     $kr = new kontenrahmen();
                     $kr_id = $kr->get_kontenrahmen('GELDKONTO', $gki->geldkonto_id);
                     $string = '';
                     $bb_keys = array_keys($sum_konten);
                     for ($bb = 0; $bb < count($sum_konten); $bb++) {
                         $kto = $bb_keys[$bb];
                         $kr->konto_informationen2($kto, $kr_id);
                         $string .= "{$kto} - {$kr->konto_bezeichnung}\n";
                         unset($cols[$kto]);
                     }
                     $pdf->ezSetDy(-20);
                     // abstand
                     $pdf->ezText("<b>{$string}</b>", 9);
                 }
             }
             $pdf_last[$et_id] = $pdf_tab[$e][$et][$zeile + 1];
             $sum_konten = array();
             // $pdf->ezTable($pdf_tab[$e][$et]);
             $pdf->ezNewPage();
         }
         // end for ET
         // echo "<hr>";
         // print_r($pdf_tab[$e]);
         // die();
         // $pdf->ezTable($pdf_tab[$e]);
     }
     // end for Einheit
     // $pdf->ezTable($pdf_last);
     unset($cols['M_ERG']);
     unset($cols['TXT']);
     unset($cols['MV_NAME']);
     unset($cols['KOS_BEZ']);
     unset($cols['NT']);
     unset($cols['MONAT']);
     $cols['EINHEIT'] = EINHEIT;
     $cols['ET'] = ET;
     /* Legende */
     if (is_array($b_konten_arr)) {
         // echo '<pre>';
         // print_r($b_konten_arr);
         // die();
         $b_konten_arr1 = array_unique($b_konten_arr);
         // echo '<pre>';
         // print_r($b_konten_arr1);
         // die();
         $gki = new geldkonto_info();
         $gki->geld_konto_ermitteln('OBJEKT', $objekt_id);
         $string = '';
         if ($gki->geldkonto_id) {
             $kr = new kontenrahmen();
             $kr_id = $kr->get_kontenrahmen('GELDKONTO', $gki->geldkonto_id);
             // echo "KR: $kr_id | $gki->geldkonto_id";
             // die();
             $bb_keys = array_keys($b_konten_arr1);
             for ($bb = 0; $bb < count($b_konten_arr1); $bb++) {
                 $ktokey = $bb_keys[$bb];
                 $kto = $b_konten_arr1[$ktokey];
                 $cols[$kto] = $kto;
                 $kr->konto_informationen2($kto, $kr_id);
                 $string .= "<b>{$kto}</b> - {$kr->konto_bezeichnung}, ";
             }
             $anz_sumk = count($pdf_last);
             $sum_80001 = 0;
             $sum_5020 = 0;
             $id_keys = array_keys($pdf_last);
             for ($x = 0; $x < $anz_sumk; $x++) {
                 $key = $id_keys[$x];
                 $sum_80001 += $pdf_last[$key]['80001'];
                 $sum_5020 += $pdf_last[$key]['5020'];
             }
             $pdf_last[$anz_sumk + 1000]['ET'] = 'SUMME';
             $pdf_last[$anz_sumk + 1000]['80001'] = $sum_80001;
             $pdf_last[$anz_sumk + 1000]['5020'] = $sum_5020;
             // echo '<pre>';
             // print_r($pdf_last);
             // die();
             $pdf->ezTable($pdf_last, $cols, UEBERSICHT . " {$jahr}  - {$oo->objekt_kurzname}", array('showHeadings' => 1, 'shaded' => 1, 'titleFontSize' => 8, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 760));
             $pdf->ezSetDy(-20);
             // abstand
             $pdf->ezText("{$string}", 9);
         }
     }
     // print_r($pdf_tab);
 }
 function objekt_kopieren($objekt_id, $eigentuemer_id, $objekt_kurzname, $vorzeichen, $datum_u, $saldo_berechnen)
 {
     $this->objekt_speichern($objekt_kurzname, $eigentuemer_id);
     $n_objekt_id = $this->get_objekt_id($objekt_kurzname);
     if (!empty($n_objekt_id)) {
         echo "Objekt_id NEW {$n_objekt_id}";
         /* Details vom Objekt kopieren */
         $dd = new detail();
         $o_det_arr = $dd->finde_alle_details_arr('OBJEKT', $objekt_id);
         // print_r($o_det_arr);
         if (is_array($o_det_arr)) {
             $anz_det = count($o_det_arr);
             for ($de = 0; $de < $anz_det; $de++) {
                 $o_det_name = $o_det_arr[$de]['DETAIL_NAME'];
                 $o_det_inhalt = $o_det_arr[$de]['DETAIL_INHALT'];
                 $o_det_bemerkung = $o_det_arr[$de]['DETAIL_BEMERKUNG'];
                 $dd->detail_speichern_2('OBJEKT', $n_objekt_id, $o_det_name, $o_det_inhalt, $o_det_bemerkung);
             }
         }
         $h = new haus();
         $haus_arr = $this->haeuser_objekt_in_arr($objekt_id);
         if (!is_array($haus_arr)) {
             fehlermeldung_ausgeben("Keine Häuser im Objekt");
         } else {
             // print_r($haus_arr);
             // die();
             /* Alle Häuser durchlaufen und kopieren */
             $anz_h = count($haus_arr);
             for ($a = 0; $a < $anz_h; $a++) {
                 $haus_id = $haus_arr[$a]['HAUS_ID'];
                 $str = $haus_arr[$a]['HAUS_STRASSE'];
                 $nr = $haus_arr[$a]['HAUS_NUMMER'];
                 $ort = $haus_arr[$a]['HAUS_STADT'];
                 $plz = $haus_arr[$a]['HAUS_PLZ'];
                 $qm = $haus_arr[$a]['HAUS_QM'];
                 $h = new haus();
                 $n_haus_id = $h->haus_speichern($str, $nr, $ort, $plz, $qm, $n_objekt_id);
                 echo "{$str} {$nr} kopiert<br>";
                 /* Details vom Haus kopieren */
                 $dd = new detail();
                 $h_det_arr = $dd->finde_alle_details_arr('HAUS', $haus_id);
                 // print_r($h_det_arr);
                 if (is_array($h_det_arr)) {
                     $anz_det_h = count($h_det_arr);
                     for ($deh = 0; $deh < $anz_det_h; $deh++) {
                         $h_det_name = $h_det_arr[$deh]['DETAIL_NAME'];
                         $h_det_inhalt = $h_det_arr[$deh]['DETAIL_INHALT'];
                         $h_det_bemerkung = $h_det_arr[$deh]['DETAIL_BEMERKUNG'];
                         $dd->detail_speichern_2('HAUS', $n_haus_id, $h_det_name, $h_det_inhalt, $h_det_bemerkung);
                     }
                 }
                 $einheiten_arr = $h->liste_aller_einheiten_im_haus($haus_id);
                 if (is_array($einheiten_arr)) {
                     // print_r($einheiten_arr);
                     $anz_e = count($einheiten_arr);
                     for ($e = 0; $e < $anz_e; $e++) {
                         $einheit_id = $einheiten_arr[$e]['EINHEIT_ID'];
                         $einheit_qm = nummer_punkt2komma($einheiten_arr[$e]['EINHEIT_QM']);
                         $einheit_lage = $einheiten_arr[$e]['EINHEIT_LAGE'];
                         $einheit_kurzname = $einheiten_arr[$e]['EINHEIT_KURZNAME'];
                         $einheit_typ = $einheiten_arr[$e]['TYP'];
                         $ein = new einheit();
                         $einheit_kn_arr = explode('-', $einheit_kurzname);
                         // print_r($einheit_kn_arr);
                         $l_elem = count($einheit_kn_arr) - 1;
                         $n_einheit_kurzname = $vorzeichen . '-' . $einheit_kn_arr[$l_elem];
                         echo "{$einheit_kurzname} -> {$n_einheit_kurzname}<br>";
                         $n_einheit_id = $ein->einheit_speichern($n_einheit_kurzname, $einheit_lage, $einheit_qm, $n_haus_id, $einheit_typ);
                         /* Details von Einheiten kopieren */
                         $dd = new detail();
                         $e_det_arr = $dd->finde_alle_details_arr('EINHEIT', $einheit_id);
                         // print_r($e_det_arr);
                         if (is_array($e_det_arr)) {
                             $anz_det_e = count($e_det_arr);
                             for ($dee = 0; $dee < $anz_det_e; $dee++) {
                                 $e_det_name = $e_det_arr[$dee]['DETAIL_NAME'];
                                 $e_det_inhalt = $e_det_arr[$dee]['DETAIL_INHALT'];
                                 $e_det_bemerkung = $e_det_arr[$dee]['DETAIL_BEMERKUNG'];
                                 $dd->detail_speichern_2('EINHEIT', $n_einheit_id, $e_det_name, $e_det_inhalt, $e_det_bemerkung);
                             }
                         }
                         /* Eigentümer kopieren */
                         $weget = new weg();
                         $et_arr = $weget->get_eigentuemer_arr($einheit_id);
                         if (is_array($et_arr)) {
                             $anz_et = count($et_arr);
                             for ($eta = 0; $eta < $anz_et; $eta++) {
                                 $et_von = $et_arr[$eta]['VON'];
                                 $et_bis = $et_arr[$eta]['BIS'];
                                 $weg_et_id = $et_arr[$eta]['ID'];
                                 $neu_et_id = $weget->eigentuemer_neu($n_einheit_id, $et_von, $et_bis);
                                 /* Personen zu ET eintragen */
                                 $p_id_arr = $weget->get_person_id_eigentuemer_arr($weg_et_id);
                                 if (is_array($p_id_arr)) {
                                     $anz_p_et = count($p_id_arr);
                                     for ($pp = 0; $pp < $anz_p_et; $pp++) {
                                         $tmp_p_id = $p_id_arr[$pp]['PERSON_ID'];
                                         $weget->person_zu_et($neu_et_id, $tmp_p_id);
                                     }
                                 }
                                 /* Geldkonten finden und zuweisen */
                                 $gki = new geldkonto_info();
                                 $gk_arr = $gki->geldkonten_arr('Eigentuemer', $weg_et_id);
                                 if (is_array($gk_arr)) {
                                     $anz_gk = count($gk_arr);
                                     for ($gka = 0; $gka < $anz_gk; $gka++) {
                                         $tmp_gk_id = $gk_arr[$gka]['KONTO_ID'];
                                         /**
                                          * *Konto eintragen**
                                          */
                                         $gkk = new gk();
                                         $gkk->zuweisung_speichern('Eigentuemer', $neu_et_id, $tmp_gk_id);
                                     }
                                 }
                             }
                         }
                         /* Mietverträge */
                         $mv_arr = $ein->get_mietvertrag_ids($einheit_id);
                         if (is_array($mv_arr)) {
                             $anz_mv = count($mv_arr);
                             // print_r($mv_arr);
                             for ($m = 0; $m < $anz_mv; $m++) {
                                 $mv_id = $mv_arr[$m]['MIETVERTRAG_ID'];
                                 $mvs = new mietvertraege();
                                 $mvs->get_mietvertrag_infos_aktuell($mv_id);
                                 // print_r($mvs);
                                 $n_mv_id = $mvs->mietvertrag_speichern($mvs->mietvertrag_von_d, $mvs->mietvertrag_bis_d, $n_einheit_id);
                                 for ($pp = 0; $pp < $mvs->anzahl_personen; $pp++) {
                                     $person_id = $mvs->personen_ids[$pp]['PERSON_MIETVERTRAG_PERSON_ID'];
                                     $mvs->person_zu_mietvertrag($person_id, $n_mv_id);
                                 }
                                 /* Details von MV's kopieren */
                                 $dd = new detail();
                                 $mv_det_arr = $dd->finde_alle_details_arr('MIETVERTRAG', $mv_id);
                                 // print_r($e_det_arr);
                                 if (is_array($mv_det_arr)) {
                                     $anz_det_m = count($mv_det_arr);
                                     for ($dem = 0; $dem < $anz_det_m; $dem++) {
                                         $m_det_name = $mv_det_arr[$dem]['DETAIL_NAME'];
                                         $m_det_inhalt = $mv_det_arr[$dem]['DETAIL_INHALT'];
                                         $m_det_bemerkung = $mv_det_arr[$dem]['DETAIL_BEMERKUNG'];
                                         $dd->detail_speichern_2('MIETVERTRAG', $n_mv_id, $m_det_name, $m_det_inhalt, $m_det_bemerkung);
                                     }
                                 }
                                 /* Mietentwicklung kopieren */
                                 $mit = new mietentwicklung();
                                 $mit->get_mietentwicklung_infos($mv_id, '', '');
                                 // print_r($mit);
                                 if (is_array($mit->kostenkategorien)) {
                                     $anz_me = count($mit->kostenkategorien);
                                     for ($ko = 0; $ko < $anz_me; $ko++) {
                                         $kat = $mit->kostenkategorien[$ko]['KOSTENKATEGORIE'];
                                         $anfang = $mit->kostenkategorien[$ko]['ANFANG'];
                                         $ende = $mit->kostenkategorien[$ko]['ENDE'];
                                         $betrag = $mit->kostenkategorien[$ko]['BETRAG'];
                                         $mwst_anteil = $mit->kostenkategorien[$ko]['MWST_ANTEIL'];
                                         $mit->me_speichern('MIETVERTRAG', $n_mv_id, $kat, $anfang, $ende, $betrag, $mwst_anteil);
                                     }
                                     // end for $ko
                                 }
                                 /* Saldo zum $datum_u ermitteln und den neuen Saldovortragvorverwaltung eingeben */
                                 $datum_saldo_vv = date_german2mysql($datum_u);
                                 $datum_saldo_vv_arr = explode('.', $datum_u);
                                 $datum_jahr = $datum_saldo_vv_arr[2];
                                 $datum_monat = $datum_saldo_vv_arr[1];
                                 $mzz = new miete();
                                 if ($saldo_berechnen == 1) {
                                     $mzz->mietkonto_berechnung_monatsgenau($mv_id, $datum_jahr, $datum_monat);
                                     echo "MIT SALDO<br>";
                                     $mit->me_speichern('MIETVERTRAG', $n_mv_id, 'Saldo Vortrag Vorverwaltung', $datum_saldo_vv, $datum_saldo_vv, $mzz->erg, $mzz->erg / 119 * 19);
                                 } else {
                                     echo "OHNE SALDO<br>";
                                     $mit->me_speichern('MIETVERTRAG', $n_mv_id, 'Saldo Vortrag Vorverwaltung', $datum_saldo_vv, $datum_saldo_vv, '0.00', '0.00');
                                 }
                                 /* ME 0000-00-00 auf $datum_u setzen */
                             }
                             // end for alle MV'S
                         } else {
                             echo "Mv zu {$einheit_kurzname} nicht gefunden - Leerstand";
                         }
                         // die('ENDE');
                     }
                     // end for einheit
                 } else {
                     echo "Keine Einheiten kopiert";
                 }
             }
             // end for haus
         }
     } else {
         die('Objekt konnte nicht angelegt werden!');
     }
 }
 function form_vg_rechnungen($objekt_id, $partner_id)
 {
     $o = new objekt();
     $o->get_objekt_infos($objekt_id);
     echo $o->objekt_kurzname;
     echo $o->objekt_eigentuemer;
     $ein_arr = $o->einheiten_objekt_arr($objekt_id);
     // echo '<pre>';
     // print_r($ein_arr);
     $anz_e = count($ein_arr);
     for ($a = 0; $a < $anz_e; $a++) {
         $einheit_id = $ein_arr[$a]['EINHEIT_ID'];
         $einheit_typ = $ein_arr[$a]['TYP'];
         // echo $einheit_id;
         $weg = new weg();
         $et_arr = $weg->get_eigentuemer_arr($einheit_id);
         if (is_array($et_arr)) {
             $le_et = count($et_arr) - 1;
             $ein_arr[$a]['ET_ID'] = $et_arr[$le_et]['ID'];
             $ein_arr[$a]['R_EMPFAENGER_TYP'] = 'Eigentuemer';
             $empf_typen[] = 'Eigentuemer';
         } else {
             $ein_arr[$a]['ET_ID'] = $o->objekt_eigentuemer_id;
             $ein_arr[$a]['R_EMPFAENGER_TYP'] = 'Partner';
             $empf_typen[] = 'Partner';
         }
         $n_ein_arr[$einheit_typ][] = $ein_arr[$a];
     }
     // end for
     unset($ein_arr);
     // print_r(array_keys($n_ein_arr));
     // print_r($n_ein_arr);
     // print_r(array_keys($n_ein_arr));
     $empf_kat = array_unique($empf_typen);
     print_r($empf_kat);
     $anz_kat = count($empf_kat);
     $keys = array_keys($n_ein_arr);
     // print_r($keys);
     $anz_keys = count($keys);
     if (in_array('Eigentuemer', $empf_kat)) {
         for ($k = 0; $k < $anz_keys; $k++) {
             $key = $keys[$k];
             $f = new formular();
             $f->erstelle_formular("Rechnungen für {$key}", null);
             if ($key == 'Stellplatz' or $key == 'Keller') {
                 $f->text_feld('Bruttobetrag pro Einheit', 'brutto', '8,00', 10, 'brutto', null);
             } else {
                 $f->text_feld('Bruttobetrag pro Einheit', 'brutto', '14,99', 10, 'brutto', null);
             }
             $f->text_bereich('Kurztext (Einheit wird automatisch hinzugefügt', 'kurztext', 'Verwaltergebühr', 50, 2, 'kurztext');
             echo "<table class=\"sortable\">";
             echo "<tr><th>EINHEIT</th><th>EMPFÄNGER</th><th>BEZ</th></tr>";
             $anz_e = count($n_ein_arr[$key]);
             for ($a = 0; $a < $anz_e; $a++) {
                 $einheit_id = $n_ein_arr[$key][$a]['EINHEIT_ID'];
                 $et_id = $n_ein_arr[$key][$a]['ET_ID'];
                 $r_empf_typ = $n_ein_arr[$key][$a]['R_EMPFAENGER_TYP'];
                 $einheit_kn = $n_ein_arr[$key][$a]['EINHEIT_KURZNAME'];
                 $r = new rechnung();
                 $e_bez = $r->kostentraeger_ermitteln($r_empf_typ, $et_id);
                 echo "<tr><td>";
                 $f->check_box_js1('check[]', 'check', $a, $einheit_kn, '', 'checked');
                 echo "</td><td>{$r_empf_typ} {$et_id}</td><td>{$e_bez}</td></tr>";
                 $f->hidden_feld("EMPF_TYP[]", $n_ein_arr[$key][$a]['R_EMPFAENGER_TYP']);
                 $f->hidden_feld("EMPF_ID[]", $n_ein_arr[$key][$a]['ET_ID']);
                 $f->hidden_feld("EINHEITEN[]", $n_ein_arr[$key][$a]['EINHEIT_ID']);
             }
             // end for $a
             echo "</table>";
             $f->hidden_feld('typ', $key);
             $f->hidden_feld('option', 'rgg');
             $ko = new kontenrahmen();
             $ko->dropdown_kontorahmenkonten('Kostenkonto', 'kostenkonto', 'kostenkonto', 'Geldkonto', $_SESSION['geldkonto_id'], '');
             $f->check_box_js('sepa', '1', 'In SEPA-Überweisungen vorbereiten', '', 'checked');
             $f->send_button('btn_snd', "{$anz_e} Einzelrechnungen für {$key} erstellen");
             $f->ende_formular();
         }
         // end for $k
     } else {
         echo '<pre>';
         // print_r($empf_kat);
         // print_r($n_ein_arr);
         $f = new formular();
         $f->erstelle_formular("Gesamtrechnung", null);
         echo $o->objekt_kurzname;
         echo "<br>";
         echo $o->objekt_eigentuemer;
         $f->text_bereich('Kurztext', 'kurztext', 'Verwaltergebühr', 50, 2, 'kurztext');
         $f->hidden_feld('empf_typ', 'Partner');
         $f->hidden_feld('empf_id', $o->objekt_eigentuemer_id);
         for ($k = 0; $k < $anz_keys; $k++) {
             $key = $keys[$k];
             $anz_e = count($n_ein_arr[$key]);
             $f->hidden_feld('mengen[]', $anz_e);
             // echo "$key $anz_e<br>";
             $f->hidden_feld('typ[]', $key);
             if ($key == 'Stellplatz' or $key == 'Keller') {
                 $g = $anz_e * 8;
                 $f->text_feld("{$anz_e} x Bruttobetrag pro {$key} = {$g} EUR", 'brutto[]', '8,00', 10, 'brutto', null);
             } else {
                 $g = $anz_e * 14.99;
                 $f->text_feld("{$anz_e} x Bruttobetrag pro {$key} = {$g} EUR", 'brutto[]', '14,99', 10, 'brutto', null);
             }
         }
         $f->hidden_feld('option', 'rgg_ob');
         $ko = new kontenrahmen();
         $ko->dropdown_kontorahmenkonten('Kostenkonto', 'kostenkonto', 'kostenkonto', 'Geldkonto', $_SESSION['geldkonto_id'], '');
         $f->check_box_js('sepa', '1', 'Gesamtbetrag in SEPA-Überweisungen vorbereiten', '', 'checked');
         $f->send_button('btn_snd', "Gesamtrechnung erstellen");
         $f->ende_formular();
     }
 }
示例#4
0
 function pdf_et_liste_alle_kurz($objekt_id)
 {
     $o = new objekt();
     $o->objekt_informationen($objekt_id);
     $det1 = new detail();
     $objekt_mea = $det1->finde_detail_inhalt('Objekt', $objekt_id, 'Gesamtanteile');
     $ein_arr = $this->einheiten_weg_tabelle_arr($objekt_id);
     $anz_e = count($ein_arr);
     $zeile = 0;
     /* schleife Einheiten */
     for ($e = 0; $e < $anz_e; $e++) {
         $einheit_id = $ein_arr[$e]['EINHEIT_ID'];
         $det1 = new detail();
         $einheit_mea = $det1->finde_detail_inhalt('Einheit', $einheit_id, 'WEG-Anteile');
         $weg = new weg();
         $et_arr = $weg->get_eigentuemer_arr($einheit_id);
         $anz_et = count($et_arr);
         for ($et = 0; $et < $anz_et; $et++) {
             $et_id = $et_arr[$et]['ID'];
             $et_von = $et_arr[$et]['VON'];
             $et_bis = $et_arr[$et]['BIS'];
             $weg1 = new weg();
             $weg1->get_eigentumer_id_infos4($et_id);
             $pdf_tab[$zeile]['P_DETAILS'] = '';
             for ($p = 0; $p < $weg1->anz_personen; $p++) {
                 $det1 = new detail();
                 $person_id = $weg1->personen_id_arr1[$p]['PERSON_ID'];
                 $alle_details = $det1->finde_alle_details_arr('Person', $person_id);
                 $pers = new person();
                 $pers->get_person_infos($person_id);
                 $pdf_tab[$zeile]['P_DETAILS'] .= "<b>{$pers->person_vorname} {$pers->person_nachname}</b>\n";
                 $pdf_tab[$zeile]['P_DETAILS'] .= "<b>Geb. am:</b> {$pers->person_geburtstag}\n";
                 for ($dd = 0; $dd < count($alle_details); $dd++) {
                     $pdf_tab[$zeile]['P_DETAILS'] .= "<b>" . rtrim(ltrim(strip_tags($alle_details[$dd]['DETAIL_NAME']))) . ":</b> " . rtrim(ltrim(strip_tags($alle_details[$dd]['DETAIL_INHALT'])));
                     if ($dd < count($alle_details) - 1) {
                         $pdf_tab[$zeile]['P_DETAILS'] .= "\n";
                     }
                 }
                 if ($p < $weg1->anz_personen - 1) {
                     $pdf_tab[$zeile]['P_DETAILS'] .= "\n<b>++++++++++++++++++++++++++++++++++++++++++++++</b>\n";
                 }
             }
             unset($alle_details);
             $pdf_tab[$zeile]['EINHEIT_KN'] = $weg1->einheit_kurzname;
             $pdf_tab[$zeile]['ET_NAME'] = $weg1->empf_namen;
             $pdf_tab[$zeile]['VON'] = date_mysql2german($weg1->eigentuemer_von);
             $pdf_tab[$zeile]['BIS'] = date_mysql2german($weg1->eigentuemer_bis);
             $pdf_tab[$zeile]['EINHEIT_QM'] = $weg1->einheit_qm_weg_d;
             $pdf_tab[$zeile]['EINHEIT_L'] = $weg1->einheit_lage;
             $pdf_tab[$zeile]['MEA'] = $einheit_mea;
             $pdf_tab[$zeile]['HAUS'] = $weg1->haus_strasse;
             $pdf_tab[$zeile]['HAUSNR'] = $weg1->haus_nummer;
             $pdf_tab[$zeile]['PLZ'] = $weg1->haus_plz;
             $pdf_tab[$zeile]['ORT'] = $weg1->haus_stadt;
             $zeile++;
         }
         $einheit_mea = 0;
     }
     $pdf = new Cezpdf('a4', 'landscape');
     $bpdf = new b_pdf();
     $bpdf->b_header($pdf, 'Partner', $_SESSION['partner_id'], 'landscape', 'Helvetica.afm', 6);
     $pdf->ezSetDy(15);
     // abstand
     $pdf->ezText("Objektname: {$o->objekt_name}, Gesamtanteile: {$objekt_mea} MEA", 12);
     $pdf->ezSetDy(-10);
     // abstand
     $cols = array('EINHEIT_KN' => "EINHEIT", 'ET_NAME' => "EIGENTÜMER", 'P_DETAILS' => "DETAILS", 'VON' => "VON", 'BIS' => "BIS", 'EINHEIT_QM' => "m²", 'EINHEIT_L' => "LAGE", 'MEA' => "MEA", 'HAUS' => "Straße", 'HAUSNR' => "Hausnr.", 'PLZ' => "PLZ", 'ORT' => "Ort");
     $pdf->ezTable($pdf_tab, $cols, "{$o->objekt_name}", array('showHeadings' => 1, 'shaded' => 1, 'titleFontSize' => 8, 'fontSize' => 7, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 760, 'cols' => array('P_DETAILS' => array('justification' => 'left', 'width' => 200))));
     ob_clean();
     // ausgabepuffer leeren
     header("Content-type: application/pdf");
     // wird von MSIE ignoriert
     $pdf->ezStream();
 }