Files
thetool/scripts/delete-oaid.php

89 lines
2.8 KiB
PHP

#!/usr/bin/php
<?php
exit;
//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);
$hausnummern = [
1680565,
1680564,
1680562,
1680563
];
$preorders = [];
$db = new FronkDB();
$adb = new FronkDB(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
// delete OAIDs from rimo
foreach($hausnummern as $hausnummmer_id) {
foreach(ADBWohneinheitModel::search(["hausnummer_id" => $hausnummmer_id]) as $unit) {
$oaid = $unit->oaid;
$ftu = $unit->ftu_data;
$ftu_id = $ftu["id"];
echo "$ftu_id ".$unit->oaid."\n";
if(!$ftu_id) {
echo "Keine ftu id for home with oaid ".$unit->oaid."\n";
}
Rimoapi::unassignOaid($oaid, $ftu_id);
}
}
// remove OAIDs from Wohneinheiten und Preorders (out of framework)
foreach($hausnummern as $hausnummmer_id) {
foreach(ADBWohneinheitModel::search(["hausnummer_id" => $hausnummmer_id]) as $unit) {
$update_preorder_sql = "";
$update_unit_sql = "";
$update_oaid_sql = "";
if(!$unit->oaid) continue;
// delete oaid from preorder
$preorder = PreorderModel::getFirst(["oaid" => $unit->oaid]);
if($preorder) {
$update_preorder_sql = "UPDATE Preorder SET oaid=NULL WHERE id=" . $preorder->id;
$preorders[] = $preorder;
}
// delete oaid from unit
$update_unit_sql = "UPDATE Wohneinheit SET oaid=NULL WHERE id=".$unit->id;
// delete oaid from OpenSccessId
$oaid_object = OpenAccessIdModel::getFirst(["oaid" => $unit->oaid]);
if($oaid_object) {
$update_oaid_sql = "UPDATE OpenAccessId SET assigned=0, adb_wohneinheit_id=NULL, exported=0, exported_to=NULL, export_data=NULL, address=NULL, unit_string=NULL WHERE id=".$oaid_object->id;
}
echo $unit->oaid."\n";
echo "$update_preorder_sql\n$update_unit_sql\n$update_oaid_sql\n";
if($update_preorder_sql) $db->query($update_preorder_sql, true);
if($update_unit_sql) $adb->query($update_unit_sql, true);
if($update_oaid_sql) $db->query($update_oaid_sql, true);
foreach(RimoWorkorderModel::search(["adb_wohneinheit_id" => $unit->id]) as $wo) {
echo "lösche Workorder ".$wo->id."\n";
$wo->delete();
}
echo "\n";
}
}
//exit;
// Preorders speichern, um neue OAID zu generieren
foreach($preorders as $preorder) {
$preorder->save();
}