Files
thetool/scripts/addressdb/remove_multiple_streets.php
2022-11-17 13:53:36 +01:00

51 lines
1.6 KiB
PHP

#!/usr/bin/php
<?php
//require 'vendor/autoload.php';
require("../../config/config.php");
define('FRONKDB_SQLDEBUG',false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
$me = new User(1);
$i = 0;
$master_strassen = [];
foreach(ADBStrasseModel::search(['gemeinde_id' => 1]) as $mstrasse) {
$master_strassen[$mstrasse->id] = $mstrasse;
}
while(count($master_strassen)) {
echo "count master strassen ".count($master_strassen)."\n";
$strasse = array_shift($master_strassen);
//var_dump($strasse);
$all_strassen = ADBStrasseModel::search(['gemeinde_id' => $strasse->gemeinde_id, "kennziffer" => $strasse->kennziffer]);
if(count($all_strassen) > 1) {
//var_dump($all_strassen);
$orig_strasse = array_shift($all_strassen);
//var_dump($orig_strasse, $all_strassen);exit;
$wrong_strasse_ids = [];
foreach($all_strassen as $rstrasse) {
$wrong_strasse_ids[] = $rstrasse->id;
$rstrasse->delete();
}
//var_dump($wrong_strasse_ids);
foreach(ADBHausnummerModel::search(['strasse_id' => $wrong_strasse_ids]) as $hausnummer) {
//var_dump($hausnummer);exit;
echo "updating hausnummer ".$hausnummer->id.": strasse_id ".$hausnummer->strasse_id." to ".$orig_strasse->id."\n";
$hausnummer->strasse_id = $orig_strasse->id;
$hausnummer->save();
}
foreach($wrong_strasse_ids as $wid) {
unset($master_strassen[$wid]);
}
echo "ecount master strassen ".count($master_strassen)."\n";
}
$i++;
}