Example #1
0
 function sepa_datei_erstellen($sammelbetrag = 1, $dateiname_msgid, $nutzungsart = 'MIETZAHLUNG', $pdf = 0)
 {
     $arr = $this->get_mandate_arr($nutzungsart);
     // echo '<pre>';
     // print_r($mandate_arr);
     // die();
     $anz = count($arr);
     $myKtoSepaSimple = new KtoSepaSimple();
     $monat = date("m");
     $monatsname = monat2name($monat);
     $jahr = date("Y");
     $this->summe_frst = 0.0;
     $this->summe_rcur = 0.0;
     for ($a = 0; $a < $anz; $a++) {
         $name = substr($this->umlautundgross($arr[$a]['NAME']), 0, 35);
         // auf 70 Zeichen kürzen
         $iban = $arr[$a]['IBAN'];
         $bic = $arr[$a]['BIC'];
         $mandat_datum = $arr[$a]['M_UDATUM'];
         $m_ref = $arr[$a]['M_REFERENZ'];
         $kos_id = $arr[$a]['M_KOS_ID'];
         $kos_typ = $arr[$a]['M_KOS_TYP'];
         $einzugsart = $arr[$a]['EINZUGSART'];
         if ($nutzungsart == 'MIETZAHLUNG') {
             $mv = new mietvertraege();
             $mv->get_mietvertrag_infos_aktuell($kos_id);
             $einheit_kn = $mv->einheit_kurzname;
             $mz = new miete();
             $mz->mietkonto_berechnung($kos_id);
             if ($einzugsart == 'Aktuelles Saldo komplett') {
                 if ($mz->erg < 0.0) {
                     $summe_zu_ziehen = substr($mz->erg, 1);
                 } else {
                     $summe_zu_ziehen = 0.0;
                 }
             }
             if ($einzugsart == 'Nur die Summe aus Vertrag') {
                 $mk = new mietkonto();
                 $summe_zu_ziehen_arr = explode('|', $mk->summe_forderung_monatlich($kos_id, $monat, $jahr));
                 $summe_zu_ziehen = $summe_zu_ziehen_arr[0];
             }
             if ($einzugsart == 'Ratenzahlung') {
                 $mk = new mietkonto();
                 $summe_zu_ziehen_arr = explode('|', $mk->summe_forderung_monatlich($kos_id, $monat, $jahr));
                 $summe_raten = $mk->summe_rate_monatlich($kos_id, $monat, $jahr);
                 $summe_zu_ziehen = $summe_zu_ziehen_arr[0] + $summe_raten;
             }
             /*
              * $mv = new mietvertraege();
              * $mv->get_mietvertrag_infos_aktuell($kos_id);
              *
              * $mz = new miete();
              * $mz->mietkonto_berechnung($kos_id);
              *
              * if($mz->erg<0.00){
              * $mz->erg = substr($mz->erg,1);
              * }
              */
             $kat = 'RENT';
             $vzweck1 = substr($this->umlautundgross("Mieteinzug {$monatsname} {$jahr} für {$mv->einheit_kurzname} {$name}"), 0, 140);
             $PmtInfId = substr($this->umlautundgross($mv->objekt_kurzname . " LS-MIETEN {$monat}/{$jahr}"), -30);
         }
         if ($nutzungsart == 'HAUSGELD') {
             /* Berechnung */
             $weg = new weg();
             $einheit_id = $weg->get_einheit_id_from_eigentuemer($kos_id);
             $e = new einheit();
             $e->get_einheit_info($einheit_id);
             // $weg->get_wg_info($monat, $jahr, 'Einheit', $einheit_id, 'Hausgeld');
             $weg->get_eigentuemer_saldo($kos_id, $einheit_id);
             $einheit_kn = $e->einheit_kurzname;
             if ($einzugsart == 'Aktuelles Saldo komplett') {
                 if ($weg->hg_erg < 0) {
                     $summe_zu_ziehen = $weg->soll_aktuell;
                 } else {
                     $summe_zu_ziehen = 0.0;
                 }
             }
             if ($einzugsart == 'Nur die Summe aus Vertrag') {
                 $summe_zu_ziehen = $weg->soll_aktuell;
             }
             $vzweck1 = substr($this->umlautundgross("Hausgeld {$monatsname} {$jahr} für {$e->einheit_kurzname} {$name}"), 0, 140);
             $kat = '';
             $PmtInfId = substr($e->objekt_kurzname . " HAUSGELDER {$monat}/{$jahr}", -30);
         }
         /* Gemeinsame vars */
         $last_ident = substr($this->umlautundgross("MANDAT:{$m_ref}"), 0, 35);
         /*
          * SequenceType1Code Wertebereich: FRST (Erstlastschrift), RCUR (Folgelastschrift), OOFF (Einmallastschrift),FNAL (letzte Lastschrift)
          */
         /* Feststellen ob Erstnutzung, Folgenutzung des Mandats */
         if (!$this->check_mandat_is_used($m_ref, $iban) == true) {
             $abbuchung = 'FRST';
             // $datum = date("2014-01-25");//PLUS TAGE 7
             $o = new objekt();
             $datum = $o->datum_plus_tage(date("Y-m-d"), 7);
             $this->summe_frst += $summe_zu_ziehen;
         } else {
             $abbuchung = 'RCUR';
             // $datum = date("2014-01-20");//PLUS TAGE 3
             $o = new objekt();
             $datum = $o->datum_plus_tage(date("Y-m-d"), 3);
             $this->summe_rcur += $summe_zu_ziehen;
         }
         if ($summe_zu_ziehen > 0.0) {
             if ($pdf == 0) {
                 $myKtoSepaSimple->Add($datum, $summe_zu_ziehen, $name, $iban, $bic, NULL, $kat, $last_ident, $vzweck1, $abbuchung, $m_ref, $mandat_datum);
                 /* Eintragen als genutzt */
                 $this->mandat_seq_speichern($m_ref, $summe_zu_ziehen, $datum, $dateiname_msgid, $vzweck1, $iban);
             } else {
                 if ($abbuchung == 'FRST') {
                     $tab_frst[$a]['EINHEIT'] = $einheit_kn;
                     $tab_frst[$a]['DATUM'] = date_mysql2german($datum);
                     $tab_frst[$a]['BETRAG'] = nummer_punkt2komma_t($summe_zu_ziehen);
                     $tab_frst[$a]['NAME'] = $name;
                     $tab_frst[$a]['ABBUCHUNG'] = $abbuchung;
                     $tab_frst[$a]['IBAN'] = $iban;
                     $tab_frst[$a]['BIC'] = $bic;
                     $tab_frst[$a]['KAT'] = $kat;
                     $tab_frst[$a]['IDENT'] = $last_ident;
                     $tab_frst[$a]['VZWECK'] = $vzweck1;
                     $tab_frst[$a]['M_REF'] = $m_ref;
                     $tab_frst[$a]['M_DATUM'] = $mandat_datum;
                 }
                 if ($abbuchung == 'RCUR') {
                     $tab_rcur[$a]['EINHEIT'] = $einheit_kn;
                     $tab_rcur[$a]['DATUM'] = date_mysql2german($datum);
                     $tab_rcur[$a]['BETRAG'] = nummer_punkt2komma_t($summe_zu_ziehen);
                     $tab_rcur[$a]['NAME'] = $name;
                     $tab_rcur[$a]['ABBUCHUNG'] = $abbuchung;
                     $tab_rcur[$a]['IBAN'] = $iban;
                     $tab_rcur[$a]['BIC'] = $bic;
                     $tab_rcur[$a]['KAT'] = $kat;
                     $tab_rcur[$a]['IDENT'] = $last_ident;
                     $tab_rcur[$a]['VZWECK'] = $vzweck1;
                     $tab_rcur[$a]['M_REF'] = $m_ref;
                     $tab_rcur[$a]['M_DATUM'] = $mandat_datum;
                 }
             }
         }
         // $myKtoSepaSimple->Add('2014-02-01', 119.00, 'Kunde,Konrad', 'DE54100700000190001800', 'DEUTDEBBXXX',
         // NULL, NULL, '1111222111', 'Rechnung 111111', 'OOFF', 'KUN1', '2013-09-13');
     }
     $gk = new geldkonto_info();
     $gk->geld_konto_details($_SESSION['geldkonto_id']);
     $monat = date("m");
     $jahr = date("Y");
     $username = $_SESSION['username'];
     $seps = new sepa();
     $seps->get_iban_bic($gk->kontonummer, $gk->blz);
     $d = new detail();
     $glaeubiger_id = $d->finde_detail_inhalt('GELD_KONTEN', $_SESSION['geldkonto_id'], 'GLAEUBIGER_ID');
     /* SEPA FILE */
     if ($pdf == 0) {
         $xmlstring = $myKtoSepaSimple->GetXML('CORE', $dateiname_msgid, $PmtInfId, $this->umlautundgross($gk->konto_beguenstigter), $this->umlautundgross($gk->konto_beguenstigter), $seps->IBAN, $seps->BIC, $glaeubiger_id, $sammelbetrag);
         /* SEPA AUSGABE */
         ob_clean();
         header('Content-type: text/xml; charset=utf-8');
         header("Content-disposition: attachment;filename={$dateiname_msgid}");
         echo $xmlstring;
         die;
     } else {
         /* PDF */
         $pdf = new Cezpdf('a4', 'landscape');
         $bpdf = new b_pdf();
         $bpdf->b_header($pdf, 'Partner', $_SESSION[partner_id], 'landscape', 'Helvetica.afm', 6);
         $this->footer_zahlungshinweis = $bpdf->zahlungshinweis;
         $pdf->ezStopPageNumbers();
         // seitennummerirung beenden
         $p = new partners();
         $p->get_partner_info($_SESSION['partner_id']);
         $datum = date("d.m.Y");
         $cols = array('DATUM' => "Datum", 'EINHEIT' => "Einheit", 'BETRAG' => "Betrag", 'NAME' => "Name", 'M_REF' => "MANDAT", 'VZWECK' => "TEXT", 'ABBUCHUNG' => "RF", 'BIC' => "BIC", 'IBAN' => "IBAN");
         /*
          * $tab_arr[$a]['IBAN'] = $iban;
          * $tab_arr[$a]['BIC'] = $bic;
          * $tab_arr[$a]['KAT'] = $kat;
          * $tab_arr[$a]['IDENT'] = $last_ident;
          */
         if (is_array($tab_frst)) {
             $tab_frst = array_merge($tab_frst, array());
             $anz_t = count($tab_frst);
             $tab_frst[$anz_t]['EINHEIT'] = "<b>SUMME</b>";
             $tab_frst[$anz_t]['BETRAG'] = "<b>{$this->summe_frst}</b>";
             $pdf->ezTable($tab_frst, $cols, "<b>Beigleitzettel " . $this->umlautundgross($gk->konto_beguenstigter) . " - ERSTABBUCHUNGEN</b>", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 50, 'xOrientation' => 'right', 'width' => 750, 'cols' => array('BETRAG' => array('justification' => 'right', 'width' => 50), 'NAME' => array('justification' => 'left', 'width' => 100), 'VZWECK' => array('justification' => 'left', 'width' => 200), 'DATUM' => array('justification' => 'left', 'width' => 50))));
         }
         if (is_array($tab_rcur)) {
             $tab_rcur = array_merge($tab_rcur, array());
             // echo '<pre>';
             // print_r($tab_rcur);
             // print_r($rcur_arr_new);
             // die('RCIR');
             $pdf->ezSetDy(-20);
             $anz_r = count($tab_rcur);
             $tab_rcur[$anz_r]['EINHEIT'] = "<b>SUMME</b>";
             $tab_rcur[$anz_r]['BETRAG'] = "<b>{$this->summe_rcur}</b>";
             $pdf->ezTable($tab_rcur, $cols, "<b>Beigleitzettel " . $this->umlautundgross($gk->konto_beguenstigter) . " - FOLGEABBUCHUNGEN</b>", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 9, 'fontSize' => 7, 'xPos' => 50, 'xOrientation' => 'right', 'width' => 750, 'cols' => array('BETRAG' => array('justification' => 'right', 'width' => 50), 'NAME' => array('justification' => 'left', 'width' => 100), 'VZWECK' => array('justification' => 'left', 'width' => 140), 'DATUM' => array('justification' => 'left', 'width' => 50), 'G_KEY_A' => array('justification' => 'right', 'width' => 55), 'E_KEY_A' => array('justification' => 'right', 'width' => 50), 'E_BETRAG' => array('justification' => 'right', 'width' => 50))));
         }
         $pdf->ezSetDy(-20);
         $uhrzeit = date("d.m.Y H:i:s");
         $pdf->eztext("                Erstellt am: {$uhrzeit}", 10);
         ob_clean();
         // ausgabepuffer leeren
         $pdf->ezStream();
     }
 }
 function get_einheit_daten_OK($einheit_id, $ms_jahr)
 {
     $this->abzug_wert = 0;
     $e = new einheit();
     $e->get_einheit_info($einheit_id);
     $this->einheit_qm = $e->einheit_qm;
     $d = new detail();
     $this->objekt_baujahr = $d->finde_detail_inhalt('OBJEKT', $e->objekt_id, 'Baujahr');
     if (empty($this->objekt_baujahr)) {
         die("<b>ABBRUCH: Einheit: {$e->einheit_kurzname} <br>Detail Baujahr zum Objekt {$e->objekt_name} hinzufügen</b>");
     }
     if ($this->objekt_baujahr <= 1918) {
         $this->objekt_bauart = 'Altbau1';
     }
     if ($this->objekt_baujahr > 1918 && $this->objekt_baujahr < 1950) {
         $this->objekt_bauart = 'Altbau2';
     }
     if ($this->objekt_baujahr > 1949) {
         $this->objekt_bauart = 'Neubau';
     }
     $this->haus_wohnlage = $d->finde_detail_inhalt('HAUS', $e->haus_id, 'Wohnlage');
     /* Wenn keine, dann bei Objekt schauen */
     if (!$this->haus_wohnlage) {
         $this->haus_wohnlage = $d->finde_detail_inhalt('OBJEKT', $e->objekt_id, 'Wohnlage');
     }
     if (!$this->haus_wohnlage) {
         die("Keine Wohnlage zum Haus {$e->haus_strasse} {$e->haus_nummer} oder {$e->objekt_name}");
     }
     if ($this->einheit_qm < 40.0) {
         if ($this->haus_wohnlage == 'einfach') {
             $buchstabe = 'A';
         }
         if ($this->haus_wohnlage == 'mittel') {
             $buchstabe = 'B';
         }
         if ($this->haus_wohnlage == 'gut') {
             $buchstabe = 'C';
         }
     }
     if ($this->einheit_qm >= 40.0 && $this->einheit_qm < 60.0) {
         if ($this->haus_wohnlage == 'einfach') {
             $buchstabe = 'D';
         }
         if ($this->haus_wohnlage == 'mittel') {
             $buchstabe = 'E';
         }
         if ($this->haus_wohnlage == 'gut') {
             $buchstabe = 'F';
         }
     }
     if ($this->einheit_qm >= 60.0 && $this->einheit_qm < 90.0) {
         if ($this->haus_wohnlage == 'einfach') {
             $buchstabe = 'G';
         }
         if ($this->haus_wohnlage == 'mittel') {
             $buchstabe = 'H';
         }
         if ($this->haus_wohnlage == 'gut') {
             $buchstabe = 'I';
         }
     }
     if ($this->einheit_qm >= 90.0) {
         if ($this->haus_wohnlage == 'einfach') {
             $buchstabe = 'J';
         }
         if ($this->haus_wohnlage == 'mittel') {
             $buchstabe = 'K';
         }
         if ($this->haus_wohnlage == 'gut') {
             $buchstabe = 'L';
         }
     }
     /* Es können nur Mieten von vermieteten Einheiten angepasst werden und ... */
     /* Wenn Fläche größer als 0, weil sonst Parkplatz bzw Freiflächen */
     if ($e->einheit_qm > 0.0) {
         /* Schon mal vermietet */
         if ($e->get_einheit_status($einheit_id)) {
             $mv_id = $e->get_last_mietvertrag_id($einheit_id);
             /*
              * Wenn aktuell vermietet
              * hier spielt sich alles ab
              */
             if (!empty($mv_id)) {
                 $ausstattungsklasse = $d->finde_detail_inhalt('EINHEIT', $einheit_id, 'Ausstattungsklasse');
                 if (empty($ausstattungsklasse)) {
                     die("<b>ABBRUCH - Einheit: {$e->einheit_kurzname} hat keine Ausstattungsklasse in den Details</b>");
                 }
                 $mietspiegel_feld = "{$buchstabe}{$ausstattungsklasse}";
                 /* Mietvertragsinfos sammeln */
                 $mv = new mietvertraege();
                 $mv->get_mietvertrag_infos_aktuell($mv_id);
                 /* Prüfen ob Bruttomieter */
                 if ($this->check_bruttomieter('MIETVERTRAG', $mv_id) == true) {
                     $tab_arr['MIETER_ART'] = 'Bruttomieter';
                     $mieter_art = 'Bruttomieter';
                     echo "{$mv_id} {$mieter_art}<br>";
                 } else {
                     $tab_arr['MIETER_ART'] = 'Nettomieter';
                     $mieter_art = 'Nettomieter';
                 }
                 /* Notwendige Datumsvars setzen */
                 $monat = date("m");
                 $jahr = date("Y");
                 $jahr_minus_3 = date("Y") - 3;
                 $mk = new mietkonto();
                 /* Aktuelle Miete kalt */
                 $mk->kaltmiete_monatlich($mv_id, $monat, $jahr);
                 $aktuelle_miete = $mk->ausgangs_kaltmiete;
                 /* Miete kalt vor 3 Jahren */
                 $mk->kaltmiete_monatlich($mv_id, $monat, $jahr_minus_3);
                 // $this->kosten_monatlich($mv_id,$monat,$jahr_minus_3, 'Miete kalt');
                 $miete_vor_3_jahren = $mk->ausgangs_kaltmiete;
                 /*
                  * Wenn MV nicht älter als 3 Jahre dann Erste Miete kalt
                  * aus Mietdefinition d.h. Miete beim Einzug
                  */
                 if ($miete_vor_3_jahren <= 0.0) {
                     $einzugsdatum_arr = explode('-', $mv->mietvertrag_von);
                     $einzugs_jahr = $einzugsdatum_arr[0];
                     $einzugs_monat = $einzugsdatum_arr[1];
                     /* Bei Einzug mitten im Monat ist es nur die Hälfte */
                     $mk->kaltmiete_monatlich($mv_id, $einzugs_monat, $einzugs_jahr);
                     // echo "$mv_id,$einzugs_monat,$einzugs_jahr";
                     $miete_beim_einzug = $mk->ausgangs_kaltmiete;
                     $miete_vor_3_jahren = $miete_beim_einzug;
                     /* Wenn keine Mietdefinition zum MV Anfang dann Miete aus der Mietdefinition 2. Monat */
                     if ($miete_vor_3_jahren <= 0.0) {
                         $datum_1_kmiete = $this->datum_1_mietdefinition($mv_id);
                         $datum_1_kmiete_arr = explode('-', $datum_1_kmiete);
                         $datum_1_kmiete_jahr = $datum_1_kmiete_arr[0];
                         $datum_1_kmiete_monat = $datum_1_kmiete_arr[1];
                         $mk->kaltmiete_monatlich($mv_id, $datum_1_kmiete_monat, $datum_1_kmiete_jahr);
                         $erste_kalt_miete = $mk->ausgangs_kaltmiete;
                         $miete_vor_3_jahren = $erste_kalt_miete;
                     }
                 }
                 $tab_arr['EINHEIT'] = $e->einheit_kurzname;
                 $tab_arr['EINHEIT_ID'] = $einheit_id;
                 $tab_arr['EINHEIT_QM'] = $e->einheit_qm;
                 $tab_arr['WOHNLAGE'] = $this->haus_wohnlage;
                 $tab_arr['MIETER'] = $mv->personen_name_string;
                 $tab_arr['MV_ID'] = $mv->mietvertrag_id;
                 $tab_arr['EINZUG'] = $mv->mietvertrag_von;
                 $tab_arr['MIETE_3_JAHRE'] = $miete_vor_3_jahren;
                 $tab_arr['MIETE_AKTUELL'] = $aktuelle_miete;
                 $this->get_spiegel_werte($ms_jahr, $mietspiegel_feld);
                 $tab_arr['MS_FELD'] = $mietspiegel_feld;
                 $tab_arr['U_WERT'] = $this->u_wert;
                 $tab_arr['M_WERT'] = $this->m_wert;
                 $tab_arr['O_WERT'] = $this->o_wert;
                 $untere_spanne = $this->m_wert - $this->u_wert;
                 $obere_spanne = $this->o_wert - $this->m_wert;
                 $tab_arr['U_SPANNE'] = $untere_spanne;
                 $tab_arr['O_SPANNE'] = $obere_spanne;
                 /* Erdgeschoss aus Lage erkennen */
                 $m_buchstabe = substr($e->einheit_lage, 1, 1);
                 if ($m_buchstabe == 'P') {
                     $erdgeschoss = 1;
                     $erdgeschoss_ausgabe = 'Erdgeschossabzug';
                 } else {
                     $erdgeschoss = 0;
                 }
                 /* Sondermerkmale finden */
                 $sondermerkmale_arr = $this->get_sondermerkmale_arr($ausstattungsklasse, $jahr);
                 $anz_sm = count($sondermerkmale_arr);
                 if ($anz_sm > 0) {
                     $abzug_zaehler = 0;
                     $this->abzug_wert = 0;
                     for ($s = 0; $s < $anz_sm; $s++) {
                         $merkmal = $sondermerkmale_arr[$s]['MERKMAL'];
                         $wert = $sondermerkmale_arr[$s]['WERT'];
                         $a_klasse = $sondermerkmale_arr[$s]['A_KLASSE'];
                         if ($a_klasse == NULL or $ausstattungsklasse == $a_klasse) {
                             /* Wenn z.B. Erdgeschoss, dann Abzug */
                             $sonder_abzug = $d->finde_detail_inhalt('EINHEIT', $einheit_id, $merkmal);
                             if ($sonder_abzug) {
                                 $tab_arr['ABZUEGE'][$abzug_zaehler]['MERKMAL'] = $merkmal;
                                 $tab_arr['ABZUEGE'][$abzug_zaehler]['MERKMAL_GRUND'] = $sonder_abzug;
                                 $tab_arr['ABZUEGE'][$abzug_zaehler]['MERKMAL_WERT'] = $wert;
                                 $this->abzug_wert = $this->abzug_wert + $wert;
                                 $abzug_zaehler++;
                             }
                         }
                     }
                     // end for
                 }
                 // end wenn Sondermerkmale vorhanden
                 /* Wenn ABZUEGE vorhanden, dann MS werte anpassen */
                 if (is_array($tab_arr['ABZUEGE'])) {
                     $this->u_wert_w = $this->u_wert + $this->abzug_wert;
                     $this->m_wert_w = $this->m_wert + $this->abzug_wert;
                     $this->o_wert_w = $this->o_wert + $this->abzug_wert;
                     $tab_arr['ABZUG_PRO_M2'] = $this->abzug_wert;
                 } else {
                     /* Sonst sind die MS-Werte maßgeblich */
                     $tab_arr['ABZUG_PRO_M2'] = '0.00';
                     $this->u_wert_w = $this->u_wert;
                     $this->m_wert_w = $this->m_wert;
                     $this->o_wert_w = $this->o_wert;
                 }
                 $tab_arr['U_WERT_W'] = $this->u_wert_w;
                 $tab_arr['M_WERT_W'] = $this->m_wert_w;
                 $tab_arr['O_WERT_W'] = $this->o_wert_w;
                 /* Preisspanne nach Abzügen ermitteln */
                 $untere_spanne_w = $this->m_wert_w - $this->u_wert_w;
                 $obere_spanne_w = $this->o_wert_w - $this->m_wert_w;
                 $tab_arr['U_SPANNE_W'] = $untere_spanne_w;
                 $tab_arr['O_SPANNE_W'] = $obere_spanne_w;
                 $tab_arr['GESAMT_ABZUG'] = $e->einheit_qm * $this->abzug_wert;
                 /* Berechnung */
                 $m2_mietpreis = $aktuelle_miete / $e->einheit_qm;
                 $tab_arr['M2_AKTUELL'] = $m2_mietpreis;
                 $anstieg_in_3_jahren = $aktuelle_miete / ($miete_vor_3_jahren / 100) - 100;
                 if ($miete_vor_3_jahren == 0.0) {
                     echo "<h1>{$einheit_id} {$mv_id}</h1>";
                 }
                 $tab_arr['ANSTIEG_3J'] = $anstieg_in_3_jahren;
                 $max_rest_prozent = 15 - $anstieg_in_3_jahren;
                 $tab_arr['MAX_ANSTIEG_PROZ'] = $max_rest_prozent;
                 $anstieg_euro = $miete_vor_3_jahren / 100 * $max_rest_prozent;
                 $tab_arr['MAX_ANSTIEG_EURO'] = $anstieg_euro;
                 $kappungsgrenze_miete = $aktuelle_miete + $anstieg_euro;
                 $tab_arr['MAXIMALE_MIETE'] = $kappungsgrenze_miete;
                 /* Letzte Erhöhung */
                 $this->datum_letzte_m_erhoehung($mv_id);
                 $o = new objekt();
                 $monate_seit_l_erhoehung = $o->monate_berechnen_bis_heute($this->erhoehungsdatum);
                 $tab_arr['L_ANSTIEG_MONATE'] = $monate_seit_l_erhoehung;
                 $tab_arr['L_ANSTIEG_DATUM'] = $this->erhoehungsdatum;
                 $tab_arr['L_ANSTIEG_BETRAG'] = $this->erhoehungsbetrag;
                 $tag = date("d");
                 $datum_vor_3_jahren = "{$jahr_minus_3}-{$monat}-{$tag}";
                 $erhoehungen_arr = $this->get_erhoehungen_arr($datum_vor_3_jahren, 'MIETVERTRAG', $mv_id);
                 $tab_arr['ERHOEHUNGEN_ARR'] = $erhoehungen_arr;
                 /* Maximal möglich rechnerisch nur */
                 $n_erhoehungsdatum_arr = explode('-', $o->datum_plus_tage(date("Y-m-d"), 120));
                 $n_erhoehungsdatum = '01.' . $n_erhoehungsdatum_arr[1] . '.' . $n_erhoehungsdatum_arr[0];
                 if (empty($this->m_wert_w)) {
                     $n_miete_mwert = $e->einheit_qm * $this->m_wert;
                     $n_miete_mwert_w = $e->einheit_qm * $this->m_wert;
                 } else {
                     $n_miete_mwert = $e->einheit_qm * $this->m_wert;
                     $n_miete_mwert_w = $e->einheit_qm * $this->m_wert_w;
                 }
                 $tab_arr['N_ANSTIEG_DATUM'] = $n_erhoehungsdatum;
                 $tab_arr['NEUE_MIETE_M_WERT'] = $n_miete_mwert;
                 $tab_arr['NEUE_MIETE_M_WERT_W'] = $n_miete_mwert_w;
                 $this->check_erhoehung($mv_id);
                 /* Wenn Letzte Erhöhung vor mehr als 12 Monaten */
                 if ($monate_seit_l_erhoehung > 12) {
                     /* Wenn Mittelwert größer als Kappungsgrenze, dann mit Kappung rechnen */
                     if ($n_miete_mwert_w > $kappungsgrenze_miete) {
                         $n_preis_pro_qm = $kappungsgrenze_miete / $e->einheit_qm;
                         $monatliche_diff = $kappungsgrenze_miete - $aktuelle_miete;
                         $tab_arr['NEUE_MIETE'] = $kappungsgrenze_miete;
                         $tab_arr['ANSTIEG_UM_PROZENT'] = $max_rest_prozent;
                         $tab_arr['M2_PREIS_NEU'] = $n_preis_pro_qm;
                         $tab_arr['MONATLICH_MEHR'] = $monatliche_diff;
                     } else {
                         $n_preis_pro_qm = $n_miete_mwert_w / $e->einheit_qm;
                         $monatliche_diff = $n_miete_mwert_w - $aktuelle_miete;
                         $tab_arr['NEUE_MIETE'] = $n_miete_mwert_w;
                         $anstieg_in_prozent = $n_miete_mwert_w / ($aktuelle_miete / 100) - 100;
                         $tab_arr['ANSTIEG_UM_PROZENT'] = $anstieg_in_prozent;
                         $tab_arr['M2_PREIS_NEU'] = $n_preis_pro_qm;
                         $tab_arr['MONATLICH_MEHR'] = $monatliche_diff;
                     }
                 } else {
                     /* Sonst gesetzlich nicht möglich die Miete anzupassen */
                     $tab_arr['NEUE_MIETE'] = 'nicht möglich';
                     $tab_arr['ANSTIEG_UM_PROZENT'] = 'nicht möglich';
                     $tab_arr['M2_PREIS_NEU'] = 'nicht möglich';
                     $tab_arr['MONATLICH_MEHR'] = 'nicht möglich';
                     $tab_arr['N_ANSTIEG_DATUM'] = 'nicht möglich';
                 }
                 /* Wenn eine Erhöhung schon definiert wurde */
                 if ($this->naechste_erhoehung_datum) {
                     $this->naechste_erhoehung_datum = date_mysql2german($this->naechste_erhoehung_datum);
                     $tab_arr['STATUS'] = 'erledigt';
                     $tab_arr['STATUS_DATUM'] = $this->naechste_erhoehung_datum;
                     $tab_arr['STATUS_BETRAG'] = $this->naechste_erhoehung_betrag;
                 } else {
                     $tab_arr['STATUS'] = 'offen';
                     $tab_arr['STATUS_DATUM'] = '';
                     $tab_arr['STATUS_BETRAG'] = '';
                 }
             }
             // end if vermietet jetzt
         }
         // end if schon mal vermietet, danach ende der Funktion
     }
     // wenn fläche >0.00
     // echo '<pre>';
     // print_r($tab_arr);
     // die();
     // $this->zeile_anzeigen($tab_arr, '');
     return $tab_arr;
 }
Example #3
0
 } else {
     $erhoeht = 'NEIN';
 }
 // unset($this->naechste_erhoehung_datum);
 // unset($this->naechste_erhoehung_betrag);
 $l_datum = $arr[$a]['L_ANSTIEG_DATUM'];
 $l_betrag = $arr[$a]['L_ANSTIEG_BETRAG'];
 $l_anstieg_proz = nummer_komma2punkt(nummer_punkt2komma($arr[$a]['ANSTIEG_3J']));
 $prozent_neu = nummer_punkt2komma($arr[$a]['ANSTIEG_UM_PROZENT']);
 // echo '<pre>';
 // print_r($arr);
 // die();
 $l_anstieg_vor_monaten = $arr[$a]['L_ANSTIEG_MONATE'];
 $noch_monate_15 = 36 - $l_anstieg_vor_monaten;
 $o = new objekt();
 $datum_15 = date_mysql2german($o->datum_plus_tage(date("Y-m-d"), $noch_monate_15 * 30));
 $max_miete_mw = $arr[$a]['NEUE_MIETE_M_WERT_W'];
 $neue_miete = $arr[$a]['NEUE_MIETE'];
 $diff_abwarten = nummer_punkt2komma($max_miete_mw - $neue_miete);
 if ($mon_mehr > 0 && $mieter_art == 'Nettomieter' && $zieht_aus == 'NEIN' && $erhoeht == 'NEIN') {
     $z++;
     // echo "$einheit_kn $mietername $mon_mehr<br>";
     if ($diff_abwarten == '0,00' or $prozent_neu == '15,00') {
         echo "<tr style=\"background-color:#99d0a5;\"><td>{$z}</td><td>";
     } else {
         echo "<tr><td>{$z}</td><td>";
     }
     if ($noch_monate_15 < 0 or $neue_miete == $max_miete_mw) {
         $f->check_box_js('einheit_ids[]', $einheit_id, $einheit_kn, null, 'checked');
     } else {
         $f->check_box_js('einheit_ids[]', $einheit_id, $einheit_kn, null, null);