diff --git a/scripts/adb-rimo-import/rimo-import.php b/scripts/adb-rimo-import/rimo-import.php index 45fc14512..979e1b538 100755 --- a/scripts/adb-rimo-import/rimo-import.php +++ b/scripts/adb-rimo-import/rimo-import.php @@ -799,9 +799,21 @@ foreach ($clusters as $cluster_data) { $wo = \RimoWorkorderModel::getFirst(["rimo_id" => $rimo_workorder_id]); if($wo) { + $test_wo = $wo->adb_wohneinheit; + if($wo_home_external_id && $wo->adb_wohneinheit_id && (!$test_wo || !is_object($test_wo) || !$test_wo->id)) { + // workorder ist nicht-exisentem Home zugewiesen + // echtes home mit SDIHome finden + $wo_new_home = \ADBWohneinheitModel::getFirst(['extref' => $wo_home_external_id]); + if($wo_new_home) { + // if home exists, update workorder to new wohneinheit_id + $wo->adb_wohneinheit_id = $wo_new_home->id; + $wo->save(); + } + } + if($wo_home_external_id) { $wo_home = \ADBWohneinheitModel::getFirst(["extref" => $wo_home_external_id]); - if($wo_home != $wo->adb_wohneinheit_id) { + if($wo_home && $wo_home != $wo->adb_wohneinheit_id) { $addressErrors[] = "Wohneinheit für Workorder ".$wo->rimo_name." hat sich geändert von ".$wo->adb_wohneinheit_id." auf ".$wo_home->extref." (aber wurde nicht im Tool übernommen)"; } } else {