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(); } }
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(); }