Added script to delete OAIDs incl. all linked data from Preorders
This commit is contained in:
89
scripts/delete-oaid.php
Normal file
89
scripts/delete-oaid.php
Normal file
@@ -0,0 +1,89 @@
|
||||
#!/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();
|
||||
}
|
||||
Reference in New Issue
Block a user