From 632160dce9754ac4197bb02a40615132d0bfbef1 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Mon, 11 Nov 2024 18:36:45 +0100 Subject: [PATCH] Added buildingType in ADB hausnummer and rimo import --- application/ADBWohneinheit/ADBWohneinheit.php | 9 +++--- ...0241111132029_hausnummer_add_rimo_type.php | 31 +++++++++++++++++++ scripts/adb-rimo-import/rimo-import.php | 7 +++++ 3 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 db/migrations/20241111132029_hausnummer_add_rimo_type.php diff --git a/application/ADBWohneinheit/ADBWohneinheit.php b/application/ADBWohneinheit/ADBWohneinheit.php index e635a4d4e..ada8a00b6 100644 --- a/application/ADBWohneinheit/ADBWohneinheit.php +++ b/application/ADBWohneinheit/ADBWohneinheit.php @@ -46,16 +46,14 @@ class ADBWohneinheit extends mfBaseModel { if($hausnummer->netzgebiet_id) { $netzgebiet = new ADBNetzgebiet($hausnummer->netzgebiet_id); if($netzgebiet->id) { - /*$netzgebiet->unit_count = ADBWohneinheitModel::count(['netzgebiet_id' => $hausnummer->netzgebiet_id]); - $gda_egenschaft = strtolower($hausnummer->gdaeigenschaft); - if($gda_egenschaft && array_key_exists($gda_egenschaft, TT_ADB_GDA_TYPES)) { - $netzgebiet->{"unit_count_".TT_ADB_GDA_TYPES[$gda_egenschaft]}; - }*/ $unit_count = ADBWohneinheitModel::count(['netzgebiet_id' => $hausnummer->netzgebiet_id]); if($unit_count) { $unit_count_gda = []; foreach(ADBHausnummerModel::search(["netzgebiet_id" => $hausnummer->netzgebiet_id]) as $hausnummer) { $gda_egenschaft = strtolower($hausnummer->gdaeigenschaft); + if($hausnummer->rimo_type) { + $gda_egenschaft = strtolower($hausnummer->rimo_type); + } if($gda_egenschaft && array_key_exists($gda_egenschaft, TT_ADB_GDA_TYPES)) { $type = TT_ADB_GDA_TYPES[$gda_egenschaft]; if(!array_key_exists($type, $unit_count_gda)) { @@ -69,6 +67,7 @@ class ADBWohneinheit extends mfBaseModel { } } + var_dump($netzgebiet); $netzgebiet->unit_count = $unit_count; $netzgebiet->save(); } diff --git a/db/migrations/20241111132029_hausnummer_add_rimo_type.php b/db/migrations/20241111132029_hausnummer_add_rimo_type.php new file mode 100644 index 000000000..745d147aa --- /dev/null +++ b/db/migrations/20241111132029_hausnummer_add_rimo_type.php @@ -0,0 +1,31 @@ +getEnvironment() == "thetool") { + + } + + if($this->getEnvironment() == "addressdb") { + $table = $this->table("Hausnummer"); + $table->addColumn("rimo_type", "string", ["null" => true, "default" => null, "after" => "rimo_id"]); + $table->update(); + } + } + + public function down(): void + { + if($this->getEnvironment() == "thetool") { + + } + + if($this->getEnvironment() == "addressdb") { + $this->table("Hausnummer")->removeColumn("rimo_type")->save(); + } + } +} diff --git a/scripts/adb-rimo-import/rimo-import.php b/scripts/adb-rimo-import/rimo-import.php index 35daf655e..acfb53ec3 100755 --- a/scripts/adb-rimo-import/rimo-import.php +++ b/scripts/adb-rimo-import/rimo-import.php @@ -280,6 +280,13 @@ foreach ($clusters as $cluster_data) { \mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0); } + if(is_object($building->buildingType) && property_exists($building->buildingType, "userLabel") && $building->buildingType->userLabel) { + $hausnummer->rimo_type = strtolower($building->buildingType->userLabel); + $hausnummer->save(); + \mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0); + $hausnummer = new \ADBHausnummer($hausnummer_id); + } + $last_unit_num = 0; $existing_units = [];