Added hausnummer status to preorder address reporting api

This commit is contained in:
Frank Schubert
2025-07-31 14:11:21 +02:00
parent 5a3e6f6984
commit 678deb2cb3
2 changed files with 27 additions and 2 deletions

View File

@@ -36,7 +36,7 @@ class ADBStatusModel {
}
public static function getAll() {
public static function getAll($withIdAsKey = false) {
$items = [];
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
@@ -44,8 +44,13 @@ class ADBStatusModel {
$res = $db->select("Status", "*", "1=1 ORDER BY code, name");
if($db->num_rows($res)) {
while($data = $db->fetch_object($res)) {
if($withIdAsKey) {
$items[$data->id] = new ADBStatus($data);
} else {
$items[] = new ADBStatus($data);
}
}
}
return $items;

View File

@@ -673,6 +673,8 @@ class AddressdbApicontroller extends mfBaseApicontroller {
$addresses = [];
$netzgebiete = ADBNetzgebietModel::getAll(true);
$stati = ADBStatusModel::getAll(true);
$where = "1=1";
if($search_zip && $search_zip != "%") {
@@ -763,6 +765,7 @@ class AddressdbApicontroller extends mfBaseApicontroller {
$tmp_addresses[$address_key] = [
'oaid' => $data->hausnummer_oaid,
'cluster_id' => $data->netzgebiet_extref,
'status' => [],
'rimo_external_id' => null,
'visibility' => null,
'adrcd' => null,
@@ -793,15 +796,32 @@ class AddressdbApicontroller extends mfBaseApicontroller {
unset($tmp_addresses[$address_key]['municipality']);
}
if($this->me->is("preorderaddressreporting")) {
$sflags = [];
foreach(ADBStatusflagModel::getAll() as $sflag) {
$sflag->hausnummer_id = $data->hausnummer_id;
$sflags[] = [
"code" => (int)$sflag->code,
"text" => $sflag->name,
"value" => ($sflag->value->value) ? true : false,
];
}
$status = [
"code" => $stati[$data->status_id]->code,
"text" => $stati[$data->status_id]->name,
"flags" => $sflags,
];
$tmp_addresses[$address_key]['status'] = $status;
$tmp_addresses[$address_key]['rimo_external_id'] = $data->hausnummer_rimo_id;
$tmp_addresses[$address_key]['visibility'] = $data->visibility;
$tmp_addresses[$address_key]['adrcd'] = $data->adrcd;
$tmp_addresses[$address_key]['subcd'] = $data->subcd;
} else {
unset($tmp_addresses[$address_key]["status"]);
unset($tmp_addresses[$address_key]['rimo_external_id']);
unset($tmp_addresses[$address_key]["visibility"]);
unset($tmp_addresses[$address_key]["adrcd"]);
unset($tmp_addresses[$address_key]["subcd"]);
}
}