function erstelle_brief_vorlage($v_dat, $empf_typ, $empf_id_arr, $option = '0') { $anz_empf = count($empf_id_arr); if ($anz_empf > 0) { if ($empf_typ == 'Eigentuemer') { $pdf = new Cezpdf('a4', 'portrait'); $bpdf = new b_pdf(); $bpdf->b_header($pdf, 'Partner', $_SESSION['partner_id'], 'portrait', 'Helvetica', 6); $pdf->ezStopPageNumbers(); // seitennummerierung beenden $anz_eigentuemer = count($empf_id_arr); for ($index = 0; $index < $anz_eigentuemer; $index++) { $e_id = $empf_id_arr[$index]; $weg = new weg(); $weg->get_eigentumer_id_infos3($e_id); $monat = date("m"); $jahr = date("Y"); $this->hausgeld_monatlich_de = nummer_punkt2komma($weg->get_sume_hausgeld('Einheit', $weg->einheit_id, $monat, $jahr) * -1); $this->hausgeld_monatlich_en = $weg->get_sume_hausgeld('Einheit', $weg->einheit_id, $monat, $jahr) * -1; $dets = new detail(); $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Objekt', $weg->objekt_id); $bpdf->get_texte($v_dat); /* Faltlinie */ $pdf->setLineStyle(0.2); $pdf->line(5, 542, 20, 542); $pdf->ezText($weg->post_anschrift, 11); // ############################################################## $pdf->ezSetDy(-60); if (!isset($_REQUEST['druckdatum']) or empty($_REQUEST['druckdatum'])) { $datum_heute = date("d.m.Y"); } else { $datum_heute = $_REQUEST['druckdatum']; } $p = new partners(); $p->get_partner_info($_SESSION['partner_id']); $pdf->ezText("{$p->partner_ort}, {$datum_heute}", 10, array('justification' => 'right')); $pdf->ezText("<b>Objekt: {$weg->haus_strasse} {$weg->haus_nummer}, {$weg->haus_plz} {$weg->haus_stadt}</b>", 10); $pdf->ezText("<b>Einheit: {$weg->einheit_kurzname}</b>", 10); $pdf->ezText("<b>{$bpdf->v_kurztext}</b>", 10); $pdf->ezSetDy(-30); $pdf->ezText("{$weg->anrede_brief}", 10); eval("\$bpdf->v_text = \"{$bpdf->v_text}\";"); // Variable ausm Text füllen $pdf->ezText("{$bpdf->v_text}", 10, array('justification' => 'left')); /* NEue Seite */ if ($index < sizeof($empf_id_arr) - 1) { $pdf->ezNewPage(); } } ob_clean(); // ausgabepuffer leeren header("Content-type: application/pdf"); // wird von MSIE ignoriert $dateiname = "{$datum_heute} - Serie - {$bpdf->v_kurztext}.pdf"; $pdf_opt['Content-Disposition'] = $dateiname; $pdf->ezStream($pdf_opt); } // // /SERIENBRIEF AN PARTNER // if ($empf_typ == 'Partner') { $pdf = new Cezpdf('a4', 'portrait'); $bpdf = new b_pdf(); $bpdf->b_header($pdf, 'Partner', $_SESSION['partner_id'], 'portrait', 'Helvetica.afm', 6); $pdf->ezStopPageNumbers(); // seitennummerierung beenden $anz_eigentuemer = count($empf_id_arr); for ($index = 0; $index < $anz_eigentuemer; $index++) { $e_id = $empf_id_arr[$index]; $pp = new partners(); $pp->get_partner_info($e_id); $dets = new detail(); $bpdf->get_texte($v_dat); /* Faltlinie */ $pdf->setLineStyle(0.2); $pdf->line(5, 542, 20, 542); $pdf->ezText("{$pp->partner_name}\n{$pp->partner_strasse} {$pp->partner_hausnr}\n<b>{$pp->partner_plz} {$pp->partner_ort}</b>", 11); // ############################################################## $pdf->ezSetDy(-60); $datum_heute = date("d.m.Y"); $p = new partners(); $p->get_partner_info($_SESSION['partner_id']); $pdf->ezText("{$p->partner_ort}, {$datum_heute}", 10, array('justification' => 'right')); $pdf->ezText("<b>{$bpdf->v_kurztext}</b>", 10); $pdf->ezSetDy(-30); $pdf->ezText("Sehr geehrte Damen und Herren,\n", 10); eval("\$bpdf->v_text = \"{$bpdf->v_text}\";"); // Variable ausm Text füllen $pdf->ezText("{$bpdf->v_text}", 11, array('justification' => 'full')); /* NEue Seite */ if ($index < sizeof($empf_id_arr) - 1) { $pdf->ezNewPage(); } } ob_clean(); // ausgabepuffer leeren header("Content-type: application/pdf"); // wird von MSIE ignoriert $dateiname = "{$datum_heute} - Serie - {$bpdf->v_kurztext}.pdf"; $pdf_opt['Content-Disposition'] = $dateiname; $pdf->ezStream($pdf_opt); } } else { die('Keine Empfänger gewählt'); } }
function zahlbetraege_im_monat_arr($mietvertrag_id, $monat, $jahr, $kostenkonto = '80001') { if ($kostenkonto == '') { $ko_string = ''; } else { $ko_string = " && KONTENRAHMEN_KONTO='{$kostenkonto} '"; } $laenge = strlen($monat); if ($laenge == 1 && $monat < 10) { $monat = "0" . $monat; } $mv = new mietvertraege(); $mv->get_mietvertrag_infos_aktuell($mietvertrag_id); $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Objekt', $mv->objekt_id); if (!empty($gk->geldkonto_id)) { $result = mysql_query("SELECT DATUM, BETRAG, VERWENDUNGSZWECK AS BEMERKUNG FROM GELD_KONTO_BUCHUNGEN WHERE GELDKONTO_ID='{$gk->geldkonto_id}' {$ko_string} && KOSTENTRAEGER_TYP='Mietvertrag' && KOSTENTRAEGER_ID='{$mietvertrag_id}' && AKTUELL='1' && DATE_FORMAT( DATUM, '%Y-%m' ) = '{$jahr}-{$monat}' ORDER BY DATUM ASC"); } else { die('Kein Geldkonto für das Objekt hinterlegt'); $result = mysql_query("SELECT DATUM, BETRAG, VERWENDUNGSZWECK AS BEMERKUNG FROM GELD_KONTO_BUCHUNGEN && KOSTENTRAEGER_TYP='Mietvertrag' && KOSTENTRAEGER_ID='{$mietvertrag_id}' && AKTUELL='1' && DATE_FORMAT( DATUM, '%Y-%m' ) = '{$jahr}-{$monat}'"); } $numrows = mysql_numrows($result); if ($numrows > 0) { while ($row = mysql_fetch_assoc($result)) { $my_arr[] = $row; } return $my_arr; } else { return false; } unset($mv); }
function auszugtest3($et_id, $von = null, $bis = null, $saldo_et = '0.00') { $this->saldo_et = $saldo_et; $weg = new weg(); $einheit_id = $weg->get_einheit_id_from_eigentuemer($et_id); // $e = new einheit(); // $e->get_einheit_info($einheit_id); $weg_et = new weg(); $weg_et->get_eigentumer_id_infos4($et_id); // echo '<pre>'; // print_r($e); $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Objekt', $weg_et->objekt_id); /* OBJEKTDATEN */ /* Garantiemonate Objekt */ $d = new detail(); $garantie_mon_obj = $d->finde_detail_inhalt('Objekt', $weg_et->objekt_id, 'INS-Garantiemonate'); if (!$garantie_mon_obj) { $garantie_mon_obj = 0; } /* Garantiemonate Objekt */ $d = new detail(); $garantie_mon_et = $d->finde_detail_inhalt('Eigentuemer', $et_id, 'INS-ET-Garantiemonate'); if (!isset($garantie_mon_et)) { $garantie_mon_et = $garantie_mon_obj; } if ($garantie_mon_et == 0) { $garantie = 0; } if ($garantie_mon_et != 0) { $garantie = $garantie_mon_et; } /* ET DATEN */ if ($weg->eigentuemer_bis == '0000-00-00') { $weg->eigentuemer_bis = date("Y-m-d"); } if ($von == null) { $von = $weg->eigentuemer_von; } if ($bis == null) { $bis = $weg->eigentuemer_bis; } /* MIETVERTRAEGE ZEITRAUM ET */ $mv_arr = $this->get_mv_et_zeitraum_arr($einheit_id, $von, $bis); $anz_mv = count($mv_arr); if (is_array($mv_arr)) { // echo '<pre>'; // print_r($mv_arr); } else { echo "NO MV - NUR KOSTEN"; } $zeit_arr = $this->monats_array($von, $bis); // print_r($zeit_arr); // die(); /* Durchlauf alle Monate */ if (is_array($zeit_arr)) { $anz_m = count($zeit_arr); for ($m = 0; $m < $anz_m; $m++) { /* Garantiemonat */ if ($m < $garantie) { $zeit_arr[$m]['GAR_MON'] = 'JA'; } else { $zeit_arr[$m]['GAR_MON'] = 'NEIN'; } /* Saldo Vormonat */ $this->saldo_et_vm = $this->saldo_et; $zeit_arr[$m]['SALDO_VM'] = $this->saldo_et_vm; $monat = $zeit_arr[$m]['MONAT']; $jahr = $zeit_arr[$m]['JAHR']; $m_von = "{$jahr}-{$monat}-01"; $ltm = letzter_tag_im_monat($monat, $jahr); $m_bis = "{$jahr}-{$monat}-{$ltm}"; $zeit_arr[$m]['MIETER_M_SOLL'] = 0; $zeit_arr[$m]['MIETER_ERG_SUM'] = 0; $zeit_arr[$m]['SUM_MIETER_ZB'] = 0; $zeit_arr[$m]['SUM_MIETER_NK'] = 0; $zeit_arr[$m]['SUM_ET_BUCHUNGEN'] = 0; $zeit_arr[$m]['SUM_EINHEIT_BUCHUNGEN'] = 0; /* Mieteinnahmen */ for ($a = 0; $a < $anz_mv; $a++) { $mv_id = $mv_arr[$a]['MIETVERTRAG_ID']; $mv = new mietvertraege(); $mv->get_mietvertrag_infos_aktuell($mv_id); $mk = new mietkonto(); // $mk->kaltmiete_monatlich($mv_id,$monat,$jahr); $mk->kaltmiete_monatlich_ink_vz($mv_id, $monat, $jahr); $mz = new miete(); $m_arr = $mz->get_monats_ergebnis($mv_id, $monat, $jahr); $m_soll_arr = explode('|', $m_arr['soll']); if (isset($m_soll_arr[1])) { $m_arr['soll_wm'] = $m_soll_arr[0]; $m_arr['soll_mwst'] = $m_soll_arr[1]; } else { $m_arr['soll_wm'] = $m_arr['soll']; $m_arr['soll_mwst'] = '0.00'; } $nk = $m_arr['soll_wm'] * -1 - $mk->ausgangs_kaltmiete; $zeit_arr[$m]['MIETER'][$a]['MV_ID'] = $mv_id; $zeit_arr[$m]['MIETER'][$a]['M_NAME'] = $mv->personen_name_string; $zeit_arr[$m]['MIETER'][$a]['KM_SOLL'] = $mk->ausgangs_kaltmiete; $zeit_arr[$m]['MIETER'][$a]['NK_SOLL'] = $nk; $zeit_arr[$m]['MIETER'][$a]['WM_SOLL'] = $m_arr['soll_wm'] * -1; $zeit_arr[$m]['MIETER_M_SOLL'] += $m_arr['soll_wm'] * -1; $zeit_arr[$m]['MIETER'][$a]['MI_ERG'] = $m_arr['erg']; $zeit_arr[$m]['MIETER_ERG_SUM'] += $m_arr['erg']; $zeit_arr[$m]['MIETER'][$a]['MI_ZB'] = $m_arr['zb']; $zeit_arr[$m]['SUM_MIETER_ZB'] += $m_arr['zb']; $zeit_arr[$m]['SUM_MIETER_NK'] += $nk; } // ende MV*S /* Hausgeld Fixkosten */ $weg = new weg(); $kosten_arr = $weg->get_monatliche_def($monat, $jahr, 'Einheit', $einheit_id); $anz_buchungen = count($kosten_arr); $sum_fixkosten = 0; for ($k = 0; $k < $anz_buchungen; $k++) { // $txt = $kosten_arr[$k]['KOSTENKAT']; $betrag = $kosten_arr[$k]['SUMME'] * -1; // $auszahlen = $sum_auszahlen+$betrag; // $saldo_et += $betrag; // echo "$txt $betrag<br>"; // $zeit_arr[$m]['HAUSGELD'][$txt] = $betragx; // $this->saldo_et+=$betragx; // $zeit_arr[$m]['SALDO_MONAT'] = $this->saldo_et; $sum_fixkosten += $betrag; } if ($sum_fixkosten != 0) { $zeit_arr[$m]['FIXKOSTEN'] = nummer_komma2punkt(nummer_punkt2komma($sum_fixkosten)); } else { $zeit_arr[$m]['FIXKOSTEN'] = nummer_komma2punkt(nummer_punkt2komma($weg_et->einheit_qm_weg * 0.4 + 30)); } /* Abzufragende Konten */ $kokonten[] = '1023'; // Kosten zu Einheit $kokonten[] = '4180'; // Gewährte Minderungen $kokonten[] = '4280'; // Gerichtskosten $kokonten[] = '4281'; // Anwaltskosten MEA $kokonten[] = '4282'; // Gerichtsvollzieher $kokonten[] = '5010'; // Eigentümereinlagen $kokonten[] = '5020'; // ET Entnahmen $kokonten[] = '5021'; // Hausgeld $kokonten[] = '5400'; // Durch INS zu Erstatten $kokonten[] = '5500'; // INS Maklergebühr $kokonten[] = '5600'; // Mietaufhegungsvereinbarungen $kokonten[] = '6000'; // Hausgeldzahlungen $kokonten[] = '6010'; // Heizkosten $kokonten[] = '6020'; // Nebenkosten / Hausgeld $kokonten[] = '6030'; // IHR $kokonten[] = '6060'; // Verwaltergebühr /* Buchungen zu Einheit */ $kosten_arr = $this->get_kosten_von_bis('Einheit', $einheit_id, $m_von, $m_bis, $gk->geldkonto_id); // print_r($kosten_arr); if (is_array($kosten_arr)) { $anz_buchungen = count($kosten_arr); for ($k = 0; $k < $anz_buchungen - 1; $k++) { $datum = $kosten_arr[$k]['DATUM']; $txt = bereinige_string($kosten_arr[$k]['VERWENDUNGSZWECK']); $betrag = $kosten_arr[$k]['BETRAG']; $kkonto = $kosten_arr[$k]['KONTENRAHMEN_KONTO']; if (in_array($kkonto, $kokonten)) { $zeit_arr[$m]['EINHEIT'][$k]['DATUM'] = $datum; $zeit_arr[$m]['EINHEIT'][$k]['KTO'] = $kkonto; $zeit_arr[$m]['EINHEIT'][$k]['TXT'] = $txt; $zeit_arr[$m]['EINHEIT'][$k]['BETRAG'] = $betrag; $zeit_arr[$m]['SUM_EINHEIT_BUCHUNGEN'] += $betrag; } // $this->saldo_et+=$betrag; // $zeit_arr[$m]['SALDO_MONAT'] = $this->saldo_et; } } else { $zeit_arr[$m]['EINHEIT'] = array(); } /* Buchungen zum ET */ $kosten_arr = $this->get_kosten_von_bis('Eigentuemer', $et_id, $m_von, $m_bis, $gk->geldkonto_id); if (is_array($kosten_arr)) { $anz_buchungen = count($kosten_arr); for ($k = 0; $k < $anz_buchungen - 1; $k++) { $datum = $kosten_arr[$k]['DATUM']; $txt = bereinige_string($kosten_arr[$k]['VERWENDUNGSZWECK']); $betrag = $kosten_arr[$k]['BETRAG']; $kkonto = $kosten_arr[$k]['KONTENRAHMEN_KONTO']; if (in_array($kkonto, $kokonten)) { $zeit_arr[$m]['ET'][$k]['DATUM'] = $datum; $zeit_arr[$m]['ET'][$k]['KTO'] = $kkonto; $zeit_arr[$m]['ET'][$k]['TXT'] = $txt; $zeit_arr[$m]['ET'][$k]['BETRAG'] = $betrag; $zeit_arr[$m]['SUM_ET_BUCHUNGEN'] += $betrag; } // $this->saldo_et+=$betrag; // $zeit_arr[$m]['SALDO_MONAT'] = $this->saldo_et; } } $zeit_arr[$m]['SALDO_MONAT_ET1'] = $zeit_arr[$m]['SUM_MIETER_ZB'] - $zeit_arr[$m]['SUM_MIETER_NK'] - $zeit_arr[$m]['FIXKOSTEN'] + ($zeit_arr[$m]['SUM_EINHEIT_BUCHUNGEN'] + $zeit_arr[$m]['SUM_ET_BUCHUNGEN']); $zeit_arr[$m]['SALDO_MONAT_ET'] = $zeit_arr[$m]['SALDO_VM'] + ($zeit_arr[$m]['SUM_MIETER_ZB'] - $zeit_arr[$m]['SUM_MIETER_NK'] - $zeit_arr[$m]['FIXKOSTEN']) + ($zeit_arr[$m]['SUM_EINHEIT_BUCHUNGEN'] + $zeit_arr[$m]['SUM_ET_BUCHUNGEN']); $this->saldo_et = $zeit_arr[$m]['SALDO_MONAT_ET']; // $zeit_arr[$m]['SALDO_MONAT_MATH'] = $this->saldo_et; /* letzter Monat */ if ($m == $anz_m - 1 && $zeit_arr[$m]['MIETER_ERG_SUM'] > 0) { $zeit_arr[$m]['SALDO_MONAT_ET'] = $zeit_arr[$m]['SALDO_MONAT_ET'] - $zeit_arr[$m]['MIETER_ERG_SUM']; $this->saldo_et = $zeit_arr[$m]['SALDO_MONAT_ET']; } if ($m < $garantie && $this->saldo_et < 0) { $zeit_arr[$m]['SALDO_MONAT_INS'] = $this->saldo_et; } if ($m + 1 == $garantie) { $zeit_arr[$m]['SALDO_MONAT_ET'] = 0; $this->saldo_et = 0; } } // ende monat } else { die("Zeitraum falsch {$von} {$bis}"); } // echo '<pre>'; // print_r($zeit_arr); // die(); // echo "SANEL"; $this->ausgabe_saldo_et15($et_id, $zeit_arr); // die(); // return $zeit_arr; /* * $this->saldo_et_vm * $this->saldo_et */ }
$mengen_arr = $_POST['mengen']; $o = new objekt(); $o->get_objekt_infos($_SESSION['objekt_id']); $kurztext_neu = "{$kurztext}\n<b>Objektname: {$o->objekt_kurzname}</b>"; $r = new rechnung(); $letzte_belegnr = $r->letzte_beleg_nr() + 1; $jahr = date("Y"); $datum = date("Y-m-d"); $letzte_aussteller_rnr = $r->letzte_aussteller_ausgangs_nr($_SESSION['partner_id'], 'Partner', $jahr, 'Rechnung') + 1; $letzte_aussteller_rnr = sprintf('%03d', $letzte_aussteller_rnr); $r->rechnungs_kuerzel = $r->rechnungs_kuerzel_ermitteln('Partner', $_SESSION['partner_id'], $datum); $rechnungsnummer = $r->rechnungs_kuerzel . ' ' . $letzte_aussteller_rnr . '-' . $jahr; $letzte_empfaenger_rnr = $r->letzte_empfaenger_eingangs_nr($empf_id, $empf_typ, $jahr, 'Rechnung') + 1; $netto_betrag = 0.0; $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Partner', $_SESSION['partner_id']); $faellig_am = tage_plus($datum, 10); $db_abfrage = "INSERT INTO RECHNUNGEN VALUES (NULL, '{$letzte_belegnr}', '{$rechnungsnummer}', '{$letzte_aussteller_rnr}', '{$letzte_empfaenger_rnr}', 'Rechnung', '{$datum}','{$datum}', '{$netto_betrag}','0.00','0.00', 'Partner', '{$_SESSION['partner_id']}','{$empf_typ}', '{$empf_id}','1', '1', '0', '0', '0', '0', '0', '{$faellig_am}', '0000-00-00', '{$kurztext_neu}', '{$gk->geldkonto_id}')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN', $last_dat, '0'); $pos = 0; $g_sum = 0; for ($a = 0; $a < count($typ_arr); $a++) { $pos++; $brutto_bet = $brutto_arr[$a]; $netto_betrag = nummer_komma2punkt($brutto_bet) / 1.19; $typ_bez = $typ_arr[$a]; $menge = $mengen_arr[$a]; $g_sum += nummer_komma2punkt($brutto_bet) * $menge;
function rechnung_aus_beleg($p_id, $beleg_nr, $empf_p_id) { $r = new rechnung(); $r_org = new rechnung(); $r_org->rechnung_grunddaten_holen($beleg_nr); $letzte_belegnr = $r->letzte_beleg_nr() + 1; $jahr = date("Y"); $datum = date("Y-m-d"); $letzte_aussteller_rnr = $r->letzte_aussteller_ausgangs_nr($p_id, 'Partner', $jahr, 'Rechnung') + 1; $letzte_aussteller_rnr = sprintf('%03d', $letzte_aussteller_rnr); $r->rechnungs_kuerzel = $r->rechnungs_kuerzel_ermitteln('Partner', $p_id, $datum); $rechnungsnummer = $r->rechnungs_kuerzel . ' ' . $letzte_aussteller_rnr . '-' . $jahr; $letzte_empfaenger_rnr = $r->letzte_empfaenger_eingangs_nr($empf_p_id, 'Partner', $jahr, 'Rechnung') + 1; $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Partner', $p_id); $faellig_am = tage_plus($datum, 10); $db_abfrage = "INSERT INTO RECHNUNGEN VALUES (NULL, '{$letzte_belegnr}', '{$rechnungsnummer}', '{$letzte_aussteller_rnr}', '{$letzte_empfaenger_rnr}', 'Rechnung', '{$datum}','{$datum}', '0','0.00','0.00', 'Partner', '{$p_id}','Partner', '{$empf_p_id}','1', '1', '0', '0', '1', '0', '0', '{$faellig_am}', '0000-00-00', '{$r_org->kurzbeschreibung}', '{$gk->geldkonto_id}')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN', $last_dat, '0'); /* Posititonen */ $arr = $r->rechnungs_positionen_arr($beleg_nr); // echo '<pre>'; // print_r($arr); $anz_p = count($arr); for ($a = 0; $a < $anz_p; $a++) { $pos = $arr[$a]['POSITION']; $art_lieferant = $arr[$a]['ART_LIEFERANT']; $art_nr = $arr[$a]['ARTIKEL_NR']; $menge = $arr[$a]['MENGE']; $preis = $arr[$a]['PREIS']; $mwst = $arr[$a]['MWST_SATZ']; $rab = $arr[$a]['RABATT_SATZ']; $skonto = $arr[$a]['SKONTO']; $preis_g = $arr[$a]['GESAMT_NETTO']; $letzte_rech_pos_id = $r->get_last_rechnung_pos_id() + 1; $db_abfrage = "INSERT INTO RECHNUNGEN_POSITIONEN VALUES (NULL, '{$letzte_rech_pos_id}', '{$pos}', '{$letzte_belegnr}', '{$beleg_nr}','{$p_id}', '{$art_nr}', {$menge},'{$preis}','{$mwst}', '{$rab}','{$skonto}', '{$preis_g}','1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN_POSITIONEN', $last_dat, '0'); $r2 = new rechnungen(); $kont_arr = $r2->get_kontierung_arr($beleg_nr, $pos); $anz_k = count($kont_arr); if ($anz_k < 1) { fehlermeldung_ausgeben("Position {$pos} ist nicht kontiert"); } else { for ($p = 0; $p < $anz_k; $p++) { $k_menge = $kont_arr[$p]['MENGE']; $k_preis = $kont_arr[$p]['EINZEL_PREIS']; $k_preis_g = $kont_arr[$p]['GESAMT_SUMME']; $k_mwst = $kont_arr[$p]['MWST_SATZ']; $k_skonto = $kont_arr[$p]['SKONTO']; $k_rabatt = $kont_arr[$p]['RABATT_SATZ']; $k_konto = $kont_arr[$p]['KONTENRAHMEN_KONTO']; $k_kos_typ = $kont_arr[$p]['KOSTENTRAEGER_TYP']; $k_kos_id = $kont_arr[$p]['KOSTENTRAEGER_ID']; /* Kontieren */ $kontierung_id = $r->get_last_kontierung_id() + 1; $db_abfrage = "INSERT INTO KONTIERUNG_POSITIONEN VALUES (NULL, '{$kontierung_id}','{$letzte_belegnr}', '{$pos}','{$k_menge}', '{$k_preis}', '{$k_preis_g}', '{$k_mwst}', '{$k_skonto}', '{$k_rabatt}', '{$k_konto}', '{$k_kos_typ}', '{$k_kos_id}', '{$datum}', '{$jahr}', '0', '1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('KONTIERUNG_POSITIONEN', $last_dat, '0'); } // end for2 } // end if } // end for weiterleiten("?daten=rechnungen&option=erfasste_rechnungen"); }
function pdf_tabelle_mieterbelastung($kto, $mv_id, $pdf) { $mvs = new mietvertraege(); $mvs->get_mietvertrag_infos_aktuell($mv_id); $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Objekt', $mvs->objekt_id); if (!$gk->geldkonto_id) { // $db_abfrage = "SELECT * FROM `GELD_KONTO_BUCHUNGEN` WHERE `KONTENRAHMEN_KONTO` = '$kto' AND ((KOSTENTRAEGER_TYP='Einheit' && KOSTENTRAEGER_ID='$mvs->einheit_id') OR (KOSTENTRAEGER_TYP='Mietvertrag' && KOSTENTRAEGER_ID='$mv_id')) && `AKTUELL` = '1' ORDER BY `GELD_KONTO_BUCHUNGEN`.`GELD_KONTO_BUCHUNGEN_DAT` ASC"; } else { // $db_abfrage = "SELECT * FROM `GELD_KONTO_BUCHUNGEN` WHERE `KONTENRAHMEN_KONTO` = '$kto' GK_ID='$gk->geldkonto_id' AND ((KOSTENTRAEGER_TYP='Einheit' && KOSTENTRAEGER_ID='$mvs->einheit_id') OR (KOSTENTRAEGER_TYP='Mietvertrag' && KOSTENTRAEGER_ID='$mv_id')) && `AKTUELL` = '1' ORDER BY `GELD_KONTO_BUCHUNGEN`.`GELD_KONTO_BUCHUNGEN_DAT` ASC"; } $result = mysql_query($db_abfrage) or die(mysql_error()); $numrows = mysql_numrows($result); if ($numrows) { $zeile = 0; while ($row = mysql_fetch_assoc($result)) { $pdf_table[$zeile]['DATUM'] = $row['DATUM']; $pdf_table[$zeile]['KTO'] = $row['KONTENRAHMEN_KONTO']; $pdf_table[$zeile]['TXT'] = $row['VERWENDUNGSZWECK']; $pdf_table[$zeile]['BETRAG'] = nummer_punkt2komma_t($row['BETRAG']); $pdf_table[$zeile]['KOS_TYP'] = $row['KOSTENTRAEGER_TYP']; $pdf_table[$zeile]['KOS_ID'] = $row['KOSTENTRAEGER_ID']; $r = new rechnung(); $kos_bez = $r->kostentraeger_ermitteln($row['KOSTENTRAEGER_TYP'], $row['KOSTENTRAEGER_ID']); $pdf_table[$zeile]['KOS_BEZ'] = $kos_bez; $zeile++; } $pdf->ezNewPage(); $cols = array('DATUM' => "Datum", 'TXT' => "Buchungstext", 'BETRAG' => "Betrag", 'KOS_BEZ' => 'ZUWEISUNG', 'KOS_TYP' => 'TYP'); $pdf->ezTable($pdf_table, $cols, "Mieterbelastung", array('showHeadings' => 1, 'shaded' => 0, 'titleFontSize' => 8, 'fontSize' => 7, 'xPos' => 50, 'xOrientation' => 'right', 'width' => 500, 'rowGap' => 1, 'cols' => array('DATUM' => array('justification' => 'right', 'width' => 50), 'BEMERKUNG' => array('justification' => 'left', 'width' => 300), 'BETRAG' => array('justification' => 'right', 'width' => 75), 'SALDO' => array('justification' => 'right', 'width' => 75)))); // print_r($pdf_table); } }
function get_haus_info($haus_id) { $result = mysql_query("SELECT * FROM HAUS WHERE HAUS_AKTUELL='1' && HAUS_ID='{$haus_id}' ORDER BY HAUS_DAT DESC LIMIT 0,1"); $row = mysql_fetch_assoc($result); // print_r($row); $this->objekt_id = $row['OBJEKT_ID']; $gg = new geldkonto_info(); $gg->geld_konto_ermitteln('OBJEKT', $this->objekt_id); $this->get_objekt_name($this->objekt_id); $this->haus_strasse = $row['HAUS_STRASSE']; $this->haus_nummer = $row['HAUS_NUMMER']; $this->haus_plz = $row['HAUS_PLZ']; $this->haus_stadt = $row['HAUS_STADT']; $this->haus_qm = $row['HAUS_QM']; }
function erstelle_brief_vorlage($v_dat, $empf_typ, $empf_id_arr, $option = '0') { if (file_exists('classes/class_bpdf.php')) { include_once 'classes/class_bpdf.php'; } $anz_empf = count($empf_id_arr); if ($anz_empf > 0) { $pdf = new Cezpdf('a4', 'portrait'); $bpdf = new b_pdf(); $bpdf->b_header($pdf, 'Partner', $_SESSION['partner_id'], 'portrait', 'Helvetica.afm', 6); $pdf->ezStopPageNumbers(); // seitennummerierung beenden for ($index = 0; $index < sizeof($empf_id_arr); $index++) { $mv_id = $empf_id_arr[$index]; $mv = new mietvertraege(); unset($mv->postanschrift); $mv->get_mietvertrag_infos_aktuell($mv_id); $jahr = date("Y"); $monat = date("m"); $mkk = new mietkonto(); $this->aktuelle_g_miete = 0.0; $this->aktuelle_g_miete_arr = explode('|', $mkk->summe_forderung_monatlich($mv_id, $monat, $jahr)); $this->aktuelle_g_miete = nummer_punkt2komma($this->aktuelle_g_miete_arr[0]); $dets = new detail(); $mv_sepa = new sepa(); // SEPA LS Infos auf leer stellen // Infos nur von LS-teilnehmern if ($dets->finde_detail_inhalt('MIETVERTRAG', $mv_id, 'Einzugsermächtigung') == 'JA') { $mv->ls_konto = $dets->finde_detail_inhalt('MIETVERTRAG', $mv_id, 'Kontonummer-AutoEinzug'); $mv->ls_blz = $dets->finde_detail_inhalt('MIETVERTRAG', $mv_id, 'BLZ-AutoEinzug'); $mv_sepa->get_iban_bic($mv->ls_konto, $mv->ls_blz); } $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Objekt', $mv->objekt_id); $o = new objekt(); $o->get_objekt_infos($mv->objekt_id); /* SEPA ERMITLUNG */ $sepa = new sepa(); $sepa->get_iban_bic($gk->kontonummer, $gk->blz); $dets = new detail(); if (isset($sepa->GLAEUBIGER_ID)) { unset($sepa->GLAEUBIGER_ID); } $sepa->GLAEUBIGER_ID = $dets->finde_detail_inhalt('GELD_KONTEN', $gk->geldkonto_id, 'GLAEUBIGER_ID'); if (!isset($sepa->GLAEUBIGER_ID)) { die("Bei {$gk->kontonummer} {$mv->objekt_kurzname} fehlt die Gläubiger ID"); } $this->get_texte($v_dat); // ############################################################## /* Normale Mieter ohne Verzug und Zustell */ $add = 0; $pa_arr = array(); if (count($mv->postanschrift) < 1) { $pa_arr[$add]['anschrift'] = "{$mv->personen_name_string_u}\n{$mv->haus_strasse} {$mv->haus_nr}\n<b>{$mv->haus_plz} {$mv->haus_stadt}</b>"; $pa_arr[$add]['mv_id'] = $mv_id; $add++; } /* Mieter mit Verzug oder Zustell */ if (count($mv->postanschrift) == 1) { $key_arr = array_keys($mv->postanschrift); $key = $key_arr[0]; $pa = $mv->postanschrift[$key]['adresse']; $pa_arr[$add]['anschrift'] = $pa; $pa_arr[$add]['mv_id'] = $mv_id; $add++; } if (count($mv->postanschrift) > 1) { $anz_ad = count($mv->postanschrift); for ($pp = 0; $pp < $anz_ad; $pp++) { $pa_arr[$add]['anschrift'] = $mv->postanschrift[$pp]['adresse']; $pa_arr[$add]['mv_id'] = $mv_id; $add++; } } $anz_ppa = count($pa_arr); for ($br = 0; $br < $anz_ppa; $br++) { /* Kopf */ $pdf_einzeln = new Cezpdf('a4', 'portrait'); $bpdf->b_header($pdf_einzeln, 'Partner', $_SESSION['partner_id'], 'portrait', 'Helvetica.afm', 6); $pdf_einzeln->ezStopPageNumbers(); // seitennummerirung beenden /* Faltlinie */ $pdf->setLineStyle(0.2); $pdf_einzeln->setLineStyle(0.2); $pdf->line(5, 542, 20, 542); $pdf_einzeln->line(5, 542, 20, 542); if (count($mv->postanschrift) < 1) { // $pdf->addText(260,590,6,"$mv->einheit_lage",0); // $pdf_einzeln->addText(260,590,6,$mv->einheit_lage,0); // $pdf->ezText("$mv->einheit_lage",9); // $pdf_einzeln->ezText("$mv->einheit_lage",9); } $pa_1 = $pa_arr[$br]['anschrift']; $mv_id_1 = $pa_arr[$br]['mv_id']; $mv->get_mietvertrag_infos_aktuell($mv_id_1); $pdf->addText(250, $pdf->y, 6, "{$mv->einheit_lage}", 0); $pdf_einzeln->addText(250, $pdf->y, 6, $mv->einheit_lage, 0); $pdf->ezText("{$pa_1}", 10); $pdf_einzeln->ezText("{$pa_1}", 10); // ############################################################## $pdf->ezSetDy(-80); $pdf_einzeln->ezSetDy(-80); if (!isset($_REQUEST['datum'])) { $datum_heute = date("d.m.Y"); } else { $datum_heute = $_REQUEST['datum']; } $p = new partners(); $p->get_partner_info($_SESSION['partner_id']); $pdf->ezText("{$p->partner_ort}, {$datum_heute}", 9, array('justification' => 'right')); $pdf->ezText("<b>Objekt: {$mv->haus_strasse} {$mv->haus_nr}, {$mv->haus_plz} {$mv->haus_stadt}</b>", 9); if (!isset($mv->postanschrift)) { $pdf->ezText("<b>Einheit: {$mv->einheit_kurzname}</b>", 9); } else { $pdf->ezText("<b>Einheit: {$mv->einheit_kurzname} (Mieter: {$mv->personen_name_string})</b>", 9); } $pdf->ezText("<b>{$this->v_kurztext}</b>", 9); $pdf->ezSetDy(-30); $pdf->ezText("{$mv->mv_anrede}", 9); eval("\$this->v_text = \"{$this->v_text}\";"); // Variable ausm Text füllen $pdf->ezText("{$this->v_text}", 9); $pdf_einzeln->ezText("{$p->partner_ort}, {$datum_heute}", 11, array('justification' => 'right')); $pdf_einzeln->ezText("<b>Objekt: {$mv->haus_strasse} {$mv->haus_nr}, {$mv->haus_plz} {$mv->haus_stadt}</b>", 12); $pdf_einzeln->ezText("<b>Einheit: {$mv->einheit_kurzname}</b>", 11); $pdf_einzeln->ezText("<b>{$this->v_kurztext}</b>", 11); $pdf_einzeln->ezSetDy(-30); $pdf_einzeln->ezText("{$mv->mv_anrede}", 11); $txt_alt = $this->v_text; $pdf_einzeln->ezText("{$this->v_text}", 11, array('justification' => 'full')); $this->pdf_speichern("SERIENBRIEFE/{$_SESSION['username']}", "{$mv->einheit_kurzname} - {$this->v_kurztext} vom {$datum_heute}" . '.pdf', $pdf_einzeln->output()); if ($index < sizeof($empf_id_arr) - 1) { $pdf->ezNewPage(); $pdf_einzeln->ezNewPage(); } } } if (isset($_REQUEST['emailsend'])) { /* erste packen und gz erstellen */ $dir = 'SERIENBRIEFE'; $tar_dir_name = "{$dir}/{$_SESSION['username']}"; if (!file_exists($tar_dir_name)) { mkdir($tar_dir_name, 0777); } $tar_file_name = "Serienbrief - {$mv->einheit_kurzname} - {$this->v_kurztext} vom {$datum_heute}.tar.gz"; exec("cd {$tar_dir_name} && tar cfvz '{$tar_file_name}' *.pdf"); exec("rm {$tar_dir_name}/*.pdf"); /* das Raus */ ob_clean(); // ausgabepuffer leeren $file = "{$tar_dir_name}/Serienbrief - {$mv->einheit_kurzname} - {$this->v_kurztext} vom {$datum_heute}.tar.gz"; if (file_exists($file)) { header('Content-Disposition: attachment; filename="' . basename($file) . '"'); readfile($file); exec("rm '{$tar_dir_name}/{$tar_file_name}'"); exit; } } else { // emalsend /* Kein Emailversand angefordert, nur ansehen */ /* Ausgabe */ ob_clean(); // ausgabepuffer leeren header("Content-type: application/pdf"); // wird von MSIE ignoriert // $pdf->ezStream(); $dateiname = "\"{$datum_heute} - Serie - {$this->v_kurztext}.pdf\""; $pdf_opt['Content-Disposition'] = $dateiname; $pdf->ezStream($pdf_opt); } } else { die('Keine Empfänger gewählt'); } }
function zettel2beleg($zettel_id) { $this->stundenzettel_grunddaten($zettel_id); /* * $this->st_benutzer_id = $row['BENUTZER_ID']; * $this->beschreibung = $row['BESCHREIBUNG']; * $this->erf_datum_mysql = $row['ERFASSUNGSDATUM']; * $this->erf_datum = date_mysql2german($row['ERFASSUNGSDATUM']); * $this->st_benutzername = $row['benutzername']; * $this->stundensatz = $row['STUNDENSATZ']; */ $bp_partner_id = $this->get_partner_id_benutzer($this->st_benutzer_id); $r = new rechnung(); $clean_arr[RECHNUNG_EMPFAENGER_TYP] = 'Partner'; $clean_arr[RECHNUNG_EMPFAENGER_ID] = $bp_partner_id; $clean_arr[RECHNUNG_AUSSTELLER_TYP] = 'Partner'; $clean_arr[RECHNUNG_AUSSTELLER_ID] = $bp_partner_id; $clean_arr[RECHNUNGSDATUM] = date("d.m.Y"); $clean_arr[RECHNUNG_FAELLIG_AM] = date("d.m.Y"); $clean_arr[kurzbeschreibung] = "Beleg vom Stundennachweis {$zettel_id} {$this->beschreibung} {$this->st_benutzername}"; $g_zeit_zettel = $this->gzeit_zettel($zettel_id); $g_stunden = $g_zeit_zettel / 60; $netto_betrag = $this->stundensatz * $g_stunden; $clean_arr[nettobetrag] = $netto_betrag; $brutto_betrag = $netto_betrag / 100 * 119; $clean_arr[bruttobetrag] = $brutto_betrag; $clean_arr[skonto] = '0'; $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Partner', $bp_partner_id); $clean_arr[EMPFANGS_GELD_KONTO] = $gk->geldkonto_id; $l_erf_nr = $r->auto_rechnung_speichern($clean_arr); /* Beleg vom Arbeitgeber an Arbeitgebern gespeichert, nur Grunddaten */ // echo "<b>LBLG $l_erf_nr</b>"; $leistungen_arr = $this->stundenzettelleistungen_in_arr($zettel_id); $anzahl_leistungen = count($leistungen_arr); for ($a = 0; $a < $anzahl_leistungen; $a++) { $leistung_id = $leistungen_arr[$a][LEISTUNG_ID]; $dauer_min = $leistungen_arr[$a][DAUER_MIN]; $menge = $dauer_min / 60; $kostentraeger_typ = $leistungen_arr[$a][KOSTENTRAEGER_TYP]; $kostentraeger_id = $leistungen_arr[$a][KOSTENTRAEGER_ID]; $preis = $this->stundensatz; $artikel_nr = 'L-' . $this->st_benutzer_id . '-' . $leistung_id; $mwst = 19; $rabatt = '0'; $this->position_speichern($l_erf_nr, $bp_partner_id, $artikel_nr, $menge, $preis, $mwst, $rabatt); $st_dat = $leistungen_arr[$a][ST_DAT]; $this->zettel_pos_in_rg($st_dat, $l_erf_nr); } }
function hga_uebersicht_pdf(Cezpdf $pdf, $eigentuemer_id) { $e_konto = 6050; // echo "funkt $eigentuemer_id"; $this->get_eigentumer_id_infos($eigentuemer_id); if (isset($_REQUEST['jahr']) && !empty($_REQUEST['jahr'])) { $jahr = $_REQUEST['jahr']; $akt_jahr = date("Y"); } else { $jahr = $akt_jahr = date("Y"); } $gg = new geldkonto_info(); $gg->geld_konto_ermitteln('Objekt', $this->objekt_id); $geldkonto_id = $gg->geldkonto_id; $eigentuemer_ids = $this->get_eigentuemer_arr($this->einheit_id); $g_soll = 0; $g_ist = 0; $anz = count($eigentuemer_ids); for ($a = 0; $a < $anz; $a++) { $g_ist += $this->get_ergebnis_hga_ist($eigentuemer_ids[$a]['ID'], $jahr, $geldkonto_id, $e_konto); } $ergebnisse_hga = $this->get_ergebnisse_hga_soll($this->einheit_id, $jahr, $e_konto); $anz = count($ergebnisse_hga); for ($a = 0; $a < $anz; $a++) { $g_soll += $ergebnisse_hga[$a]['SOLL']; $ergebnisse_hga[$a]['SOLL'] = nummer_punkt2komma($ergebnisse_hga[$a]['SOLL']); } $g_saldo = $g_ist - $g_soll; if ($a > 0) { $ergebnisse_hga[0]['IST'] = nummer_punkt2komma($g_ist); $ergebnisse_hga[0]['SALDO'] = nummer_punkt2komma($g_saldo); } $ergebnisse_hga[$a + 1]['HGA'] = '<b>Summen</b>'; $ergebnisse_hga[$a + 1]['SOLL'] = '<b>' . nummer_punkt2komma($g_soll) . '</b>'; $ergebnisse_hga[$a + 1]['IST'] = '<b>' . nummer_punkt2komma($g_ist) . '</b>'; $ergebnisse_hga[$a + 1]['SALDO'] = '<b>' . nummer_punkt2komma($g_saldo) . '</b>'; // print_r($soll_ist_arr); $cols = array('HGA' => "<b>HGA</b>", 'SOLL' => "<b>SOLL (- ist Guthaben)</b>", 'IST' => "<b>IST</b>", 'SALDO' => "<b>SALDO</b>"); $page = $pdf->ezGetCurrentPageNumber(); $pdf->transaction('start'); $pdf->ezSetDy(-10); $pdf->ezText("ERGEBNISSE HAUSGELDABRECHNUNGEN", 11, array('justification' => 'full')); $pdf->ezSetDy(-5); $pdf->ezTable($ergebnisse_hga, $cols, "", array('showHeadings' => 1, 'shaded' => 0, 'titleFontSize' => 11, 'titleJustification' => 'left', 'fontSize' => 7, 'xPos' => 50, 'xOrientation' => 'right', 'width' => 500, 'rowGap' => 1, 'cols' => array('DATUM' => array('justification' => 'right', 'width' => 70), 'BEMERKUNG' => array('justification' => 'left', 'width' => 300), 'BETRAG' => array('justification' => 'right', 'width' => 75), 'SALDO' => array('justification' => 'right', 'width' => 75)))); if ($pdf->ezGetCurrentPageNumber() > $page) { $pdf->transaction('abort'); $pdf->ezNewPage(); $pdf->ezText("ERGEBNISSE HAUSGELDABRECHNUNGEN", 11, array('justification' => 'full')); $pdf->ezSetDy(-5); $pdf->ezTable($ergebnisse_hga, $cols, "", array('showHeadings' => 1, 'shaded' => 0, 'titleFontSize' => 11, 'titleJustification' => 'left', 'fontSize' => 7, 'xPos' => 50, 'xOrientation' => 'right', 'width' => 500, 'rowGap' => 1, 'cols' => array('DATUM' => array('justification' => 'right', 'width' => 70), 'BEMERKUNG' => array('justification' => 'left', 'width' => 300), 'BETRAG' => array('justification' => 'right', 'width' => 75), 'SALDO' => array('justification' => 'right', 'width' => 75)))); } else { $pdf->transaction('commit'); } return $pdf; }
$geldkonto_id = $_POST['geld_konto']; $ma = new mahnungen(); $ma->zahlungserinnerung_pdf($mv_id, $fristdatum, $geldkonto_id); } break; case "mahnung": if (!empty($_REQUEST['mietvertrag_id']) && empty($_REQUEST['submit'])) { $mv_id = $_REQUEST['mietvertrag_id']; $f = new formular(); $f->erstelle_formular("Mahnung für Mietvertrag {$mv_id}", ''); $datum_feld = 'document.getElementById("datum_zahlungsfrist").value'; $js_datum = "onchange='check_datum({$datum_feld})'"; $f->text_feld('Datum Zahlungsfrist', 'datum_zahlungsfrist', '', '10', 'datum_zahlungsfrist', $js_datum); $f->text_feld('Mahngebühr', 'mahngebuehr', '', '10', 'mahngebuehr', ''); $g = new geldkonto_info(); $g->geld_konto_ermitteln('Mietvertrag', $mv_id); $f->send_button("submit", "Schreiben erstellen"); $ma = new mahnungen(); $f->ende_formular(); } if (!empty($_REQUEST['submit'])) { // print_r($_POST); $mv_id = $_REQUEST['mietvertrag_id']; $fristdatum = $_REQUEST['datum_zahlungsfrist']; $geldkonto_id = $_POST['geld_konto']; $mahngebuehr = $_POST['mahngebuehr']; $ma = new mahnungen(); $ma->mahnung_pdf($mv_id, $fristdatum, $geldkonto_id, $mahngebuehr); } break; case "mietvertrag_aendern":