RimoImport: More error handling and recovery
This commit is contained in:
@@ -173,6 +173,10 @@ class AddressHelper
|
||||
}
|
||||
}
|
||||
|
||||
if(!is_numeric($subcd)) {
|
||||
$subcd = false;
|
||||
}
|
||||
|
||||
$execution_state_id = $building->executionState->name;
|
||||
$execution_state_label = $building->executionState->userLabel;
|
||||
|
||||
@@ -346,7 +350,11 @@ class AddressHelper
|
||||
//var_dump($hausnummer);exit;
|
||||
//echo "----------------------\ncreating hausnummer:\n";
|
||||
//print_r($hausnummer);
|
||||
$hausnummer->save();
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving new Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($force_subcd) {
|
||||
$this->logFindAddressError("[CC] Neues Gebäude erstellt (forced subcd) ($addr_dbg_str)");
|
||||
} elseif($force_no_subcd) {
|
||||
@@ -357,6 +365,13 @@ class AddressHelper
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(!$hausnummer->id) {
|
||||
$this->logFindAddressError("[EE] Unable to find or create Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if($execution_state_id == "99" && !$hausnummer->netzgebiet_id) {
|
||||
// don't import Hausnummer if Canceled in Rimo
|
||||
@@ -372,7 +387,10 @@ class AddressHelper
|
||||
$dont_overwrite_netzgbiet = $hausnummer->netzgebiet->getOption("hausnummer_dont_overwrite_netzgebiet");
|
||||
if (!$dont_overwrite_netzgbiet) {
|
||||
$hausnummer->netzgebiet_id = $this->netzgebiet->id;
|
||||
$hausnummer->save();
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -382,7 +400,10 @@ class AddressHelper
|
||||
if ($new_strasse) {
|
||||
$this->logFindAddressError("[II] Updating Strasse from " . $hausnummer->strasse->name . " to " . $new_strasse->name . " ($addr_dbg_str)");
|
||||
$hausnummer->strasse_id = $new_strasse->id;
|
||||
$hausnummer->save;
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
$this->logFindAddressError("[WW] Cannot update Strasse from " . $hausnummer->strasse->name . " to " . $strasse_name . " because not found ($addr_dbg_str)");
|
||||
}
|
||||
@@ -391,7 +412,10 @@ class AddressHelper
|
||||
if ($hausnummer_name != $hausnummer->hausnummer) {
|
||||
$this->logFindAddressError("[II] Updating Hausnummer from " . $hausnummer->hausnummer . " to " . $hausnummer_name . " ($addr_dbg_str)");
|
||||
$hausnummer->hausnummer = $hausnummer_name;
|
||||
$hausnummer->save;
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($plz_name != $hausnummer->plz->plz) {
|
||||
@@ -399,7 +423,10 @@ class AddressHelper
|
||||
if ($new_plz) {
|
||||
$this->logFindAddressError("[II] Updating PLZ from " . $hausnummer->plz->plz . " to " . $new_plz->plz . " ($addr_dbg_str)");
|
||||
$hausnummer->plz_id = $new_plz->id;
|
||||
$hausnummer->save;
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
$this->logFindAddressError("[WW] Cannot update PLZ from " . $hausnummer->plz->plz . " to " . $plz_name . " because not found ($addr_dbg_str)");
|
||||
}
|
||||
@@ -408,25 +435,40 @@ class AddressHelper
|
||||
|
||||
if ($hausnummer->extref != $name) {
|
||||
$hausnummer->extref = $name;
|
||||
$hausnummer->save();
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if ($lat && $long) {
|
||||
$hausnummer->gps_lat = (float)$lat;
|
||||
$hausnummer->gps_long = (float)$long;
|
||||
$hausnummer->save();
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if ($hausnummer->rimo_id != $rimo_id) {
|
||||
$hausnummer->rimo_id = $rimo_id;
|
||||
$hausnummer->save();
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($hausnummer->rimo_fcp_name != $fcp_name) {
|
||||
$hausnummer->rimo_fcp_name = $fcp_name;
|
||||
$hausnummer->save();
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if($update_freigabe && $hausnummer->freigabe != $this->netzgebiet->freigabe) {
|
||||
$hausnummer->freigabe = $this->netzgebiet->freigabe;
|
||||
$hausnummer->save();
|
||||
if(!$hausnummer->save()) {
|
||||
$this->logFindAddressError("[EE] Error saving Hausnummer ($addr_dbg_str)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$hausnummer->oaid && $this->netzgebiet->unit_create_oaid) {
|
||||
|
||||
@@ -231,6 +231,7 @@ foreach ($clusters as $cluster_data) {
|
||||
$hausnummer_count++;
|
||||
|
||||
$rimo_building_id = $building->id;
|
||||
|
||||
$hausnummer = $AddressHelper->findUpdateAddressFromRimoBuilding($building);
|
||||
if (!$hausnummer) {
|
||||
//echo "Adresse nicht gefunden: $rimo_building_id\n";
|
||||
@@ -334,6 +335,8 @@ foreach ($clusters as $cluster_data) {
|
||||
$rimo_home_list = [];
|
||||
|
||||
foreach ($building->homes->item as $home) {
|
||||
if(!$home->id) continue;
|
||||
|
||||
$hausnummer = new \ADBHausnummer($hausnummer_id);
|
||||
//print_r($home);exit;
|
||||
$homes_count++;
|
||||
|
||||
Reference in New Issue
Block a user