Ignore:
Timestamp:
11/05/18 11:14:30 (5 years ago)
Author:
frank.jaeger
Message:

Suche nach Grundstück findet GB-Blatt mit Zusatzbuchstaben auch wenn man den Buchstaben nicht mit angibt.

File:
1 edited

Legend:

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

    r410 r411  
    77        2016-11-28 Gemeinsam genutzte Datenbanken ermöglichen 
    88        2018-02-15 Strikte Input-Validation der Parameter 
    9         2018-11-02 Suche GB-Blatt in "function gml_blatt": Jetzt einheitliches DB-Format. Zusatzbuchstabe mit Wildcard wenn nicht angegeben. 
     9        2018-11-02 Einheitliches DB-Format der GB-Blatt-Nummer vorausgesetzt. Suche GB-Blatt in Function "gml_blatt" und "gml_buchungsstelle" mit Wildcard wenn Zusatzbuchstabe nicht angegeben. 
    1010*/ 
    1111 
     
    356356 
    357357        // Blatt ->  B u c h u n g s s t e l l e 
    358         $sql ="SELECT s.gml_id FROM ax_buchungsstelle s " 
    359         ."JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id " 
     358        $sql ="SELECT s.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id " 
    360359        ."WHERE b.bezirk= $1 AND s.endet IS NULL AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung "; 
    361360 
    362         if ($zblattz == "") { // Ohne Buchstabenerweiterung 
    363                 //Formate '123','000123 ','0000123' 
    364                 $sql.="IN ('".$zblattn."','".str_pad($zblattn, 6, "0", STR_PAD_LEFT)." ','".str_pad($zblattn, 7, "0", STR_PAD_LEFT)."')"; 
     361        if ($zblattz == "") { // Eingabe ohne Buchstabenerweiterung 
     362                $sql.="LIKE '".str_pad($zblattn, 6, "0", STR_PAD_LEFT)."_'"; 
    365363        } else { // Mit Buchstabenerweiterung: '000123A' 
    366364                $sql.="='".str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz."'"; 
     
    368366        $sql.=" AND s.laufendenummer= $2 ;"; 
    369367 
    370         $v=array($zgbbez, $zbvnr); 
     368        $v=array($zgbbez, str_pad($zbvnr, 4, "0", STR_PAD_LEFT)); 
    371369        $res=pg_prepare("", $sql); 
    372370        $res=pg_execute("", $v); 
     
    378376        while($row = pg_fetch_array($res)) {     
    379377                $bs_gml=$row["gml_id"]; 
     378                $gef_blatt=$row["blatt"];       // gefunden ggf. mit Buchstabe (Wildcard) 
     379                if ($zblatt != $gef_blatt) { 
     380                        echo "\n<p>Blatt mit Buchstabenerweiterung gefunden.</p>"; 
     381                        $zblatt=$gef_blatt; 
     382                        $zblattz=substr($zblatt,$len-1,1); 
     383                } 
    380384                $zbs++; 
    381385        } 
     
    403407                        echo "<p class='err'>Kennzeichen Bezirk und Blatt nicht gesetzt</p>"; 
    404408                } // ++ suchen! 
    405                 zeile_buchung($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz, false, true); 
     409        //      zeile_buchung($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz, false, true); 
     410                zeile_buchung($buchunggml, $zbvnr, $zgbbez."-".$zblatt, false, true); // $zblatt wird aktualisiert, wenn Buchstabe gefunden wurde 
    406411        } 
    407412 
Note: See TracChangeset for help on using the changeset viewer.