From 8524a5ec932b2416205cceb60010fddd6158fd4b Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Mon, 7 Jul 2025 12:13:27 +0200 Subject: [PATCH] rimo-import: changing workorders wohneinheit_id if current home not found --- scripts/adb-rimo-import/rimo-import.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 {