added new adb dashboard

This commit is contained in:
Luca Haid
2025-05-13 11:41:39 +02:00
parent a6d577023f
commit 11ebed70a7
5 changed files with 453 additions and 20 deletions
@@ -34,6 +34,7 @@ class ADBHausnummerModel {
public $manual_update_by;
public $manual_update_info;
public $rimo_id;
public $rimo_type;
public $rimo_ex_state;
public $rimo_op_state;
public $rimo_fcp_name;
@@ -111,13 +112,15 @@ class ADBHausnummerModel {
return $items;
}
public static function count($filter) {
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
$where = self::getSqlFilter($filter);
$sql = "SELECT COUNT(*) as cnt FROM (
public static function count($filter, $join_tables = true) {
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
$where = self::getSqlFilter($filter);
if ($join_tables) {
$sql = "SELECT COUNT(*) as cnt FROM (
SELECT Hausnummer.id FROM Hausnummer
LEFT JOIN Ortschaft ON (Ortschaft.id = Hausnummer.ortschaft_id)
LEFT JOIN Gemeinde ON (Gemeinde.id = Ortschaft.gemeinde_id)
@@ -125,21 +128,43 @@ class ADBHausnummerModel {
LEFT JOIN Plz ON (Hausnummer.plz_id = Plz.id)
LEFT JOIN HausnummerStatusflagValue ON (HausnummerStatusflagValue.hausnummer_id = Hausnummer.id)
WHERE $where
GROUP BY Hausnummer.id
) hn
";
) hn";
} else $sql = "SELECT COUNT(*) as cnt FROM Hausnummer WHERE $where";
mfLoghandler::singleton()->debug($sql);
$res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
return $data->cnt;
mfLoghandler::singleton()->debug($sql);
$res = $db->query($sql);
if ($db->num_rows($res)) {
$data = $db->fetch_object($res);
return $data->cnt;
}
return 0;
}
return 0;
}
public static function search($filter, $limit = false, $returnDBRessource = false) {
public static function countHomes($filter) {
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
$where = self::getSqlFilter($filter);
$sql = "SELECT COUNT(Wohneinheit.id) as cnt
FROM Hausnummer
LEFT JOIN Wohneinheit ON (Wohneinheit.hausnummer_id = Hausnummer.id)
WHERE $where";
mfLoghandler::singleton()->debug($sql);
$res = $db->query($sql);
if ($db->num_rows($res)) {
$data = $db->fetch_object($res);
return $data->cnt;
}
return 0;
}
public static function search($filter, $limit = false, $returnDBRessource = false) {
$items = [];
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
@@ -436,6 +461,29 @@ class ADBHausnummerModel {
$where .= " AND HausnummerStatusflagValue.flag_id = $status_flag AND HausnummerStatusflagValue.value=1";
}
}
if (array_key_exists("rimo_type", $filter)) {
$rimo_type = $filter['rimo_type'];
$where .= is_array($rimo_type)
? " AND Hausnummer.rimo_type IN ('" . implode("', '", $rimo_type) . "')"
: " AND Hausnummer.rimo_type = '$rimo_type'";
}
if (array_key_exists("rimo_ex_state", $filter)) {
$rimo_ex_state = $filter['rimo_ex_state'];
$where .= is_array($rimo_ex_state)
? " AND Hausnummer.rimo_ex_state IN ('" . implode("', '", $rimo_ex_state) . "')"
: " AND Hausnummer.rimo_ex_state = '$rimo_ex_state'";
}
if (array_key_exists("rimo_op_state", $filter)) {
$rimo_op_state = $filter['rimo_op_state'];
$where .= is_array($rimo_op_state)
? " AND Hausnummer.rimo_op_state IN ('" . implode("', '", $rimo_op_state) . "')"
: " AND Hausnummer.rimo_op_state = '$rimo_op_state'";
}
//var_dump($filter, $where);exit;
return $where;