Ignore:
Timestamp:
12/30/21 17:49:00 (2 years ago)
Author:
frank.jaeger
Message:

Web-GIS-Auskunft und Mapbender2-Navigation: neue Konfigurations-Parameter und verbessertes Grundbuch-Modul

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mapbender/http/nav/alkisnav_eig.php

    r420 r425  
    1111        2018-11-12 Full-Schema 
    1212        2019-02-12 Sortierung FlurstÃŒcksnummer repariert 
     13        2021-12-01 Fehlerkorrektur "benennt". Neue Var. $katamtmix  (Kataster-Amt-Mix). 
     14                   SchlÃŒsseltabellen sind mehrfach belegt. Dadurch doppelte Treffer bei der Suche. 
     15                           Weitere Buchstaben fÃŒr Namen-Suche zugelassen. 
    1316*/ 
    1417 
     
    110113function personendaten() {  
    111114        // Adresse und Geburtsdatum der aktuellen Person ausgeben 
    112         global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $auskpath; // $debug 
     115        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $auskpath; 
    113116        $sql ="SELECT p.nachnameoderfirma, p.vorname, to_char(cast(p.geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, p.namensbestandteil, " 
    114117        ."a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer " 
     
    162165        $linelimit=150; 
    163166        $arr = explode(",", $name); 
    164         $name0 = trim($arr[0]); // Nachname 
     167        $name0 = trim($arr[0]);         // Nachname 
    165168        if (count($arr) > 1) { 
    166169                $name1=trim($arr[1]);   // Vorname 
     
    245248// Alternativ wÃŒrde eine Hilfstabelle benötigt, in der im PostProcessing  
    246249// das GB-zu-Gemeinde-VerhÀltnis vorbereitet wird. 
    247         global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $debug, $bltbez, $bltblatt, $bltseite, $kennztyp, $zgbbez; 
     250        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $debug, $bltbez, $bltblatt, $bltseite, $kennztyp, $zgbbez, $katamtmix; 
    248251        $linelimit=150; 
    249252 
     
    256259        $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam " 
    257260        ."FROM ax_namensnummer n JOIN ax_buchungsblatt gb ON n.istbestandteilvon=gb.gml_id " 
    258         ."JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk " 
    259         ."WHERE n.bennennt = $1 AND n.endet IS NULL AND gb.endet IS NULL AND b.endet IS NULL;"; 
     261        ."JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; 
     262        if ($katamtmix){$sql.="AND substr(gb.gml_id,1,6) = substr(b.gml_id,1,6) ";} 
     263        $sql.="WHERE n.benennt = $1 AND n.endet IS NULL AND gb.endet IS NULL AND b.endet IS NULL "; 
    260264 
    261265        // Parameter $gbkennz, z.B. nach Klick auf Zeile "Bezirk" 
    262266        if ($kennztyp > 1) { // 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR 
    263                 #if ($debug > 0) {echo "<p class='dbg'>Filter Bezirk '".$zgbbez."'<p>";} 
     267                #if ($debug > 1) {echo "<p class='dbg'>Filter Bezirk '".$zgbbez."'<p>";} 
    264268                $sql.="AND b.bezirk='".$zgbbez."' "; 
    265269                $bezirkaktuell = true; 
     
    333337// Im zweiten Schritt wird gesucht nach Rechten einer Buchungstelle des durchsuchten Blattes an anderen 
    334338// Buchungstellen. 
    335         global $gkz, $gemeinde, $name, $person, $blattgml, $epsg, $gfilter, $debug; 
     339        global $gkz, $gemeinde, $name, $person, $blattgml, $epsg, $gfilter, $debug, $katamtmix; 
    336340        if($backlink) { // Erneuter Ansatz bei Person oder GB möglich. 
    337341 
     
    347351                // Grundbuch-Daten ermitteln 
    348352                $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam " 
    349                 ."FROM ax_buchungsblatt gb JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk " 
    350                 ."WHERE gb.gml_id= $1 AND gb.endet IS NULL and b.endet IS NULL LIMIT 1 ;"; 
     353                ."FROM ax_buchungsblatt gb JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; 
     354                if ($katamtmix){$sql.="AND substr(gb.gml_id,1,6) = substr(b.gml_id,1,6) ";} 
     355                $sql.="WHERE gb.gml_id= $1 AND gb.endet IS NULL and b.endet IS NULL LIMIT 1 ;"; 
    351356                $v=array($blattgml); 
    352357                $res=pg_prepare("", $sql); 
     
    376381// weil "ungefiltert" in "2+3" zu lange Listen entstehen wÃŒrden, die durchblÀttert werden mÃŒssen.  
    377382 
    378         global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $gfilter, $debug, $bltbez, $bltblatt, $bltbvnr, $bltseite, $bltrecht, $kennztyp, $zgbbez; 
     383        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $gfilter, $debug, $bltbez, $bltblatt, $bltbvnr, $bltseite, $bltrecht, $kennztyp, $zgbbez, $katamtmix; 
    379384        $linelimit=80; // als Limit "Anzahl FlurstÃŒcke" in den beiden folgenden Abfragen 
    380385        // darf nun etwas knapper sein, weil man jetzt blÀttern kann 
     
    406411        $sql1.="FROM ax_namensnummer nn " 
    407412        ."JOIN ax_buchungsblatt gb ON gb.gml_id=nn.istbestandteilvon " 
    408         ."JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk " 
    409         ."JOIN ax_buchungsstelle s1 ON gb.gml_id=s1.istbestandteilvon "; 
     413        ."JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; 
     414        if ($katamtmix){$sql.="AND substr(gb.gml_id,1,6) = substr(b.gml_id,1,6) ";} 
     415        $sql1.="JOIN ax_buchungsstelle s1 ON gb.gml_id=s1.istbestandteilvon "; 
    410416 
    411417        // Baustein A: Auswahl 1 oder 2 
     
    621627} 
    622628 
    623 // =========== 
    624629// Start hier! 
    625 // =========== 
     630 
    626631// Parameter:   
    627632// 1. name   = Suche nach Namensanfang oder -bestandteil. 
     
    633638// Hier formatierte Meldung und html-Foot. 
    634639if (isset($name) and $name != "" ) {  
    635         if (!preg_match('#^[a-zA-Z0-9ÀöÌÄÖÜß*,. \-&/]{1,50}$#', $name)) { 
     640        if (!preg_match('#^[a-zA-Z0-9ÀöÌÄÖÜßşŜšŠ*,. \-&/]{1,50}$#', $name)) { 
    636641                echo "<p class='err'>Eingabe unzul&auml;ssig!</p>"; 
    637642        //      if ($debug > 1) {echo "<p class='err'>Name='".$name."' LÀnge='".strlen($name)."</p>";} 
Note: See TracChangeset for help on using the changeset viewer.