Files
thetool/scripts/addressdb/premstaetten-nord/import-building-fcp.php
2025-03-26 14:07:14 +01:00

95 lines
2.1 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);
define("INTERNAL_USER_ID", $me->id);
define("INTERNAL_USER_USERNAME", $me->username);
define("MFBASE_BYPASS_LOGIN", true);
$filename = __DIR__."/import/SDIBuilding__Locations__FTTx___241204_PremNord.csv";
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
$log = mfLoghandler::singleton();
$input = fopen($filename, "r");
$bom = "\xef\xbb\xbf";
if(fgets($input, 4) !== $bom) {
// BOM not found - rewind pointer to start of file.
rewind($input);
}
$netzgebiet = new ADBNetzgebiet(2);
$default_freigabe = json_encode(["interest", "provision", "order", "reorder"]);
$headers = [];
$u = 0;
$i = 0;
while($csv = fgetcsv($input, 0, ";")) {
$i++;
if($i == 1) {
foreach($csv as $key => $name) {
$headers[$name] = $key;
}
continue;
}
//var_dump($headers);exit;
$fcp = false;
if(!trim($csv[1])) {
continue;
}
$fcp_name = trim($csv[$headers["FCP cluster name"]]);
$rimo_id = trim($csv[$headers["ExternalID"]]);
if(!$rimo_id) {
echo "no rimo id\n";
continue;
}
if(!$fcp_name) {
echo "no fcp name\n";
continue;
}
$fcp = ADBRimoFcp::getFirst(["netzgebiet_id" => $netzgebiet->id, "name" => $fcp_name]);
if(!$fcp) {
echo "FCP nicht gefunden in netzgebiet\n";
continue;
}
$building = ADBHausnummerModel::getFirst(["rimo_id" => $rimo_id]);
if(!$building) {
echo "Hausnummer nicht gefunden\n";
continue;
}
if($building->fcp_id != $fcp->id) {
$building->fcp_id = $fcp->id;
$building->save();
}
$u++;
//echo implode(", ", $csv)."\n";
//$gem_kz = trim($csv[61]);
}
echo "updated $u Hausnummern\n";