AdressDB visibility filter & not importing canceled buildings
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user