Ignore:
Timestamp:
01/17/12 11:54:24 (12 years ago)
Author:
frank.jaeger
Message:

Suche nach Grundbuch: 3 Varianten von Blatt-Nummer berücksichtigen

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/mapbender/http/nav/alkisnav_grd.php

    r152 r154  
    55        14.12.2011 "window.open(..,width=680" 
    66        16.01.2012 Blattnummer in 2 Varianten suchen 
     7        17.01.2012 Blattnummer ohne Buchstabe in 3 Varianten suchen 
    78*/ 
    89import_request_variables("G"); 
     
    5152        } elseif ($zblatt == "") { 
    5253                return 2; // Such Bezirk-NUMMER 
    53         } else  { // Format von Blatt pruefen 
    54         // Stand Jan. 2012: 2 gemischt vorkommende Formate in Blatt-Nr 
    55         // 1234567   Stelle 
     54        } else  { // Format von BlattNr pruefen 
    5655        //'19'       linksbÃŒndig 
    57         //'19A'      .. mit Zusatz 
    58         //'000019 '  gefÃŒllt 
    59         //'000019A'  .. mit Zusatz 
     56        //'000019 '  gefÃŒllt 6 + blank 
     57        //'000019A'  .. mit Zusatzbuchstabe 
     58        //'0300001'  gefÃŒllt 7, bei Blattart 5000 "fiktives Blatt" 
    6059                $len=strlen($zblatt); 
    6160                if ($len > 0 AND $len < 8) {             
     
    215214        // Kennzeichen bestehend nur aus GB-Bezirk-SchlÃŒssel wurde eingegeben 
    216215        global $con, $gkz, $gemeinde, $epsg, $debug, $zgbbez, $auskpath; 
    217         $linelimit=200; // max. Blatt je Bezirk 
     216        $linelimit=250; // max. Blatt je Bezirk 
    218217        // Dies linelimit ist nicht ausreichend fuer alle Blaetter eines Bezirks, aber ... 
    219218        // Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter. 
     
    288287                if($cntbl >= $linelimit) { 
    289288                        echo "\n<p>... und weitere</p>"; 
    290                         echo "\n<p>Geben sie ein: '".$zgbbez."-999999A'<br>wobei '999999A' = gesuchtes GB-Blatt</p>"; 
     289                        echo "\n<p>Geben sie ein: '".$zgbbez."-999A'<br>wobei '999A' = gesuchtes GB-Blatt</p>"; 
    291290                } 
    292291        } 
     
    298297        global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz; 
    299298        $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b ";  
    300         $sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung IN ( $2 , $3 );"; 
    301  
    302         // Alternatives Suchformat mit 0en vorn und Blank statt Zusatz 
    303         $zblatt0v=str_pad($zblattn, 6, "0", STR_PAD_LEFT).str_pad($zblattz, 1, " ", STR_PAD_LEFT); 
    304  
    305         $v=array($zgbbez,$zblattn.$zblattz,$zblatt0v); 
     299        $sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung "; 
     300 
     301        if ($zblattz == "") { // Ohne Buchstabenerweiterung: Formate '123','000123 ','0000123' 
     302                $sql.="IN ('".$zblattn."','".str_pad($zblattn, 6, "0", STR_PAD_LEFT)." ','".str_pad($zblattn, 7, "0", STR_PAD_LEFT)."');"; 
     303        } else { // Mit Buchstabenerweiterung: '000123A' 
     304                $sql.="='".str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz."';"; 
     305        } 
     306        $v=array($zgbbez); 
    306307        $res=pg_prepare("", $sql); 
    307308        $res=pg_execute("", $v); 
     
    369370                echo "\n<p class='err'>Keine Buchung gefunden.</p>"; 
    370371        } elseif($cntbu == 1) { 
    371                 //echo "\n<p>genau EINE Buchung gefunden".$lfd."</p>"; 
    372372                $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen 
    373373                // Blatt zerteilen (benoetigt in gml_buchungsstelle) 
     
    391391        $sql.="JOIN ax_buchungsblatt b ON b.gml_id=v.beziehung_zu ";  
    392392        $sql.="WHERE v.beziehungsart='istBestandteilVon' "; 
    393         $sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung IN ( $2, $3 ) AND s.laufendenummer= $4 ;"; 
    394  
    395         // Alternatives Suchformat mit 0en vorn und Blank statt Zusatz 
    396         $zblatt0v=str_pad($zblattn, 6, "0", STR_PAD_LEFT).str_pad($zblattz, 1, " ", STR_PAD_LEFT); 
    397  
    398         $v=array($zgbbez, $zblattn.$zblattz, $zblatt0v, $zbvnr); 
     393        $sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung "; 
     394        if ($zblattz == "") { // Ohne Buchstabenerweiterung 
     395                //Formate '123','000123 ','0000123' 
     396                $sql.="IN ('".$zblattn."','".str_pad($zblattn, 6, "0", STR_PAD_LEFT)." ','".str_pad($zblattn, 7, "0", STR_PAD_LEFT)."')"; 
     397        } else { // Mit Buchstabenerweiterung: '000123A' 
     398                $sql.="='".str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz."'"; 
     399        } 
     400        $sql.=" AND s.laufendenummer= $2 ;"; 
     401 
     402        $v=array($zgbbez, $zbvnr); 
    399403        $res=pg_prepare("", $sql); 
    400404        $res=pg_execute("", $v); 
     
    584588                        break; 
    585589                case 9: // Fehler 
    586                         echo "<p class='err'>Bitte ein Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
     590                        echo "<p class='err'>Bitte ein g&uuml;ltiges Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
    587591                        break; 
    588592        } 
Note: See TracChangeset for help on using the changeset viewer.