added new tool type field
This commit is contained in:
49
scripts/addressdb/update_hausnummer_tool_type.php
Normal file
49
scripts/addressdb/update_hausnummer_tool_type.php
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/php
|
||||
<?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);
|
||||
define("INTERNAL_USER_ID", $me->id);
|
||||
define("INTERNAL_USER_USERNAME", $me->username);
|
||||
define("MFBASE_BYPASS_LOGIN", true);
|
||||
|
||||
$logger = new ProgressLogger(ADBHausnummerModel::count(["netzgebiet_id" => true]));
|
||||
$logger->startMessage();
|
||||
|
||||
$network_owner_id_map = array_reduce(NetworkModel::getAll(), function($carry, $network) {
|
||||
$carry[$network->adb_netzgebiet_id] = $network->owner_id;
|
||||
return $carry;
|
||||
}, []);
|
||||
|
||||
foreach(ADBHausnummerModel::search(["netzgebiet_id" => true], 1) as $hausnummer) {
|
||||
$logger->incrementAndLog();
|
||||
|
||||
$unit_count = ADBWohneinheitModel::count(['hausnummer_id' => $hausnummer->id]);
|
||||
if ($hausnummer->id === 1597668) echo "Processing hausnummer ID: {$hausnummer->id}, Unit Count: {$unit_count}\n"; // New line for each hausnummer
|
||||
if($hausnummer->tool_building_type_override == 1) continue;
|
||||
|
||||
$hausnummer->tool_building_type = 0; // Unknown
|
||||
if (isset($network_owner_id_map[$hausnummer->netzgebiet_id]) && $network_owner_id_map[$hausnummer->netzgebiet_id] == 4807) {
|
||||
if($unit_count > 2) $hausnummer->tool_building_type = 2;
|
||||
else if ($unit_count > 0) $hausnummer->tool_building_type = 1;
|
||||
} else {
|
||||
if ($unit_count > 3) $hausnummer->tool_building_type = 2;
|
||||
else if ($unit_count > 0) $hausnummer->tool_building_type = 1;
|
||||
}
|
||||
|
||||
if(!$hausnummer->save()) {
|
||||
echo "\nError saving hausnummer ".$hausnummer->id."\n"; // New line for errors
|
||||
}
|
||||
}
|
||||
|
||||
$logger->finishMessage("Hausnummern");
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user