Merge branch 'ADBWohneinheit/add-rimo-deleted-to-list' into 'master'
added rimo deleted to ADBWohneinheit Checks See merge request fronk/thetool!1407
This commit is contained in:
@@ -161,7 +161,9 @@ class ADBWohneinheitController extends mfBaseController {
|
||||
|
||||
protected function duplicateAction() {
|
||||
$duplicateHomes = array_merge(ADBWohneinheitModel::searchDuplicateExtref(),
|
||||
ADBWohneinheitModel::searchDuplicateOAID());
|
||||
ADBWohneinheitModel::searchDuplicateOAID(),
|
||||
ADBWohneinheitModel::getRimoDeletedHomes()
|
||||
);
|
||||
|
||||
$ADBNetzgebiete = array_map(function($network) {
|
||||
return [
|
||||
|
||||
@@ -16,6 +16,7 @@ class ADBWohneinheitModel {
|
||||
public $enduser_setup_invoice_date;
|
||||
public $rimo_ex_state;
|
||||
public $rimo_op_state;
|
||||
public $rimo_deleted;
|
||||
public $patch_cluster;
|
||||
public $patch_shelf;
|
||||
public $patch_module;
|
||||
@@ -158,6 +159,15 @@ class ADBWohneinheitModel {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("rimo_deleted", $filter)) {
|
||||
$rimo_deleted = $filter['rimo_deleted'];
|
||||
if($rimo_deleted === true || $rimo_deleted === 1) {
|
||||
$where .= " AND Wohneinheit.`rimo_deleted` = 1";
|
||||
} elseif($rimo_deleted === false || $rimo_deleted === 0) {
|
||||
$where .= " AND Wohneinheit.`rimo_deleted` = 0";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("netzgebiet_id", $filter)) {
|
||||
$netzgebiet_id = $filter['netzgebiet_id'];
|
||||
@@ -402,8 +412,62 @@ class ADBWohneinheitModel {
|
||||
return array_values($duplicates);
|
||||
}
|
||||
|
||||
public static function getRimoDeletedHomes($filter = []) {
|
||||
$deletedHomes = [];
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME)->link;
|
||||
$where = self::getSqlFilter($filter);
|
||||
|
||||
$sql = "SELECT Wohneinheit.oaid, Hausnummer.netzgebiet_id as netzgebiet_id
|
||||
FROM Wohneinheit
|
||||
LEFT JOIN Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id)
|
||||
WHERE $where AND Wohneinheit.rimo_deleted = 1 AND Wohneinheit.oaid IS NOT NULL
|
||||
ORDER BY Wohneinheit.oaid";
|
||||
|
||||
$res = $db->query($sql);
|
||||
$rimoDeletedOaids = [];
|
||||
|
||||
while($data = $res->fetch_assoc()) {
|
||||
$rimoDeletedOaids[] = $data['oaid'];
|
||||
$deletedHomes[$data['oaid']] = [
|
||||
"duplicateType" => "rimo_deleted",
|
||||
'oaid' => $data['oaid'],
|
||||
'count' => 1, // Always 1 since we're not counting duplicates
|
||||
'netzgebiet_id' => $data['netzgebiet_id'],
|
||||
'homeData' => []
|
||||
];
|
||||
}
|
||||
|
||||
if (!empty($rimoDeletedOaids)) {
|
||||
$oaidList = "'" . implode("','", array_map([$db, 'real_escape_string'], $rimoDeletedOaids)) . "'";
|
||||
$detailSql = "SELECT Wohneinheit.*, thetool.Address.company AS company, Hausnummer.rimo_id AS hausnummer_extref
|
||||
FROM Wohneinheit
|
||||
LEFT JOIN Hausnummer ON (Hausnummer.id = Wohneinheit.hausnummer_id)
|
||||
LEFT JOIN Netzgebiet ON (Netzgebiet.id = Hausnummer.netzgebiet_id)
|
||||
LEFT JOIN thetool.Network ON (Network.adb_netzgebiet_id = Netzgebiet.id)
|
||||
LEFT JOIN thetool.Address ON (Network.owner_id = Address.id)
|
||||
WHERE $where AND Wohneinheit.oaid IN ($oaidList) AND Wohneinheit.rimo_deleted = 1
|
||||
ORDER BY Wohneinheit.oaid";
|
||||
|
||||
$detailRes = $db->query($detailSql);
|
||||
while($homeData = $detailRes->fetch_assoc()) {
|
||||
$deletedHomes[$homeData['oaid']]['homeData'][] = [
|
||||
"id" => $homeData['id'],
|
||||
'oaid' => $homeData['oaid'],
|
||||
"extref" => $homeData['extref'],
|
||||
"network_company" => $homeData['company'],
|
||||
"hausnummer_id" => $homeData['hausnummer_id'],
|
||||
"hausnummer_extref" => $homeData['hausnummer_extref'],
|
||||
"num" => $homeData['num'],
|
||||
"nutzung" => $homeData['nutzung'],
|
||||
"rimo_ex_state" => $homeData['rimo_ex_state'],
|
||||
"rimo_op_state" => $homeData['rimo_op_state'],
|
||||
"create" => $homeData['create'],
|
||||
"edit" => $homeData['edit'],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return array_values($deletedHomes);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -73,7 +73,8 @@ Vue.component('a-d-b-wohneinheit-duplicate', {
|
||||
{text: 'HomeID | OAID', key: 'extref', sortable: true, class: 'text-nowrap', priority: 10},
|
||||
{text: 'Duplicate Type', key: 'duplicateType', sortable: true, class: 'text-nowrap', priority: 9, filter: 'select', filterOptions: [
|
||||
{text: 'HomeID', value: 'extref'},
|
||||
{text: 'OAID', value: 'oaid'},
|
||||
{text: 'OAID', value: 'oaid'},
|
||||
{text: 'RIMO gelöscht', value: 'rimo_deleted'},
|
||||
]},
|
||||
{text: 'Anzahl gleicher HomeIDs', key: 'count', sortable: true, class: 'text-center', priority: 8},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user