From 687e49de0ff8b46330a722218d6a28486138960b Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Wed, 20 Sep 2023 08:48:16 +0200 Subject: [PATCH] =?UTF-8?q?Gro=C3=9F=20St.Florian=20Locations/Homes=20upda?= =?UTF-8?q?te?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01-addressdb_update_buildings-old.php | 244 ++++++++++++++++++ .../01-addressdb_update_buildings.php | 153 +++++++---- ...02-addressdb_create_wohneinheiten-old.php} | 0 .../02-addressdb_update_wohneinheiten.php | 204 +++++++++++++++ .../03-addressdb_update_wohneinheiten.php | 50 ---- 5 files changed, 548 insertions(+), 103 deletions(-) create mode 100644 scripts/addressdb/gross-st-florian/01-addressdb_update_buildings-old.php mode change 100644 => 100755 scripts/addressdb/gross-st-florian/01-addressdb_update_buildings.php rename scripts/addressdb/gross-st-florian/{02-addressdb_create_wohneinheiten.php => 02-addressdb_create_wohneinheiten-old.php} (100%) create mode 100755 scripts/addressdb/gross-st-florian/02-addressdb_update_wohneinheiten.php delete mode 100644 scripts/addressdb/gross-st-florian/03-addressdb_update_wohneinheiten.php diff --git a/scripts/addressdb/gross-st-florian/01-addressdb_update_buildings-old.php b/scripts/addressdb/gross-st-florian/01-addressdb_update_buildings-old.php new file mode 100644 index 000000000..ab48ffa9c --- /dev/null +++ b/scripts/addressdb/gross-st-florian/01-addressdb_update_buildings-old.php @@ -0,0 +1,244 @@ +#!/usr/bin/php +escape($strasse_name); + $hausnummer_name = $db->escape($hausnummer_name); + + if($adrcd) { + // get Hausnummer to update + $hausnummer = ADBHausnummerModel::getFirst(['adrcd' => $adrcd]); + if(!$hausnummer) { + die("Hausnummer adrcd $adrcd not found\n"); + } + //echo "Hausnummer mit adrcd gefunden\n"; + } else { + // search Hausnummer + $strasse_search = [$strasse_name]; + + if(strpos($strasse_name, ' ') !== false) $strasse_search[] = str_replace(' ', '-', $strasse_name); + if(strpos($strasse_name, '-') !== false) $strasse_search[] = str_replace('-', ' ', $strasse_name); + if(strpos($strasse_name, '.') !== false) $strasse_search[] = str_replace('.', '. ', $strasse_name); + if(strpos($strasse_name, '.') !== false) $strasse_search[] = str_replace('.', '.-', $strasse_name); + if(strpos($strasse_name, '. ') !== false) $strasse_search[] = str_replace('. ', '.', $strasse_name); + if(strpos($strasse_name, '. ') !== false) $strasse_search[] = str_replace('. ', '.-', $strasse_name); + if(strpos($strasse_name, '.') !== false) $strasse_search[] = str_replace('.-', '.', $strasse_name); + if(strpos($strasse_name, '.') !== false) $strasse_search[] = str_replace('.-', '. ', $strasse_name); + + foreach($strasse_search as $search) { + if(strpos($search, 'ß') !== false) $strasse_search[] = str_replace('ß', 'ss', $search); + if(strpos($search, 'ä') !== false) $strasse_search[] = str_replace('ä', 'ae', $search); + if(strpos($search, 'ö') !== false) $strasse_search[] = str_replace('ö', 'oe', $search); + if(strpos($search, 'ü') !== false) $strasse_search[] = str_replace('ü', 'ue', $search); + + if(strpos($search, 'ss') !== false) $strasse_search[] = str_replace('ss', 'ß', $search); + if(strpos($search, 'ae') !== false) $strasse_search[] = str_replace('ae', 'ä', $search); + if(strpos($search, 'oe') !== false) $strasse_search[] = str_replace('oe', 'ö', $search); + if(strpos($search, 'ue') !== false) $strasse_search[] = str_replace('ue', 'ü', $search); + } + + + $sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = $gemeinde_id AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'"; + /*if(preg_match('/^Tobelbader/i',$strasse_name)) { + echo "$sql\n"; + }*/ + $res = $db->query($sql); + + if($db->num_rows($res)) { + // get Hausnummer to update + //echo "Hausnummer per Suche gefunden\n"; + $data = $db->fetch_object($res); + $hausnummer = new ADBHausnummer($data->hausnummer_id); + } else { + // hausnummer anlegen + //echo "hausnummer anlegen\n"; + $strasse = ADBStrasseModel::getFirst(["gemeinde_id" => $gemeinde_id, "name" => $strasse_name]); + if(!$strasse) die("Strasse $strasse_name nicht gefunden\n"); + $plz = ADBPlzModel::getFirst(["gemeinde_id" => $gemeinde_id, "plz" => $plz_name]); + if(!$plz) die("PLZ $plz_name nicht gefunden\n"); + $ortschaft = ADBOrtschaftModel::getFirst(["gemeinde_id" => $gemeinde_id, "name" => $ort_name]); + if(!$ortschaft) die("ortschaft $ortschaft nicht gefunden\n"); + + $hausnummer_data = [ + "netzgebiet_id" => $netzgebiet->id, + "extref" => $hausnummer_extref, + "ortschaft_id" => $ortschaft->id, + "plz_id" => $plz->id, + "strasse_id" => $strasse->id, + "hausnummer" => $hausnummer_name, + "zusatz" => ($addresszusatz) ? : null, + "gps_lat" => $lat, + "gps_long" => $long, + "freigabe" => $default_freigabe, + ]; + $hausnummer = ADBHausnummerModel::create($hausnummer_data); + //var_dump($hausnummer);exit; + $hausnummer->save(); + continue; + } + + } + + //echo "Hausnummer extref: \033[1m$hausnummer_extref\033[0m | gem: \033[1m$gem_name\033[0m | plz: \033[1m$plz_name\033[0m | ort: \033[1m$ort_name\033[0m | strasse: \033[1m$strasse_name\033[0m | hausnummer: \033[1m$hausnummer_name\033[0m |"; + //echo "Zusatz: \033[1m$addresszusatz\033[0m | (\033[1m$nutzung\033[0m) | ADRCD: \033[1m$adrcd\033[0m\n"; + + //var_dump($hausnummer);exit; + //continue; + if($hausnummer->netzgebiet_id != $netzgebiet->id) { + $hausnummer->netzgebiet_id = $netzgebiet->id; + $hausnummer->save(); + } + if($hausnummer->extref != $hausnummer_extref) { + $hausnummer->extref = $hausnummer_extref; + $hausnummer->save(); + } + $hausnummer->gps_lat = (float)$lat; + $hausnummer->gps_long = (float)$long; + $hausnummer->freigabe = $default_freigabe; + $hausnummer->save(); + + //echo "$data->ortschaft, $data->plz, $data->strasse, $data->hausnummer\n"; + + +} \ No newline at end of file diff --git a/scripts/addressdb/gross-st-florian/01-addressdb_update_buildings.php b/scripts/addressdb/gross-st-florian/01-addressdb_update_buildings.php old mode 100644 new mode 100755 index ab48ffa9c..aac2513d3 --- a/scripts/addressdb/gross-st-florian/01-addressdb_update_buildings.php +++ b/scripts/addressdb/gross-st-florian/01-addressdb_update_buildings.php @@ -13,7 +13,7 @@ require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php"); $me = new User(1); -$filename = __DIR__."/import/C03080_sbidi_Ortskern_Locations_221025.csv"; +$filename = __DIR__."/import/SDIBuilding__Locations__FTTx__GSF_20230731.csv"; $db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME); $log = mfLoghandler::singleton(); @@ -35,53 +35,57 @@ while($csv = fgetcsv($input, 0, ";")) { $hausnummer = false; - if(!trim($csv[0])) { + if(!trim($csv[1])) { continue; } //echo implode(", ", $csv)."\n"; - $gem_kz = trim($csv[6]); - $gem_name = trim($csv[5]); + $gem_kz = trim($csv[61]); + $gem_name = trim($csv[60]); //$ort_kz = trim($csv[2]); - $plz_name = trim($csv[16]); + $plz_name = trim($csv[89]); if(!$plz_name) { $plz_name = $default_plz; } - $ort_name = trim($csv[17]); - $strasse_hausnummer = trim($csv[15]); - $hausnummer_extref = trim($csv[1]); + $ort_name = trim($csv[32]); + $strasse_hausnummer = trim($csv[23]); + $hausnummer_extref = trim($csv[65]); if(in_array($hausnummer_extref, $h_extrefs)) { die("Hausnummer extref doppelt!\n"); } $h_extrefs[] = $hausnummer_extref; - $lat = str_replace(",",".",trim($csv[19])); - $long = str_replace(",",".",trim($csv[18])); + $lat = str_replace(",",".",trim($csv[10])); + $long = str_replace(",",".",trim($csv[11])); //var_dump($netzgebiet);exit; - $nutzung = trim($csv[7]); - $funktion = trim($csv[20]); - if($nutzung != "Greenfield" && $funktion == "Greenfield") { + $nutzung = trim($csv[31]); + //$funktion = trim($csv[6]); + /*if($nutzung != "Greenfield" && $funktion == "Greenfield") { $nutzung = "Greenfield"; - } + }*/ - $unit_count = $csv[13]; + $unit_count = $csv[79]; if(!$unit_count) $unit_count = 1; - + $adrcd = false; - $adr = trim($csv[21]); + $adr = trim($csv[47]); $adr_parts = explode("-", $adr); if(count($adr_parts)) { $adrcd = $adr_parts[0]; } + $fcp_name = $csv[50]; + $rimo_id = $csv[97]; + if(!$strasse_hausnummer) continue; //echo "strasse: $strasse\n"; //echo "strasse_building: $strasse_building\n"; - + + $strasse_name = ""; $hausnummer_name = ""; $addresszusatz = ""; @@ -105,29 +109,17 @@ while($csv = fgetcsv($input, 0, ";")) { continue; $strasse_name = trim($m[1]); } - - /*if($strasse_name == "Dr.Karl-Renner-Weg") $strasse_name = "Dr.-Karl-Renner-Weg"; - if($strasse_name == "Bierbaumer Strasse") $strasse_name = "Bierbaumerstrasse";*/ - if(preg_match('/GST(\s+\.)?$/', $strasse_name) && !$adrcd) continue; - if(preg_match('/^L\d+/',$strasse_name)) continue; - - /*if($strasse_name == "Hauptstrasse 103 Geschaeft" && $hausnummer_name == "1") { - $strasse_name = "Hauptstrasse"; - $hausnummer_name = "103"; - $addresszusatz = "Geschaeft 1"; - } - - if($strasse_name == "Hauptstrasse 131 Stg") { - $strasse_name = "Hauptstrasse"; - $addresszusatz = "Stg $hausnummer_name"; - $hausnummer_name = "131"; - }*/ - - if(!$strasse_name && !$nutzung == "Greenfield") { - die("Unbekanntes Adressformat\n"); - } + if($strasse_name == "Langegg-Grub Weg") continue; + + if(preg_match('/GST(\s+\.)?$/', $strasse_name) && !$adrcd) continue; + if(preg_match('/^L\d+/',$strasse_name)) continue; + + + if(!$strasse_name && $nutzung != "Greenfield") { + die("Unbekanntes Adressformat\n"); + } if(!$gem_name || !$plz_name || !$ort_name || !$strasse_name) { @@ -137,23 +129,33 @@ while($csv = fgetcsv($input, 0, ";")) { if(!$hausnummer_extref) { die("!!! Keine Hausnummer Extref\n"); } + + + $gemeinde = ADBGemeindeModel::getFirst(["kennziffer" => $gem_kz]); + if(!$gemeinde) { + echo "Gemeinde $gem_name $gem_kz nicht gefunden\n"; + continue; + } + $gemeinde_id = $gemeinde->id; //if($nutzung == "Greenfield") continue; //continue; // find address in AddressDB and update extrefs + $strasse_name = $db->escape($strasse_name); $hausnummer_name = $db->escape($hausnummer_name); if($adrcd) { // get Hausnummer to update $hausnummer = ADBHausnummerModel::getFirst(['adrcd' => $adrcd]); - if(!$hausnummer) { - die("Hausnummer adrcd $adrcd not found\n"); - } - //echo "Hausnummer mit adrcd gefunden\n"; - } else { + /*if(!$hausnummer) { + echo "Hausnummer adrcd $adrcd not found\n"; + }*/ + } + + if(!$hausnummer) { // search Hausnummer $strasse_search = [$strasse_name]; @@ -180,6 +182,7 @@ while($csv = fgetcsv($input, 0, ";")) { $sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = $gemeinde_id AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'"; + //echo "$sql\n"; /*if(preg_match('/^Tobelbader/i',$strasse_name)) { echo "$sql\n"; }*/ @@ -193,24 +196,41 @@ while($csv = fgetcsv($input, 0, ";")) { } else { // hausnummer anlegen //echo "hausnummer anlegen\n"; + + + $strasse = ADBStrasseModel::getFirst(["gemeinde_id" => $gemeinde_id, "name" => $strasse_name]); - if(!$strasse) die("Strasse $strasse_name nicht gefunden\n"); + if(!$strasse) die("Strasse $strasse_name (gemeinde_id $gemeinde_id; gem_kz $gem_kz) nicht gefunden\n"); + $plz = ADBPlzModel::getFirst(["gemeinde_id" => $gemeinde_id, "plz" => $plz_name]); if(!$plz) die("PLZ $plz_name nicht gefunden\n"); + $ortschaft = ADBOrtschaftModel::getFirst(["gemeinde_id" => $gemeinde_id, "name" => $ort_name]); - if(!$ortschaft) die("ortschaft $ortschaft nicht gefunden\n"); + if(!$ortschaft) { + foreach($ort_tries as $search_ort_name) { + $ortschaft = ADBOrtschaftModel::getFirst(["gemeinde_id" => $gemeinde_id, "name" => $search_ort_name]); + if($ortschaft) break; + } + } + if(!$ortschaft) { + die("ortschaft $ort_name ($strasse_name, $gem_name) nicht gefunden\n"); + } $hausnummer_data = [ "netzgebiet_id" => $netzgebiet->id, + "adrcd" => ($adrcd) ? $adrcd : null, "extref" => $hausnummer_extref, "ortschaft_id" => $ortschaft->id, "plz_id" => $plz->id, "strasse_id" => $strasse->id, "hausnummer" => $hausnummer_name, - "zusatz" => ($addresszusatz) ? : null, + "zusatz" => ($addresszusatz) ? $addresszusatz : null, "gps_lat" => $lat, "gps_long" => $long, + "unit_count" => ($unit_count) ? $unit_count : 1, "freigabe" => $default_freigabe, + "rimo_id" => $rimo_id, + "rimo_fcp_name" => $fcp_name ]; $hausnummer = ADBHausnummerModel::create($hausnummer_data); //var_dump($hausnummer);exit; @@ -222,23 +242,50 @@ while($csv = fgetcsv($input, 0, ";")) { //echo "Hausnummer extref: \033[1m$hausnummer_extref\033[0m | gem: \033[1m$gem_name\033[0m | plz: \033[1m$plz_name\033[0m | ort: \033[1m$ort_name\033[0m | strasse: \033[1m$strasse_name\033[0m | hausnummer: \033[1m$hausnummer_name\033[0m |"; //echo "Zusatz: \033[1m$addresszusatz\033[0m | (\033[1m$nutzung\033[0m) | ADRCD: \033[1m$adrcd\033[0m\n"; - + //var_dump($hausnummer);exit; //continue; if($hausnummer->netzgebiet_id != $netzgebiet->id) { $hausnummer->netzgebiet_id = $netzgebiet->id; - $hausnummer->save(); + //$hausnummer->save(); } if($hausnummer->extref != $hausnummer_extref) { $hausnummer->extref = $hausnummer_extref; - $hausnummer->save(); + //$hausnummer->save(); + } + if($lat && $long) { + $hausnummer->gps_lat = (float)$lat; + $hausnummer->gps_long = (float)$long; } - $hausnummer->gps_lat = (float)$lat; - $hausnummer->gps_long = (float)$long; $hausnummer->freigabe = $default_freigabe; + if($rimo_id) $hausnummer->rimo_id = $rimo_id; + if($fcp_name) $hausnummer->rimo_fcp_name = $fcp_name; $hausnummer->save(); - //echo "$data->ortschaft, $data->plz, $data->strasse, $data->hausnummer\n"; + + + $existing_units_count = ADBWohneinheitModel::count(["hausnummer_id" => $hausnummer->id]); + //echo "$existing_units_count\n"; + + if(!$existing_units_count) { + $hausnummer->unit_count = $unit_count; + // create units + + for($u = 0; $u < $unit_count; $u++) { + $num = $u + 1; + + $wohneinheit_data = [ + 'hausnummer_id' => $hausnummer->id, + 'num' => $num, + 'tuer' => ($unit_count > 1) ? $num : null + ]; + + $wohneinheit = ADBWohneinheitModel::create($wohneinheit_data); + //continue; + $wohneinheit->save(); + } + } + } \ No newline at end of file diff --git a/scripts/addressdb/gross-st-florian/02-addressdb_create_wohneinheiten.php b/scripts/addressdb/gross-st-florian/02-addressdb_create_wohneinheiten-old.php similarity index 100% rename from scripts/addressdb/gross-st-florian/02-addressdb_create_wohneinheiten.php rename to scripts/addressdb/gross-st-florian/02-addressdb_create_wohneinheiten-old.php diff --git a/scripts/addressdb/gross-st-florian/02-addressdb_update_wohneinheiten.php b/scripts/addressdb/gross-st-florian/02-addressdb_update_wohneinheiten.php new file mode 100755 index 000000000..27e66f8aa --- /dev/null +++ b/scripts/addressdb/gross-st-florian/02-addressdb_update_wohneinheiten.php @@ -0,0 +1,204 @@ +#!/usr/bin/php + "25138353", + "25138090" => "25138402", + "25138104" => "25138399", + "25138112" => "25138285", + "25138116" => "25138401", + "25138172" => "25138384", + "25138229" => "25138283", + "25138246" => "25138346", + "25138249" => "25151924", + "25138261" => "25138413", + "25138282" => "25138388", + "25138284" => "25138391", + "25151923" => "25151924", + "25138547" => "25138605", + "25138576" => "25138603", + "25138578" => "25138599", + "25138427" => "25138493", + "25138431" => "25138494", + "25138480" => "25138532", + "25138507" => "25138479" +]; + +$wohnextref_zusatz = [ + "SDIHome_92719443457_1666705401" => "Pfarrheim", + "SDIHome_92718863105_1666705401" => "Ölmühle", + "SDIHome_92718862081_1666705401" => "Ölmühle", + "SDIHome_92718073089_1666705401" => "Hinterhofgebäude", + "SDIHome_92718072065_1666705401" => "Hinterhofgebäude", + "SDIHome_92718071041_1666705401" => "Hinterhofgebäude", + "SDIHome_92718077185_1666705401" => "Lagerhalle und Werkstatt", + "SDIHome_92718076161_1666705401" => "Lagerhalle und Werkstatt", + "SDIHome_92719454721_1666705401" => "Zubau Musikheim", + "SDIHome_92719358977_1666705401" => "Firma", + "SDIHome_92719222273_1666705401" => "Wohnhaus", + "SDIHome_92719249921_1666705401" => "Wohnung", + "SDIBuilding_104216715265_1659686456" => "a", + "SDIHome_92719070465_1666705401" => "Nebengebäude" + ]; + +$hausnummer_extref_ignore = [ + "25138239", + "25158060", + "25158061" +]; + +$current_wohneinheit_nums = []; + +$i = 0; +while($csv = fgetcsv($input, 0, ";")) { + $i++; + if($i == 1) continue; + + if(!trim($csv[1])) { + continue; + } + + $zusatz = false; + $wohneinheit_extref = trim($csv[37]); + $hausnummer_extref = trim($csv[35]); + $building_string = trim($csv[25]); + + $adresse = ""; + + $m = []; + if(preg_match('/\[([^\]]+)\]/', $building_string, $m)) { + $adresse = $m[1]; + } + + + if(array_key_exists($hausnummer_extref, $hausnummer_extref_trans)) { + $hausnummer_extref = $hausnummer_extref_trans[$hausnummer_extref]; + } + + if(in_array($hausnummer_extref, $hausnummer_extref_ignore)) continue; + + $hausnummer = ADBHausnummerModel::getFirst(['extref' => $hausnummer_extref]); + if(!$hausnummer) { + if(preg_match('/(GST |^L\d)/', $adresse)) continue; + if($adresse) { + die("Hausnummer $hausnummer_extref nicht gefunden\n"); + } else { + continue; + } + } + + + if(array_key_exists($wohneinheit_extref, $wohnextref_zusatz)) { + $zusatz = $wohnextref_zusatz[$wohneinheit_extref]; + } + + if(array_key_exists($hausnummer_extref, $current_wohneinheit_nums)) { + $current_wohneinheit_nums[$hausnummer_extref]++; + } else { + $current_wohneinheit_nums[$hausnummer_extref] = 1; + } + + + // get last wohneinheit + $num = $current_wohneinheit_nums[$hausnummer_extref]; + + $unit_count = ADBWohneinheitModel::count(["hausnummer_id" => $hausnummer->id]); + if($num > $unit_count) { + $last_we = getLastWohneinheit($hausnummer->id); + if($last_we) { + $num = ($last_we->num) ? $last_we->num + 1 : 1; + } + //var_dump($current_wohneinheit_nums[$hausnummer_extref]); + $wohneinheit_data = [ + 'extref' => $wohneinheit_extref, + 'hausnummer_id' => $hausnummer->id, + 'num' => $num, + 'zusatz' => ($zusatz) ? $zusatz : null + ]; + + $wohneinheit = ADBWohneinheitModel::create($wohneinheit_data); + $wohneinheit->save(); + //echo "+ ".$wohneinheit->extref."\n"; + } else { + $wohneinheit = ADBWohneinheitModel::getFirst(['hausnummer_id' => $hausnummer->id, "extref" => $wohneinheit_extref]); + if($wohneinheit) continue; // unit with extref exists so continue + + if($hausnummer_extref == "25012281") { + $zusatz = "Haus ".(ceil($num / 12))." Top $num"; + //echo "$num: $zusatz\n"; + $wohneinheit = ADBWohneinheitModel::getFirst(['hausnummer_id' => $hausnummer->id, "zusatz" => $zusatz]); + if(!$wohneinheit) { + echo "top not found\n"; + } + } + + if($hausnummer_extref == "25012159") { + $m = []; + if(preg_match('/^Hauptstr.+Stg (\d+)/',$adresse, $m)) { + $stiege = $m[1]; + if(!$stiege) die("Stiege nicht gefunden\n"); + $wohneinheit = ADBWohneinheitModel::getFirst(['hausnummer_id' => $hausnummer->id, "zusatz" => "Stg. $stiege %", "extref" => null]); + $wohneinheit->stiege = $stiege; + } else { + die("no match: $adresse\n"); + } + } + + if(!$wohneinheit) { + // get unit with num + $wohneinheit = ADBWohneinheitModel::getFirst(['hausnummer_id' => $hausnummer->id, "num" => $num]); + } + // else get unit without num nor extref + if(!$wohneinheit) { + $wohneinheit = ADBWohneinheitModel::getFirst(['hausnummer_id' => $hausnummer->id, "num" => null, "extref" => null]); + } + } + + if(!$wohneinheit) { + echo "Keine passende Wohneinheit gefunden für $hausnummer_extref ($num)\n"; + exit; + } + + if(!$wohneinheit->extref) { + $wohneinheit->extref = $wohneinheit_extref; + //var_dump("UPDATE UNIT",$wohneinheit);exit; + //echo "u ".$wohneinheit->extref."\n"; + $wohneinheit->save(); + //exit; + } + //continue; + //var_dump($wohneinheit);exit; + + +} + +echo "\n"; + +function getLastWohneinheit($hausnummer_id) { + global $db; + $sql = "SELECT * FROM Wohneinheit WHERE hausnummer_id = $hausnummer_id ORDER BY num DESC LIMIT 1"; + $res = $db->query($sql); + if($db->num_rows($res)) { + return new ADBWohneinheit($db->fetch_object($res)); + } + return false; +} \ No newline at end of file diff --git a/scripts/addressdb/gross-st-florian/03-addressdb_update_wohneinheiten.php b/scripts/addressdb/gross-st-florian/03-addressdb_update_wohneinheiten.php deleted file mode 100644 index 03d5eb3c3..000000000 --- a/scripts/addressdb/gross-st-florian/03-addressdb_update_wohneinheiten.php +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/php - 4]) as $hausnummer) { - $units = []; - $units['--no-zusatz--'] = []; - foreach(ADBWohneinheitModel::search(['hausnummer_id' => $hausnummer->id]) as $einheit) { - if($einheit->zusatz) { - if(!array_key_exists($einheit->zusatz, $units)) { - $units[$einheit->zusatz] = []; - } - $units[$einheit->zusatz][] = $einheit; - } else { - $units['--no-zusatz--'][] = $einheit; - } - } - //if(count($units) === 1) continue; - //if(count($units['--no-zusatz--']) === 1) continue; - - - foreach($units as $zusatz => $us) { - //if($zusatz == "--no-zusatz--") { - if(count($us) > 1) { - $tuer = 1; - foreach($us as $u) { - $u->tuer = $tuer; - //if($u->zusatz) var_dump($u); - $u->save(); - $tuer++; - } - - } - } - -}