コード例 #1
0
 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
      */
 }