diff --git a/application/ADBGemeinde/ADBGemeinde.php b/application/ADBGemeinde/ADBGemeinde.php index 4dee56996..a32bec397 100644 --- a/application/ADBGemeinde/ADBGemeinde.php +++ b/application/ADBGemeinde/ADBGemeinde.php @@ -1,7 +1,7 @@ loadPlz(); + //$this->loadPlz(); } - public function loadPlz() { + /*public function loadPlz() { if(!$this->id) { return false; } @@ -57,12 +57,12 @@ class ADBGemeinde extends mfBaseModel { } return true; - } + }*/ public function getPlzList() { $list = []; - foreach($this->plz as $plz) { - $list[$plz->id] = $plz->plz; + foreach($this->plzs as $plz) { + $list[$plz->id] = $plz->plzs; } return $list; } diff --git a/application/ADBHausnummer/ADBHausnummer.php b/application/ADBHausnummer/ADBHausnummer.php index c1f36a2bd..c4ab11cc9 100644 --- a/application/ADBHausnummer/ADBHausnummer.php +++ b/application/ADBHausnummer/ADBHausnummer.php @@ -2,6 +2,7 @@ class ADBHausnummer extends mfBaseModel { public $strasse; + public $plz; public $status; public $providers = []; public $providerlist = []; @@ -13,33 +14,7 @@ class ADBHausnummer extends mfBaseModel { public function afterLoad() { $this->strasse = new ADBStrasse($this->strasse_id); - //$this->loadStatus(); - //$this->loadProvider(); + $this->plz = new ADBPlz($this->plz_id); } - /* - public function loadStatus() { - if(!$this->id) { - return false; - } - $status = HausnummerStatus::singleton(); - $this->status = $status->getObject($this->status_id); - } - - public function loadProvider() { - if(!$this->id) { - return false; - } - - $res = $this->db->select("HausnummerProvider", "*", "hausnummer_id=".$this->id); - if($this->db->num_rows($res)) { - while($data = $this->db->fetch_object($res)) { - $provider = new Provider($data->provider_id); - $this->providerlist[$provider->id] = $provider->name; - $this->providers[] = $provider; - } - } - - return true; - }*/ - + } diff --git a/application/ADBHausnummer/ADBHausnummerModel.php b/application/ADBHausnummer/ADBHausnummerModel.php index 19df84c25..1c120a732 100644 --- a/application/ADBHausnummer/ADBHausnummerModel.php +++ b/application/ADBHausnummer/ADBHausnummerModel.php @@ -1,10 +1,11 @@ select("Plz", "*", "$where ORDER BY gemeinde_id,plz LIMIT 1"); + $res = $db->select("Plz", "*", "$where ORDER BY plz LIMIT 1"); if($db->num_rows($res)) { $data = $db->fetch_object($res); $item = new ADBPlz($data); @@ -58,7 +57,7 @@ class ADBPlzModel { $db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME); - $res = $db->select("Plz", "*", "1=1 ORDER BY gemeinde_id,plz"); + $res = $db->select("Plz", "*", "1=1 ORDER BY plz"); if($db->num_rows($res)) { while($data = $db->fetch_object($res)) { $items[] = new ADBPlz($data); @@ -92,7 +91,7 @@ class ADBPlzModel { $where = self::getSqlFilter($filter); $sql = "SELECT Plz.* FROM Plz WHERE $where - ORDER BY gemeinde_id,plz"; + ORDER BY plz"; //mfLoghandler::singleton()->debug($sql); if(is_array($limit) && count($limit)) { @@ -116,13 +115,12 @@ class ADBPlzModel { $where = "1=1 "; - - if(array_key_exists("gemeinde_id", $filter)) { - $gemeinde_id = $filter['gemeinde_id']; - if(is_numeric($gemeinde_id)) { - $where .= " AND Plz.gemeinde_id=$gemeinde_id"; - } elseif(is_array($gemeinde_id) && count($gemeinde_id)) { - $where .= " AND Plz.gemeinde_id IN (". implode(",", $gemeinde_id).")"; + if(array_key_exists("hausnummer_id", $filter)) { + $hausnummer_id = $filter['hausnummer_id']; + if(is_numeric($hausnummer_id)) { + $where .= " AND Plz.hausnummer_id=$hausnummer_id"; + } elseif(is_array($hausnummer_id) && count($hausnummer_id)) { + $where .= " AND Plz.hausnummer_id IN (". implode(",", $hausnummer_id).")"; } } diff --git a/application/AddressDB/AddressDB.php b/application/AddressDB/AddressDB.php index b871261da..97f2660a9 100644 --- a/application/AddressDB/AddressDB.php +++ b/application/AddressDB/AddressDB.php @@ -121,11 +121,11 @@ class AddressDB { die("Error creating Ortschaft $ort_kz $ort_name!\n"); } } + - $plz = ADBPlzModel::getFirst(['gemeinde_id' => $gemeinde->id, 'plz' => $plz_name]); + $plz = ADBPlzModel::getFirst(['plz' => $plz_name]); if(!$plz) { $plz = new ADBPlz(); - $plz->gemeinde_id = $gemeinde->id; $plz->plz = $plz_name; $plz->plzstring = $plz_name; $plz_id = $plz->save(); @@ -133,8 +133,8 @@ class AddressDB { die("Error creating Plz $plz_name!\n"); } } - //var_dump($plz);exit; + $strasse = ADBStrasseModel::getFirst(['gemeinde_id' => $gemeinde->id, 'ortschaft_id' => $ort->id, 'name' => $strasse_name]); if(!$strasse) { @@ -147,12 +147,13 @@ class AddressDB { die("error creating Strasse $strasse_name (gemeinde ".$gemeinde->id.", ort ".$ort->id.")"); } } - //var_dump($strasse);exit; + $hausnummer = ADBHausnummerModel::getFirst(['strasse_id' => $strasse->id, 'hausnummer' => $hausnummer_name]); if(!$hausnummer) { $hausnummer = new ADBHausnummer(); + $hausnummer->plz_id = $plz->id; $hausnummer->strasse_id = $strasse->id; $hausnummer->hausnummer = $hausnummer_name; $hausnummer_id = $hausnummer->save(); @@ -161,6 +162,7 @@ class AddressDB { } } //var_dump($hausnummer);exit; + $we_search = [ 'hausnummer_id' => $hausnummer->id, diff --git a/application/Api/v1/AddressdbApicontroller.php b/application/Api/v1/AddressdbApicontroller.php index 0e04e8251..8a9d782ce 100644 --- a/application/Api/v1/AddressdbApicontroller.php +++ b/application/Api/v1/AddressdbApicontroller.php @@ -17,7 +17,7 @@ class AddressdbApicontroller extends mfBaseApicontroller { return mfResponse::BadRequest(['message' => "Searchstring cannot be empty!"]); } - $results = ADBOrtschaftModel::search(['name%' => $search], ['count' => 20]); + $results = ADBOrtschaftModel::search(['name%' => $search]); $cities = []; @@ -35,7 +35,7 @@ class AddressdbApicontroller extends mfBaseApicontroller { return mfResponse::BadRequest(['message' => "Searchstring cannot be empty!"]); } - $results = ADBPlzModel::search(['plzstring%' => $search], ['count' => 20]); + $results = ADBPlzModel::search(['plzstring%' => $search]); $zips = []; @@ -53,7 +53,7 @@ class AddressdbApicontroller extends mfBaseApicontroller { return mfResponse::BadRequest(['message' => "Searchstring cannot be empty!"]); } - $results = ADBStrasseModel::search(['name%' => $search], ['count' => 20]); + $results = ADBStrasseModel::search(['name%' => $search]); $streets = []; @@ -94,7 +94,7 @@ class AddressdbApicontroller extends mfBaseApicontroller { } //$res = $this->db()->select("view_wohneinheit_plz", "*", $where); - $sql = "SELECT * FROM view_wohneinheit WHERE $where ORDER BY plz, ortschaft, strasse, LENGTH(hausnummer), hausnummer, block, stiege, stock, LENGTH(tuer), tuer LIMIT 20"; + $sql = "SELECT * FROM view_wohneinheit WHERE $where ORDER BY plz, ortschaft, strasse, LENGTH(hausnummer), hausnummer, block, stiege, stock, LENGTH(tuer), tuer"; //echo $sql;exit; $res = $this->db()->query($sql);