Added Lieboch Rimo import script

This commit is contained in:
Frank Schubert
2023-03-23 18:39:14 +01:00
parent f889ba61ab
commit bf143693cc
3 changed files with 46 additions and 75 deletions

View File

@@ -71,8 +71,8 @@ class ADBHausnummerModel {
ORDER BY netzgebiet_id,Gemeinde.id,ortschaft_id,strasse_id,LENGTH(hausnummer), hausnummer
LIMIT 1";
//mfLoghandler::singleton()->debug($where);
$res = $db->select("Hausnummer", "*", "$where ORDER BY strasse_id,hausnummer LIMIT 1");
mfLoghandler::singleton()->debug($sql);
$res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
$item = new ADBHausnummer($data);

View File

@@ -12,14 +12,13 @@ require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
$netzgebiet_name_main = "Liezen";
$freigabe_default = json_encode(["interest", "provision", "order", "reorder"]);
$adb_gemeinde_id = 1462;
$me = new User(1);
$folder = __DIR__."/import/";
$csvname = "SDIBuilding__Locations__FTTx_premstaetten_2023-03-07.csv";
$csvname = "RIMO_230307_Adressen_Cluster_Lieboch.csv";
$filename = $folder.$csvname;
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
@@ -41,20 +40,21 @@ while($csv = fgetcsv($input, 0, ";")) {
continue;
}
$hausnummer_extref = trim($csv[64]);
$adrcd_subcd = trim($csv[46]);
$netzgebiet_extref = trim($csv[54]);
$grund_nr = trim($csv[73]);
$hausnummer_extref = trim($csv[48]);
$adrcd = trim($csv[65]);
$netzgebiet_extref = trim($csv[55]);
$grund_nr = trim($csv[74]);
//gps_long, gps_lat
//$rollout_time = trim($csv[17]);
//$rollout_info = trim($csv[18]);
//$freigabe = trim($csv[19])
$unit_count = trim($csv[78]);
$gdaeigenschaft = trim($csv[66]);
$fcp_name = trim($csv[49]);
//$unit_count = trim($csv[78]);
$gdaeigenschaft = trim($csv[67]);
$fcp_name = trim($csv[50]);
$execution_state = trim($csv[8]);
$btype = trim($csv[30]);
$execution_state = trim($csv[9]);
$btype = trim($csv[31]);
if(!$netzgebiet_extref) {
continue;
@@ -75,16 +75,10 @@ while($csv = fgetcsv($input, 0, ";")) {
continue;
}
$adrcd = false;
if($adrcd_subcd) {
$adrparts = explode("-", $adrcd_subcd);
$adrcd = $adrparts[0];
}
$gem_name = trim($csv[59]);
$gem_name = trim($csv[60]);
$plz_string = trim($csv[88]);
$ort_name = trim($csv[31]);
$strasse_hausnummer = trim($csv[22]);
$ort_name = trim($csv[32]);
$strasse_hausnummer = trim($csv[23]);
$strasse_name = "";
$hausnummer_name = "";
@@ -98,25 +92,8 @@ while($csv = fgetcsv($input, 0, ";")) {
}
}
/*
$adrcd = trim($csv[0]);
$gem_kz = trim($csv[2]);
$gem_name = trim($csv[3]);
$ort_kz = trim($csv[5]);
$plz_string = trim($csv[4]);
$ort_name = trim($csv[6]);
$skz = trim($csv[7]);
$strasse_name = trim($csv[8]);
$hausnummer_string = trim($csv[9]);
$hausnummer_extref = trim($csv[0]);
if(in_array($hausnummer_extref, $h_extrefs)) {
die("Hausnummer extref doppelt! $hausnummer_extref\n");
}
$h_extrefs[] = $hausnummer_extref;
*/
//$lat = str_replace(",",".",trim($csv[7]));
//$long = str_replace(",",".",trim($csv[8]));
$lat = str_replace(",",".",trim($csv[10]));
$long = str_replace(",",".",trim($csv[11]));
if(!$adrcd) {
@@ -128,45 +105,29 @@ while($csv = fgetcsv($input, 0, ";")) {
continue;
}
if(!$hausnummer_extref) {
die("!!! Keine Hausnummer Extref\n");
}
if($hausnummer_extref == "25012262") {
$unit_count = 45;
}
if($hausnummer_extref == "25012676") {
if(!$hausnummer_extref || !is_numeric($hausnummer_extref)) {
//echo("Keine Hausnummer Extref\n");
continue;
}
if($hausnummer_extref == "25012153" || $hausnummer_extref == "25012155" || $hausnummer_extref == "25012157") {
continue;
}
if($hausnummer_extref == "25012159") {
$unit_count = 61;
}
if($adrcd == "25023176") continue;
if($hausnummer_extref == "25010649") {
continue;
}
if($hausnummer_extref == "25010723" || $hausnummer_extref == "25010816") {
continue;
}
$existing_hausnummer = ADBHausnummerModel::getFirst(["extref" => $hausnummer_extref]);
$existing_hausnummer = ADBHausnummerModel::getFirst(["extref" => $hausnummer_extref, "gemeinde_id" => $adb_gemeinde_id]);
if(!$existing_hausnummer) {
$existing_hausnummer = ADBHausnummerModel::getFirst(["adrcd" => $adrcd]);
}
if(!$existing_hausnummer) {
if(!$existing_hausnummer) {
//echo "$hausnummer_extref not found $strasse_name $hausnummer_name\n";
//continue;
// find hausnummer
//echo "$strasse_name $hausnummer_name\n";
if($strasse_name == "Toepferring") $strasse_name = "Töpferring";
if($strasse_name == "Foehrenweg") $strasse_name = "Föhrenweg";
//if($strasse_name == "Toepferring") $strasse_name = "Töpferring";
//if($strasse_name == "Foehrenweg") $strasse_name = "Föhrenweg";
if($strasse_name == "Hans-Thalhammer-Straße") $strasse_name = "H. Thalhammer-Straße";
if($strasse_name == "Packerstraße") $strasse_name = "Packer Straße";
$strasse_name = $db->escape($strasse_name);
$hausnummer_name = $db->escape($hausnummer_name);
@@ -195,7 +156,7 @@ while($csv = fgetcsv($input, 0, ";")) {
}
$sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = 1 AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'";
$sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = $adb_gemeinde_id AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'";
$res = $db->query($sql);
if($db->num_rows($res)) {
@@ -209,6 +170,12 @@ while($csv = fgetcsv($input, 0, ";")) {
$existing_hausnummer->extref = $hausnummer_extref;
$existing_hausnummer->grund_nr = $grund_nr;
if($lat && $long) {
$existing_hausnummer->gps_lat = $lat;
$existing_hausnummer->gps_long = $long;
}
$existing_hausnummer->gdaeigenschaft = $gdaeigenschaft;
$existing_hausnummer->rimo_fcp_name = $fcp_name;
if(!$existing_hausnummer->oaid) {
@@ -217,9 +184,10 @@ while($csv = fgetcsv($input, 0, ";")) {
$existing_hausnummer->save();
} else {
echo "Address not found (straße: $strasse_name, hausnummer: $hausnummer_name, adrcd: $adrcd, extref: $hausnummer_extref, unit_count: $unit_count)\n";
echo "Address not found (straße: $strasse_name, hausnummer: $hausnummer_name, adrcd: $adrcd, extref: $hausnummer_extref)\n";
}
} else {
// found hausnummer
$existing_hausnummer->netzgebiet_id = $netzgebiet->id;
if(!$existing_hausnummer->adrcd) {
@@ -228,6 +196,10 @@ while($csv = fgetcsv($input, 0, ";")) {
$existing_hausnummer->extref = $hausnummer_extref;
$existing_hausnummer->grund_nr = $grund_nr;
if($lat && $long) {
$existing_hausnummer->gps_lat = $lat;
$existing_hausnummer->gps_long = $long;
}
$existing_hausnummer->gdaeigenschaft = $gdaeigenschaft;
$existing_hausnummer->rimo_fcp_name = $fcp_name;
if(!$existing_hausnummer->oaid) {
@@ -236,7 +208,7 @@ while($csv = fgetcsv($input, 0, ";")) {
$existing_hausnummer->save();
}
continue;
/*
// add new units
$existing_units_count = ADBWohneinheitModel::count(['hausnummer_id' => $existing_hausnummer->id]);
if($existing_units_count != $unit_count) {
@@ -244,7 +216,7 @@ while($csv = fgetcsv($input, 0, ";")) {
echo "========================================================================\n";
echo "=============== [".$existing_hausnummer->id."] Need to delete ".($existing_units_count - $unit_count)." units\n";
echo "========================================================================\n";
}*/
}*//*
if($existing_units_count < $unit_count) {
echo "=============== Adding ".($unit_count - $existing_units_count)." units\n";
@@ -282,7 +254,7 @@ while($csv = fgetcsv($input, 0, ";")) {
}
}
*/
//echo "$hausnummer_extref: $adrcd, $netzgebiet_extref, $grund_nr, $unit_count, $gdaeigenschaft\n";
}

View File

@@ -12,7 +12,6 @@ require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
$netzgebiet_name_main = "Liezen";
$freigabe_default = json_encode(["interest", "provision", "order", "reorder"]);