added new tool type field

This commit is contained in:
Luca Haid
2025-05-27 14:04:36 +02:00
parent 5a8fef9611
commit ece7dcf806
9 changed files with 207 additions and 14 deletions

View 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");
?>