Index: /trunk/mapbender/http/nav/alkisnav_eig.php =================================================================== --- /trunk/mapbender/http/nav/alkisnav_eig.php (revision 419) +++ /trunk/mapbender/http/nav/alkisnav_eig.php (revision 420) @@ -10,4 +10,5 @@ 2018-04-24 Geburtsdatum formatieren 2018-11-12 Full-Schema + 2019-02-12 Sortierung FlurstÃŒcksnummer repariert */ @@ -437,5 +438,5 @@ } - $sql3 ="ORDER BY b.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; + $sql3 ="ORDER BY b.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, cast(f.zaehler AS integer), cast(f.nenner AS integer) LIMIT $2 ;"; // Sortier-Problem: laufendenummer in varchar linksbÃŒndig Index: /trunk/mapbender/http/nav/alkisnav_grd.php =================================================================== --- /trunk/mapbender/http/nav/alkisnav_grd.php (revision 419) +++ /trunk/mapbender/http/nav/alkisnav_grd.php (revision 420) @@ -9,4 +9,5 @@ 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. 2018-11-12 Full-Schema + 2019-02-12 Sortierung FlurstÃŒcksnummer repariert */ @@ -444,5 +445,5 @@ // Direkte Buchungen (Flurst.) $sql =$sqlanf."FROM ax_flurstueck f JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; - $sql.="WHERE f.istgebucht = $1 AND f.endet IS NULL ".$sqlfilter."ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; + $sql.="WHERE f.istgebucht = $1 AND f.endet IS NULL ".$sqlfilter."ORDER BY f.gemarkungsnummer, f.flurnummer, cast(f.zaehler AS integer), cast(f.nenner AS integer);"; $v=array($buchunggml); @@ -486,5 +487,5 @@ ."WHERE sh.gml_id = $1 AND sh.endet IS NULL AND sd.endet IS NULL AND f.endet IS NULL AND bd.endet IS NULL AND gd.endet IS NULL " - .$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; + .$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, cast(f.zaehler AS integer), cast(f.nenner AS integer);"; $v=array($buchunggml); Index: /trunk/mapbender/http/nav/alkisnav_fkt.php =================================================================== --- /trunk/mapbender/http/nav/alkisnav_fkt.php (revision 419) +++ /trunk/mapbender/http/nav/alkisnav_fkt.php (revision 420) @@ -10,4 +10,5 @@ 2018-11-02 Suche GB-Blatt mit Wildcard wenn Zusatzbuchstabe nicht angegeben. 2018-11-09 Full-Schema + 2019-02-12 Sortierung FlurstÃŒcksnummer repariert */ @@ -349,5 +350,5 @@ $sqlw2=" AND s2.endet IS NULL "; - $sqlord="ORDER BY cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; + $sqlord="ORDER BY cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, cast(f.zaehler AS integer), cast(f.nenner AS integer) LIMIT $2 ;"; // d i r e k t e B u c h u n g e n Index: /trunk/mapbender/http/nav/alkisnav_fls.php =================================================================== --- /trunk/mapbender/http/nav/alkisnav_fls.php (revision 419) +++ /trunk/mapbender/http/nav/alkisnav_fls.php (revision 420) @@ -9,4 +9,5 @@ 2018-02-15 Strikte Input-Validation der Parameter 2018-11-12 Full-Schema + 2019-02-12 Sortierung FlurstÃŒcksnummer wieder hergestellt (kaputt gegangen bei Umstellung Full-Schema) */ @@ -524,5 +525,6 @@ } - $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND endet IS NULL ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; + $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND endet IS NULL " + ."ORDER BY cast(f.zaehler AS integer), f.nenner LIMIT $3 ;"; $v=array($zgemkg4, $zflur, $linelimit); $res=pg_prepare("", $sql); @@ -568,8 +570,5 @@ $sql ="SELECT 'h' AS ftyp, gml_id, cast(zaehler AS integer) AS zaehler, cast(nenner AS integer) AS nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl ."UNION SELECT 'o' AS ftyp, gml_id, cast(zaehler AS integer) AS zaehler, cast(nenner AS integer) AS nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl - ."ORDER BY zaehler, nenner LIMIT $2 ;"; - // "zaehler" und "nenner" sind in der Classic-Datenbank Integer-Werte aber in der Struktur - // des norGIS-ALKIS-Importers sind das Character-Strings, die linksbÃŒndig ohne fÃŒhrende Nullen gefÃŒllt sind. - // Der Anwender erwartet aber eine "numerische" Sortierung. + ."ORDER BY zaehler, nenner LIMIT $2 ;"; $fskzwhere=$zgemkg6.str_pad($zflur, 3, "0", STR_PAD_LEFT)."%"; @@ -606,5 +605,5 @@ // Head - if (gg_head($zgemkg6, false)) { // Kopfzeilen: Gemeinde, Gemerkung, .. + if (gg_head($zgemkg6, false)) { // Kopfzeilen: Gemeinde, Gemarkung, .. zeile_flur($zgemkg4, $zflur, true, false); // .., Flur } else { @@ -623,7 +622,4 @@ $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND f.zaehler= $3 "; -// If ($znenner != "") {$sql.="AND f.nenner=".$znenner." ";} - - // norGIS: "zaehler" ist integer in der DB, aber "nenner" ist character, linksbÃŒndig ohne fÃŒhrende '0' If ($znenner != "") { $suchnenn = ltrim($znenner, '0'); @@ -632,5 +628,5 @@ } } - $sql.="AND endet IS NULL ORDER BY f.zaehler, cast(f.nenner AS integer);"; + $sql.="AND endet IS NULL ORDER BY cast(f.zaehler AS integer), cast(f.nenner AS integer);"; $v=array($zgemkg4, $zflur, $zzaehler); $res=pg_prepare("", $sql); @@ -640,5 +636,4 @@ if ($debug > 2) {echo "
SQL = '".$sql."'
Parameter $1='".$zgemkg4."' $2='".$zflur."' $3='".$zzaehler."'
";} } - $zfs=0; @@ -735,6 +730,5 @@ $nawhcl="WHERE flurstueckskennzeichen IN ( ".$stri." ) AND endet IS NULL "; - // Pass auf! Spalte zaehler hat unterschiedliches Format in den 3 Tabellen - $nasql ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, cast(zaehler AS character varying), nenner FROM ax_flurstueck ".$nawhcl + $nasql ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_flurstueck ".$nawhcl ."UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueck ".$nawhcl ."UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueckohneraumbezug ".$nawhcl;