AdressDB visibility filter & not importing canceled buildings

This commit is contained in:
Frank Schubert
2024-06-18 14:29:39 +02:00
parent cb97fa1cbd
commit 49880ede42
4 changed files with 50 additions and 9 deletions

View File

@@ -152,6 +152,9 @@ class AddressHelper
}
}
$execution_state_id = $building->executionState->name;
$execution_state_label = $building->executionState->userLabel;
$addr_dbg_str = "strasse_hausnummer: $strasse_hausnummer | zusatz: $addresszusatz | gemkz: $gem_kz | gem_name: $gem_name | ort_name: $ort_name | plz_name: $plz_name | adrcd: $adr | $rimo_id";
if (!$hausnummer_name || !$gem_name || !$plz_name || !$ort_name || !$strasse_name) {
@@ -178,10 +181,6 @@ class AddressHelper
}
}
$gemeinde = ADBGemeindeModel::getFirst(["kennziffer" => $gem_kz]);
if (!$gemeinde) {
//$this->log->warning("[EE] Gemeinde $gem_name $gem_kz nicht gefunden ($addr_dbg_str)");
@@ -218,6 +217,12 @@ class AddressHelper
if (!$hausnummer) {
$hausnummer = $this->findHausnummerByStreet($strasse_name, $hausnummer_name, $gemeinde_id);
if (!$hausnummer) {
// dont create Hausnummer if Canceled in Rimo
if($execution_state_id == "99") {
echo "== Not importing because execution state $execution_state_id ($execution_state_label)\n";
return false;
}
// hausnummer anlegen
$plz = ADBPlzModel::getFirst(["gemeinde_id" => $gemeinde_id, "plz" => $plz_name]);
@@ -298,6 +303,12 @@ class AddressHelper
}
}
if($execution_state_id == "99" && !$hausnummer->netzgebiet_id) {
// dont import Hausnummer if Canceled in Rimo
echo "== not setting netzgebite_id because execution state $execution_state_id ($execution_state_label)\n";
return false;
}
$this->checkGemeindeNetzgebiet($gemeinde, $this->netzgebiet);
// update hausnummer

View File

@@ -240,6 +240,21 @@ foreach ($clusters as $cluster_data) {
}
$hausnummer_found_count++;
/*
* Set Building Status based on Operational-/Executionstate
*/
$b_execution_state_id = $building->executionState->name;
$b_execution_state_label = $building->executionState->userLabel;
$b_operationalstate_id = $building->operationalState->name;
$b_operationalstate_label = $building->operationalState->userLabel;
if($b_execution_state_id == "99" && $hausnummer->visibility != "private") {
echo "== Setting visibility to private because execution state $b_execution_state_id ($b_execution_state_label) [".$hausnummer->id."]\n";
$hausnummer->visibility = "private";
$hausnummer->save();
}
$last_unit_num = 0;
$existing_units = [];
@@ -338,7 +353,7 @@ foreach ($clusters as $cluster_data) {
$unit_extdata->rimo->ftu = $ftu_data;
$unit->external_data = json_encode($unit_extdata);
if (!$unit->save()) {
die("!!! Error saving unit extdata\n" . print_f($unit));
die("!!! Error saving unit extdata\n" . print_r($unit));
}
// check OAID