diff --git a/Layout/default/AddressDB/Index.php b/Layout/default/AddressDB/Index.php index 57f4db95c..761b3c57a 100644 --- a/Layout/default/AddressDB/Index.php +++ b/Layout/default/AddressDB/Index.php @@ -123,7 +123,15 @@ " /> - + +
| Netzgebiet | Adrcd | OAID | @@ -176,6 +185,7 @@|
|---|---|---|---|
| =($address->visibility == "private") ? "" : ""?> | =$address->netzgebiet->name?> | =$address->adrcd?>=($address->subcd) ? "-".$address->subcd : ""?> | =$address->oaid?> | diff --git a/application/AddressDB/AddressDB.php b/application/AddressDB/AddressDB.php index a102b4928..55ce94410 100644 --- a/application/AddressDB/AddressDB.php +++ b/application/AddressDB/AddressDB.php @@ -250,7 +250,8 @@ class AddressDB { // build hausnummer data //$hausnummer_data['oaid'] = (array_key_exists("oaid", $data) && $data['oaid']) ? $data['oaid'] : null; - $hausnummer_data['adrcd'] = ($data['adrcd']) ? $data['adrcd'] : null; + $hausnummer_data['adrcd'] = ($adrcd) ? $adrcd : null; + $hausnummer_data['subcd'] = ($subcd) ? $subcd : null; $hausnummer_data['extref'] = ($data['extref']) ? $data['extref'] : null; $hausnummer_data['rimo_id'] = ($data['rimo_id']) ? $data['rimo_id'] : null; $hausnummer_data['netzgebiet_id'] = $netzgebiet_id; diff --git a/application/AddressDB/AddressDBController.php b/application/AddressDB/AddressDBController.php index 518016063..13efe5343 100644 --- a/application/AddressDB/AddressDBController.php +++ b/application/AddressDB/AddressDBController.php @@ -77,8 +77,7 @@ class AddressDBController extends mfBaseController { if(!array_key_exists("netzgebiet_id", $addressdb_filter)) { $addressdb_filter['netzgebiet_id'] = $netzgebiet_ids; } - $addressdb_filter["visibility"] = ["public", "private"]; - + $this->layout()->set("my_networks", ADBNetzgebietModel::getAll()); $this->layout()->set("my_adb_networks", $my_adb_networks); @@ -161,7 +160,13 @@ class AddressDBController extends mfBaseController { unset($filter['ortschaft']); unset($filter['ortschaft_id']); } - + + if(array_key_exists("visibility", $filter) && $filter['visibility']) { + $new_filter['visibility'] = $filter['visbility']; + } else { + $new_filter["visibility"] = ["public", "private"]; + unset($filter['visibility']); + } if(is_array($filter) && count($filter)) { foreach($filter as $name => $value) { diff --git a/scripts/adb-rimo-import/ADBAddressHelper/address_helper.php b/scripts/adb-rimo-import/ADBAddressHelper/address_helper.php index 44dfae442..c8db51e04 100644 --- a/scripts/adb-rimo-import/ADBAddressHelper/address_helper.php +++ b/scripts/adb-rimo-import/ADBAddressHelper/address_helper.php @@ -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]); @@ -297,6 +302,12 @@ class AddressHelper $this->logFindAddressError("[CC] Neues Gebäude erstellt ($addr_dbg_str)"); } } + + if($execution_state_id == "99" && !$hausnummer->netzgebiet_id) { + // don't 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); diff --git a/scripts/adb-rimo-import/rimo-import-test.php b/scripts/adb-rimo-import/rimo-import-test.php index 6708f347b..0ef486953 100755 --- a/scripts/adb-rimo-import/rimo-import-test.php +++ b/scripts/adb-rimo-import/rimo-import-test.php @@ -64,11 +64,6 @@ foreach ($netowners as $apiOwner) { } $epGetClusters = $apiUrl . RIMO_API_JSON_EP_GET_CLUSTERS; - $epGetBuildings = $apiUrl . RIMO_API_JSON_EP_GET_BUILDINGS; - $epGetWorkorders = $apiUrl . RIMO_API_JSON_EP_QUERY_WORKORDERS; - $epGetService = $apiUrl . RIMO_API_JSON_EP_QUERY_SERVICE; - $epGetGeoJsonForBuilding = $apiUrl . RIMO_API_JSON_EP_GET_JSON_FOR_BUILDING; - $epGetGeoJsonForCluster = $apiUrl . RIMO_API_JSON_EP_GET_JSON_FOR_CLUSTER; $import_count = 0; @@ -147,11 +142,19 @@ foreach ($clusters as $cluster_data) { } } + $baseParams = ['apiKey' => $apiToken]; + + $epGetBuildings = $apiUrl . RIMO_API_JSON_EP_GET_BUILDINGS; + $epGetWorkorders = $apiUrl . RIMO_API_JSON_EP_QUERY_WORKORDERS; + $epGetService = $apiUrl . RIMO_API_JSON_EP_QUERY_SERVICE; + $epGetGeoJsonForBuilding = $apiUrl . RIMO_API_JSON_EP_GET_JSON_FOR_BUILDING; + $epGetGeoJsonForCluster = $apiUrl . RIMO_API_JSON_EP_GET_JSON_FOR_CLUSTER; /* * get Cluster Outline Coords */ + $params = $baseParams; $params['clusterId'] = $cluster_rimo_id; $qs = http_build_query($params); @@ -240,6 +243,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 +356,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