From e2a92fc0e675ad06e8f77a16e17527ef222343c3 Mon Sep 17 00:00:00 2001 From: Luca Haid Date: Sun, 16 Nov 2025 20:31:24 +0100 Subject: [PATCH] Enhance visibility condition for faulty Hausnummer IDs in PreorderModel --- application/Preorder/PreorderModel.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/application/Preorder/PreorderModel.php b/application/Preorder/PreorderModel.php index a4a5bf6b8..adb334f6e 100644 --- a/application/Preorder/PreorderModel.php +++ b/application/Preorder/PreorderModel.php @@ -1423,6 +1423,23 @@ ORDER BY // add time debug $startTime = microtime(true); + $campaign = PreordercampaignModel::getFirst(['id' => $safeCampaignId]); + $faultyHausnummerIds = []; + if ($campaign && !empty($campaign->rimo_type_map_faults)) { + $faults = json_decode($campaign->rimo_type_map_faults, true); + foreach ($faults as $fault) { + if (empty($fault['done'])) { + $faultyHausnummerIds[] = (int)$fault['hausnummer_id']; + } + } + } + + $visibilityCondition = "AND (h.visibility IS NULL OR h.visibility != 'private')"; + if (!empty($faultyHausnummerIds)) { + $ids = implode(',', $faultyHausnummerIds); + $visibilityCondition = "AND ((h.visibility IS NULL OR h.visibility != 'private') OR h.id IN ({$ids}))"; + } + $sql = " SELECT h.id AS hausnummer_id, h.gps_lat, h.gps_long, h.rimo_type, h.rimo_op_state, h.rimo_ex_state, h.hausnummer, @@ -1444,6 +1461,7 @@ ORDER BY JOIN `{$fronkDbName}`.`Network` n ON pc.network_id = n.id WHERE pc.id = {$safeCampaignId} ) AND h.gps_lat IS NOT NULL AND h.gps_long IS NOT NULL + {$visibilityCondition} GROUP BY h.id ORDER BY h.id ";