script to delete multiple addresses with same customer number

This commit is contained in:
Frank Schubert
2024-08-20 17:27:26 +02:00
parent 37a91e63e5
commit fbc8704de4

View File

@@ -0,0 +1,114 @@
#!/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);
$address_ids = [];
foreach(AddressModel::getAll() as $address) {
if(!$address->customer_number) continue;
if(in_array($address->id, $address_ids)) continue;
$address_ids[] = $address->id;
$clone_search = [
"customer_number" => $address->customer_number,
/*"company" => $address->company,
"firstname" => $address->firstname,
"lastname" => $address->lastname,
"street" => $address->street,
"phone" => $address->phone,
"email" => $address->email,*/
];
if(AddressModel::count($clone_search) > 1) {
echo " == ".$address->id." - ".$address->customer_number." - ".$address->getCompanyOrName();
if(ContractModel::count(["owner_id" => $address->id])) {
echo " CO";
}
if(ContractModel::count(["billingaddress_id" => $address->id])) {
echo " CB";
}
if(OrderModel::count(["owner_id" => $address->id])) {
echo " OO";
}
if(OrderModel::count(["billingaddress_id" => $address->id])) {
echo " OB";
}
if(NetworkModel::count(["owner_id" => $address->id])) {
echo " NO";
}
echo "\n";
foreach(AddressModel::search($clone_search) as $clone) {
if($clone->id == $address->id) continue;
if(in_array($clone->id, $address_ids)) continue;
$address_ids[] = $clone->id;
//var_dump($clone);exit;
echo $clone->id." - ".$clone->customer_number." - ".$clone->getCompanyOrName();
if(ContractModel::count(["owner_id" => $clone->id])) {
echo " CO";
continue;
}
if(ContractModel::count(["billingaddress_id" => $clone->id])) {
echo " CB";
continue;
}
if(OrderModel::count(["owner_id" => $clone->id])) {
echo " OO";
continue;
}
if(OrderModel::count(["billingaddress_id" => $clone->id])) {
echo " OB";
continue;
}
if(NetworkModel::count(["owner_id" => $clone->id])) {
echo " NO";
continue;
}
foreach(AddresstypeModel::search(["address_id" => $clone->id]) as $at) {
echo "del at\n";
$at->delete();
}
foreach(AddressLinkModel::search(["address_id" => $clone->id]) as $al) {
echo "del al\n";
$al->delete();
}
foreach(AddressLinkModel::search(["origin_address_id" => $clone->id]) as $al2) {
echo "del al2\n";
$al2->delete();
}
//echo ": deleting";
$clone->delete();
echo "\n";
}
echo "\n";
}
}