function import_me($tabelle) { $tabelle_in_gross = strtoupper($tabelle); // Tabelle in GROßBUCHSTABEN $datei = "{$tabelle}.csv"; // DATEINAME // $CSVarray = get_csv($file); $array = get_csv($datei); // DATEI IN ARRAY EINLESEN // echo "<pre>"; // print_r($array); echo $array[0]; // ZEILE 0 mit Überschriften $feldernamen[] = explode(":", $array[0]); // FELDNAMEN AUS ZEILE 0 IN ARRAY EINLESEN $anzahl_felder = count($feldernamen[0]); // ANZAHL DER IMPORT FELDER $feld1 = $feldernamen[0][0]; // FELD1 - IMPORT nur zur info echo "<h1>{$feld1}</h1>"; echo "<b>Importiere daten aus {$datei} nach MYSQL {$tabelle_in_gross}:</b><br><br>"; // echo "<pre>"; // print_r($zeile); // echo "</pre>"; $anzahl_zeilen = count($array); for ($i = 5000; $i < 9175; $i++) { $zeile[$i] = $array[$i]; // Zeile in Array einlesen $red = $zeile[$i]; $zeile[$i][0] = textrep($zeile[$i][0]); $zeile[$i][1] = textrep($zeile[$i][1]); $zeile[$i][2] = textrep($zeile[$i][2]); $zeile[$i][3] = textrep($zeile[$i][3]); $zeile[$i][4] = textrep($zeile[$i][4]); $zeile[$i][5] = textrep($zeile[$i][5]); $zeile[$i][6] = textrep($zeile[$i][6]); $zeile[$i][7] = textrep($zeile[$i][7]); $zeile[$i][8] = textrep($zeile[$i][8]); $zeile[$i][9] = textrep($zeile[$i][9]); /* MV begin */ $form = new mietkonto(); $einheit_name = rtrim(ltrim($zeile[$i][8])); // echo "$einheit_name<br>"; $geldkonto_ins = new geld_konten_id_ermitteln(); if (!empty($einheit_name)) { /* Einheit */ $einheit_kostentraeger_id = einheit_id_aus_transtab($einheit_name); $geldkonto_ins->geld_konten_id_ermitteln_f('Einheit', $einheit_kostentraeger_id); $einheit_geldkonto_id = $geldkonto_ins->konto_id; /* * $objekt_kostentraeger_name = rtrim(ltrim($zeile[$i][7])); * if($objekt_kostentraeger_name == 'II-2007'){ * $objekt_kostentraeger_id = '1'; * } * $objekt_kostentraeger_name = rtrim(ltrim($zeile[$i][7])); * if($objekt_kostentraeger_name == 'III-2007'){ * $objekt_kostentraeger_id = '2'; * } * * $objekt_kostentraeger_name = rtrim(ltrim($zeile[$i][7])); * if($objekt_kostentraeger_name == 'V-2007'){ * $objekt_kostentraeger_id = '3'; * } * * $objekt_kostentraeger_name = rtrim(ltrim($zeile[$i][7])); * if($objekt_kostentraeger_name == 'E-2007'){ * $objekt_kostentraeger_id = '4'; * } * $objekt_kostentraeger_name = rtrim(ltrim($zeile[$i][7])); * if($objekt_kostentraeger_name == 'FON-2007'){ * $objekt_kostentraeger_id = '12'; * } * * if($objekt_kostentraeger_name == 'GBN-8-2007' OR $objekt_kostentraeger_name == 'GBN-7-2007' OR $objekt_kostentraeger_name == 'GBN-5-2007' OR $objekt_kostentraeger_name == 'GBN-G-2007'){ * $objekt_kostentraeger_id = '13'; * } * * if($objekt_kostentraeger_name == 'HW-35-2007' OR $objekt_kostentraeger_name == 'HW-37-39-2007' OR $objekt_kostentraeger_name == 'HW-41-2007' OR $objekt_kostentraeger_name == 'GBN-G-2007'){ * $objekt_kostentraeger_id = '14'; * } * * $objekt_kostentraeger_name = rtrim(ltrim($zeile[$i][7])); * if($objekt_kostentraeger_name == 'L�-2007'){ * $objekt_kostentraeger_id = '15'; * } */ $objekt_kostentraeger_id = rtrim(ltrim($zeile[$i][7])); $geldkonto_ins->geld_konten_id_ermitteln_f('Objekt', $objekt_kostentraeger_id); $objekt_geldkonto_id = $geldkonto_ins->konto_id; /* Überprüfen ob Einheit Geldkonto = Objektgeldkonto und falls unterschiedlich buchen auf Objektgeldkonto weil FM das Objektgeldkonto unabhängig von Einheit belastet. Nur so stimmt die Kontobelastung und -buchung */ if ($einheit_geldkonto_id != $objekt_geldkonto_id) { // echo "<h1> E_KONTO: $einheit_geldkonto_id != OBJEKT_KONTO:$objekt_geldkonto_id</h1>"; $geldkonto_ins->konto_id = $objekt_geldkonto_id; $kostentraeger_typ = 'Objekt'; $kostentraeger_id = $objekt_kostentraeger_id; } else { $kostentraeger_typ = 'Einheit'; $geldkonto_ins->konto_id = $einheit_geldkonto_id; $kostentraeger_id = $einheit_kostentraeger_id; } // echo "NACH ÄNDERUNG KT:$kostentraeger_typ KID:$kostentraeger_id KONTO:$geldkonto_ins->konto_id<br>"; } else { $kostentraeger_typ = 'Objekt'; $kostentraeger_id = rtrim(ltrim($zeile[$i][7])); $geldkonto_ins->geld_konten_id_ermitteln_f('Objekt', $kostentraeger_id); } // print_r($geldkonto_ins); $v_zweck = rtrim(ltrim($zeile[$i][3])); if (!preg_match("/Miete Sollstellung/i", $v_zweck)) { if (!empty($geldkonto_ins->konto_id) && !empty($kostentraeger_typ) && !empty($kostentraeger_id)) { // if(!empty($kostentraeger_typ) && !empty($kostentraeger_id)){ $datum = $zeile[$i][1]; // echo "$i. $datum<br>"; $datum_arr = explode(".", $datum); $tag = $datum_arr[0]; $monat = $datum_arr[1]; $jahr = $datum_arr[2]; $datum_sql = "{$jahr}-{$monat}-{$tag}"; $buchungskonto = rtrim(ltrim($zeile[$i][9])); $buchungskonto = str_replace("'", "", $buchungskonto); $buchungskonto = substr($buchungskonto, 0, 4); // Beispiel 5: substr ( '1234567', -2, 3 ) $v_zweck = rtrim(ltrim($zeile[$i][3])); // $v_zweck = str_replace("'", "", $v_zweck); // $v_zweck = str_replace("\n", " ", $v_zweck); // $v_zweck = str_replace("\r", " ", $v_zweck); $betrag = rtrim(ltrim($zeile[$i][2])); $betrag = $form->nummer_komma2punkt($betrag); // $zb_exists = $form->check_zahlbetrag('888888', $kostentraeger_typ, $kostentraeger_id, $datum_sql, $betrag, $v_zweck, $geldkonto_ins->konto_id, $buchungskonto); // if(!$zb_exists){ // echo "Existiert nicht, wird hinzugefügt:<br>$zeile[$i]<br>"; insert_geldbuchung($geldkonto_ins->konto_id, $buchungskonto, '888888', 'IMPORT', $v_zweck, $datum_sql, $kostentraeger_typ, $kostentraeger_id, $betrag); // } } else { // echo "<h1>$i KTYP:$kostentraeger_typ, K_ID: $kostentraeger_id GELDKONTO: $geldkonto_ins->konto_id</h1>"; echo "<pre>"; print_r($red); echo "</pre>"; } } else { // echo "$i - sollstellung<br>"; } $zb_exists = $form->check_zahlbetrag('888888', $kostentraeger_typ, $kostentraeger_id, $datum_sql, $betrag, $v_zweck, $geldkonto_ins->konto_id, $buchungskonto); if (!$zb_exists && !preg_match("/Miete Sollstellung/i", $v_zweck)) { echo "Nicht importiert Zeile {$i} +1:<br><br>"; print_r($zeile[$i]); } unset($geldkonto_ins->konto_id); unset($kostentraeger_id); unset($kostentraeger_typ); unset($einheit_name); unset($geldkonto_ins); } // END FOR }
function import_me($tabelle) { $tabelle_in_gross = strtoupper($tabelle); // Tabelle in GROßBUCHSTABEN $datei = "{$tabelle}.csv"; // DATEINAME $array = file($datei); // DATEI IN ARRAY EINLESEN echo $array[0]; // ZEILE 0 mit Überschriften $feldernamen[] = explode(":", $array[0]); // FELDNAMEN AUS ZEILE 0 IN ARRAY EINLESEN $anzahl_felder = count($feldernamen[0]); // ANZAHL DER IMPORT FELDER $feld1 = $feldernamen[0][0]; // FELD1 - IMPORT nur zur info echo "<h1>{$feld1}</h1>"; // for($bb=17670;$bb<17750;$bb++){ // $mzeile = $array[$bb]; // $mzeile = str_replace(array("\r", "\n"), '', $mzeile); // $mzeile = preg_replace("/[\s][\s]*/"," ",$mzeile); // echo $bb.$mzeile.'<br>'; // } /* MIT EDITOR csv korrigieren oder \n als Reg. Ausdruck in Calc entfernen */ echo "<b>Importiere daten aus {$datei} nach MYSQL {$tabelle_in_gross}:</b><br><br>"; // for ($i = 10000; $i < 30163; $i++) //Datei ab Zeile1 einlesen, weil Zeile 0 for ($i = 20000; $i < 30163; $i++) { // echo "<b>$i</b> "; // $file_zeile = str_replace(array("\r", "\n"), '', $array[$i]); // $file_zeile = preg_replace("/[\s][\s]*/"," ",$file_zeile); $zeile[$i] = explode(":", $array[$i]); // Zeile in Array einlesen $zeile[$i][0] = textrep($zeile[$i][0]); $zeile[$i][1] = textrep($zeile[$i][1]); $zeile[$i][2] = textrep($zeile[$i][2]); $zeile[$i][3] = textrep($zeile[$i][3]); $zeile[$i][4] = textrep($zeile[$i][4]); $zeile[$i][5] = textrep($zeile[$i][5]); $zeile[$i][6] = textrep($zeile[$i][6]); $zeile[$i][7] = textrep($zeile[$i][7]); $zeile[$i][8] = textrep($zeile[$i][8]); $zeile[$i][9] = textrep($zeile[$i][9]); // if(count($zeile[$i]) < 8){ // echo "<pre>"; // print_r($zeile[$i]); // echo "</pre>"; /* MV begin */ $form = new mietkonto(); $FMeinheit_name = rtrim(ltrim($zeile[$i][0])); if (!empty($FMeinheit_name)) { $datum = rtrim(ltrim($zeile[$i][1])); $betrag = rtrim(ltrim($zeile[$i][2])); $mv_id = mv_id_aus_transtab($FMeinheit_name); // echo "$betrag $FMeinheit_name $mv_id<br>"; $betrag = explode(",", $betrag); $vorkomma = $betrag[0]; $nachkomma = $betrag[1]; $betrag = "{$vorkomma}.{$nachkomma}"; $bemerkung = rtrim(ltrim($zeile[$i][3])); // abs von negativ auf positiv -2+ $bemerkung = mysql_escape_string($bemerkung); if (!isset($mv_id) or $mv_id == 0) { // echo "FEHLT $FMeinheit_name<br>"; $einheit_id = einheit_id_aus_transtab($FMeinheit_name); $kostentraeger_typ = 'Einheit'; // echo "mv fehlt $FMeinheit_name $kostentraeger_typ $einheit_id $geld_konto_id<br>"; if (!empty($einheit_id)) { echo "Einheit {$einheit_id} in me<br>"; if (!preg_match("/Miete Sollstellung/i", $bemerkung)) { if (preg_match("/Betriebskostenabrechnung/i", $bemerkung) or preg_match("/Heizkostenabrechnung/i", $bemerkung) or preg_match("/Saldo Vortrag Vorverwaltung/", $bemerkung)) { // echo "<b>$i Es wurde eine Übereinstimmung gefunden.<br></b>"; $form = new mietkonto(); $datum_arr = explode(".", $datum); $tag = $datum_arr[0]; $monat = $datum_arr[1]; $jahr = $datum_arr[2]; // $betrag = substr($betrag, 1); $lastday = date('d', mktime(0, 0, -1, $monat, 1, $jahr)); // $a_datum = "$jahr-$monat-01"; $a_datum = "{$jahr}-{$monat}-{$tag}"; $e_datum = "{$jahr}-{$monat}-{$tag}"; // $e_datum = "$jahr-$monat-$lastday"; /* * if($betrag<0.00 && (preg_match("/Betriebskostenabrechnung/i", $bemerkung) OR preg_match("/Heizkostenabrechnung/i", $bemerkung)) ){ * #$betrag_status = "<b>NACHZAHLUNG</b>"; * $betrag = abs($betrag); * } * if($betrag>0.00 && (preg_match("/Betriebskostenabrechnung/i", $bemerkung) OR preg_match("/Heizkostenabrechnung/i", $bemerkung)) ){ * #$betrag_status = "<b>NACHZAHLUNG</b>"; * $betrag = "-".$betrag; * } * if(preg_match("/Saldo Vortrag Vorverwaltung/", $bemerkung)){ * #$betrag_status = "<b>NACHZAHLUNG</b>"; * $betrag = $betrag; * } */ // echo "$betrag_status $i $mv_id $datum $betrag $bemerkung<br>"; // echo "<h1>$lastday</h1>"; $form->mietentwicklung_speichern('Einheit', $einheit_id, $bemerkung, $betrag, $a_datum, $e_datum); } else { $kostentraeger_typ = 'Einheit'; $kostentraeger_id = $einheit_id; $geldkonto_einheit = new geld_konten_id_ermitteln(); $geldkonto_einheit->geld_konten_id_ermitteln_f('Einheit', $einheit_id); if (!empty($geldkonto_einheit->konto_id)) { $form->import_miete_zahlbetrag_buchen('999999', 'Einheit', $einheit_id, $datum, $betrag, $bemerkung, $geldkonto_einheit->konto_id, '80001'); echo "{$i} e_id->zb gespeichert<br>"; } } } else { echo "{$i} - sollst<br>"; } // end if sollstellung } // ENDE IF EINHEIT } // !mv_idend if if (isset($mv_id) && $mv_id != 0) { if (!preg_match("/Miete Sollstellung/", $bemerkung)) { $kostentraeger_typ = 'Mietvertrag'; // echo "$i <b>$mv_id</b> $FMeinheit_name $betrag $datum $bemerkung<br>"; if (preg_match("/Betriebskostenabrechnung/i", $bemerkung) or preg_match("/Heizkostenabrechnung/i", $bemerkung) or preg_match("/Saldo Vortrag Vorverwaltung/", $bemerkung)) { // echo "<b>$i Es wurde eine Übereinstimmung gefunden.<br></b>"; $form = new mietkonto(); $datum_arr = explode(".", $datum); $tag = $datum_arr[0]; $monat = $datum_arr[1]; $jahr = $datum_arr[2]; // $betrag = substr($betrag, 1); $lastday = date('d', mktime(0, 0, -1, $monat, 1, $jahr)); // $a_datum = "$jahr-$monat-01"; $a_datum = "{$jahr}-{$monat}-{$tag}"; $e_datum = "{$jahr}-{$monat}-{$tag}"; // $e_datum = "$jahr-$monat-$lastday"; /* * if($betrag<0.00 && (preg_match("/Betriebskostenabrechnung/i", $bemerkung) OR preg_match("/Heizkostenabrechnung/i", $bemerkung)) ){ * #$betrag_status = "<b>NACHZAHLUNG</b>"; * $betrag = abs($betrag); * } * if($betrag>0.00 && (preg_match("/Betriebskostenabrechnung/i", $bemerkung) OR preg_match("/Heizkostenabrechnung/i", $bemerkung)) ){ * #$betrag_status = "<b>NACHZAHLUNG</b>"; * $betrag = "-$betrag"; * } * if(preg_match("/Saldo Vortrag Vorverwaltung/", $bemerkung)){ * #$betrag_status = "<b>NACHZAHLUNG</b>"; * $betrag = $betrag; * } */ // echo "$betrag_status $i $mv_id $datum $betrag $bemerkung<br>"; // echo "<h1>$lastday</h1>"; echo "{$i} mv->me gespeichert<br>"; $form->mietentwicklung_speichern('Mietvertrag', $mv_id, $bemerkung, $betrag, $a_datum, $e_datum); } else { // echo "$i $mv_id $datum $betrag $bemerkung<br>"; $kostentraeger_typ = 'Mietvertrag'; $kostentraeger_id = $mv_id; $geldkonto_ins = new geld_konten_id_ermitteln(); $geldkonto_ins->geld_konten_id_ermitteln_f('Mietvertrag', $mv_id); if (!empty($geldkonto_ins->konto_id)) { $form->import_miete_zahlbetrag_buchen('999999', 'MIETVERTRAG', $mv_id, $datum, $betrag, $bemerkung, $geldkonto_ins->konto_id, '80001'); echo "{$i} mv->zb gespeichert<br>"; } else { echo "{$i} mv->me nicht gespeichert, kein gk<br>"; } } } else { echo "{$i} mv soll<br>"; } // sollmiete } // kein mv_id } // kein einheitname $zb_exists = $form->check_zahlbetrag('999999', $kostentraeger_typ, $kostentraeger_id, $datum, $betrag, $bemerkung, $geldkonto_ins->konto_id, '80001'); if (!$zb_exists) { echo "Nicht importiert Zeile {$i} +1:<br><br>"; print_r($zeile[$i]); } } // end for }