added new adbrimofcp map

This commit is contained in:
2025-09-16 11:51:25 +02:00
parent e79b2392c9
commit 5db3a64e34
7 changed files with 445 additions and 25 deletions
+31 -1
View File
@@ -1230,7 +1230,7 @@ class PreorderModel
public static function countTotalUnits($preorderCampaignId = null) {
$db = FronkDB::singleton();
$where = "1=1";
$where = " h.rimo_type != 'greenfield' ";
if ($preorderCampaignId) {
$where .= " AND pc.id = $preorderCampaignId";
}
@@ -1348,5 +1348,35 @@ ORDER BY
return $items;
}
public static function getPreorderRimoTypeData(int $campaignId): array {
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
$fronkDbName = defined('FRONKDB_DBNAME') ? FRONKDB_DBNAME : 'thetool';
$addressDbName = defined('ADDRESSDB_DBNAME') ? ADDRESSDB_DBNAME : 'addressdb';
$safeCampaignId = (int)$campaignId;
$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,
s.name AS strasse_name, plz.plz AS plz_name, o.name AS ortschaft_name,
COUNT(DISTINCT we.id) AS wohneinheit_count,
COUNT(DISTINCT pr.id) AS preorder_count
FROM `{$addressDbName}`.`Hausnummer` AS h
LEFT JOIN `{$addressDbName}`.`Wohneinheit` AS we ON h.id = we.hausnummer_id
LEFT JOIN `{$fronkDbName}`.`Preorder` AS pr ON we.id = pr.adb_wohneinheit_id AND pr.preordercampaign_id = {$safeCampaignId} AND pr.deleted = 0
LEFT JOIN `{$fronkDbName}`.`Preorderstatus` AS ps ON pr.status_id = ps.id AND ps.code < 899
LEFT JOIN `{$addressDbName}`.`Strasse` AS s ON h.strasse_id = s.id
LEFT JOIN `{$addressDbName}`.`Plz` AS plz ON h.plz_id = plz.id
LEFT JOIN `{$addressDbName}`.`Ortschaft` AS o ON h.ortschaft_id = o.id
WHERE h.netzgebiet_id = (
SELECT n.adb_netzgebiet_id FROM `{$fronkDbName}`.`Preordercampaign` pc
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
GROUP BY h.id
ORDER BY h.id
";
$result = $db->query($sql);
return $result ? $result->fetch_all(MYSQLI_ASSOC) : [];
}
}