Changeset 334 for trunk


Ignore:
Timestamp:
09/15/14 17:52:35 (5 years ago)
Author:
frank.jaeger
Message:

Anpassung der Auskunft-Programme an variabel lange gml_id und Datenbanken mit "beendeten" Objekten.

Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkis/alkisbaurecht.php

    r330 r334  
    55        Version: 
    66        2013-06-27Neu als Variante von alkis*inlay*baurecht.ph (mit Footer, Balken und Umschaltung Key) 
    7         2014-09-10 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     7        2014-09-15 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    88 
    99        ToDo: id-Anzeige hinzufÃŒgen fÃŒr Baurecht und FlurstÃŒck 
     
    4141FROM ax_bauraumoderbodenordnungsrecht r  
    4242LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung=a.wert  
    43 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle WHERE r.gml_id= $1 ;"; 
     43LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 
    4444 
    4545$v = array($gmlid); 
     
    125125$sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae  
    126126FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r 
    127 WHERE r.gml_id= $1 AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true  
     127WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL 
     128AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true  
    128129AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05  
    129130ORDER BY schnittflae DESC LIMIT 40;";  
  • trunk/info/info/alkis/alkisbestnw.php

    r333 r334  
    198198                //  sh=herrschend          sd=dienend 
    199199                $sql ="SELECT sd.gml_id, sd.buchungsart, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, b.bezeichner AS bart "; 
    200                 $sql.="FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu)) ";  
     200                $sql.="FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (substring(sd.gml_id,1,16)=ANY(sh.an) OR substring(sd.gml_id,1,16)=ANY(sh.zu)) ";  
    201201                $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON sd.buchungsart=b.wert "; 
    202202                $sql.="WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL ORDER BY sd.laufendenummer;"; 
  • trunk/info/info/alkis/alkisfkt.php

    r333 r334  
    9595        // F L U R S T U E C K 
    9696        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche  
    97         FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16)  
     97        FROM ax_flurstueck f  
     98        JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16)  
    9899        LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    99100        WHERE s.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
    100  
    101 /* 
    102 SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer,  
    103   f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche  
    104 FROM ax_flurstueck f  
    105 JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16)  
    106 LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    107 WHERE s.gml_id= 'DENW18AL00001hHb'  
    108   AND f.endet IS NULL  
    109   AND s.endet IS NULL  
    110   AND g.endet IS NULL  
    111 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner; 
    112  
    113 $1 = 'DENW18AL00001hHb' */ 
    114101 
    115102        $v = array($gml_bs); 
     
    178165        } // Ende Flurstueck 
    179166 
    180         if ($j == 0 ) { // nur Entw. 
    181                 if ($debug > 1) { 
    182                         echo "<p class='dbg'>Keine FS gefunden</p>"; 
    183                 } 
    184                 if ($debug > 2) { 
    185                         echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>"; 
    186                 } 
    187         } 
     167/*      if ($j == 0 ) { // nur Entw. 
     168                if ($debug > 1) {echo "<p class='dbg'>Keine FS gefunden</p>";} 
     169                if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";} 
     170        } */ 
    188171 
    189172        pg_free_result($resf); 
  • trunk/info/info/alkis/alkisfsnw.php

    r333 r334  
    497497echo "\n</tr>"; 
    498498 
    499 // Hinweis auf Bodenneuordnung oder eine strittige Grenze 
    500 //  b.name, b.artderfestlegung,  
     499// H i n w e i s auf Bodenneuordnung oder eine strittige Grenze 
     500// b.name, b.artderfestlegung,  
    501501 
    502502$sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
     
    505505LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle  
    506506WHERE b.endet IS NULL AND d.endet IS NULL   
    507 AND ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 ), wkb_geometry)  
    508 OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 ), wkb_geometry)"; 
     507AND (ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL ), wkb_geometry)  
     508 OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL), wkb_geometry))"; 
    509509 
    510510pg_prepare($con, "bodeneuordnung", $sql_boden); 
     
    587587} 
    588588 
    589 // Erweiterung Kreis Unna - Ende 
    590  
    591589echo "\n</table>"; 
    592590 
  • trunk/mapbender/http/nav/alkisnav_adr.php

    r333 r334  
    99        2014-01-23      Link zum Auskunft-Modul fÃŒr Straße 
    1010        2014-09-03  PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    11         2014-09-10  Bei Relationen den Timestamp abschneiden 
     11        2014-09-15  Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 
    1212 
    1313        ToDo: 
     
    6464                $match=trim($matches[1])."%"; 
    6565        } 
    66         $sql ="SELECT g.gemeinde, g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage "; 
    67         $sql.="FROM ax_lagebezeichnungkatalogeintrag k "; 
    68         $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 
    69         $sql.="WHERE k.bezeichnung ILIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 
     66        $sql ="SELECT g.gemeinde, g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage  
     67        FROM ax_lagebezeichnungkatalogeintrag k  
     68        JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde  
     69        WHERE k.bezeichnung ILIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 
    7070        switch ($gfilter) { 
    7171                case 1: // Einzelwert 
     
    137137                $match=str_pad($street, 5, "0", STR_PAD_LEFT); // "Wie eine Zahl" verarbeiten  
    138138        } 
    139         $sql ="SELECT g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage "; 
    140         $sql.="FROM ax_lagebezeichnungkatalogeintrag as k "; 
    141         $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 
    142         $sql.="WHERE k.lage LIKE $1 "; 
     139        $sql ="SELECT g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage  
     140        FROM ax_lagebezeichnungkatalogeintrag as k  
     141        JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde  
     142        WHERE k.lage LIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 
    143143        switch ($gfilter) { 
    144144                case 1: // Einzelwert 
     
    206206        // Head 
    207207        // Strasse zum Strassenschluessel 
    208         $sql ="SELECT g.bezeichnung AS gemname, k.gml_id AS kgml, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage "; 
    209         $sql.="FROM ax_lagebezeichnungkatalogeintrag as k "; 
    210         $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 
    211         $sql.="WHERE k.schluesselgesamt = $1 LIMIT 1";  
     208        $sql ="SELECT g.bezeichnung AS gemname, k.gml_id AS kgml, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage  
     209        FROM ax_lagebezeichnungkatalogeintrag as k  
     210        JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde  
     211        WHERE k.schluesselgesamt = $1 AND k.endet IS NULL AND g.endet IS NULL LIMIT 1";  
    212212 
    213213        $v=array($str_schl);    // Schluessel-Gesamt .. 
     
    297297                        $sql.="avg (st_y(st_transform(p.wkb_geometry,".$epsg."))) AS y ";                
    298298                } 
    299                 $sql.="FROM ap_pto p JOIN ax_lagebezeichnungmithausnummer h ON substring(h.gml_id,1,16)=ANY(p.dientzurdarstellungvon) "; 
    300                 $sql.="WHERE p.art='HNR' AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5 "; 
    301                 $sql.="GROUP BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2) "; 
    302                 $sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; 
     299                $sql.="FROM ap_pto p JOIN ax_lagebezeichnungmithausnummer h ON substring(h.gml_id,1,16)=ANY(p.dientzurdarstellungvon)  
     300                WHERE p.art='HNR' AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5  
     301                AND p.endet IS NULL AND h.endet IS NULL 
     302                GROUP BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2)  
     303                ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; 
    303304                // Problem: mehrere Koordinaten fÃŒr verschiedene MaßstÀbe der Kartendarstellung 
    304305                // Diese sollten nicht mehrfach gelistet werden. FÃŒr Positionierung "irgendeine" nehmen. 
  • trunk/mapbender/http/nav/alkisnav_eig.php

    r333 r334  
    1313                                Title auch auf Icon, IE zeigt sonst alt= als Title dar. 
    1414        2014-09-09  PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    15         2014-09-15  Bei Relationen den Timestamp abschneiden 
     15        2014-09-15  Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 
    1616*/ 
    1717$cntget = extract($_GET); 
     
    129129        $sql ="SELECT p.nachnameoderfirma, p.vorname, p.gml_id FROM ax_person p "; 
    130130        if ($gfilter > 0) { 
    131         //      $sql.="JOIN gemeinde_person g ON substring(p.gml_id,1,16) = substring(g.person,1,16) WHERE "; 
    132                 $sql.="JOIN gemeinde_person g ON p.gml_id=g.person WHERE "; 
     131                $sql.="JOIN gemeinde_person g ON p.gml_id=g.person WHERE p.endet IS NULL AND "; 
    133132                switch ($gfilter) { 
    134133                        case 1: // Einzel 
     
    138137                } 
    139138        } else { 
    140                 $sql.="WHERE "; 
     139                $sql.="WHERE p.endet IS NULL AND "; 
    141140        } 
    142141        if($match1 != '%'){ 
     
    241240                $cnt++; 
    242241        } 
    243 /* 
    244         if ($cnt == 0) { // Nur Entwicklg. 
    245                 if ($debug > 1) { 
    246                         echo "\n<p class='err'>keine Buchung</p>"; 
    247                 } 
    248                 if ($debug > 2) { 
    249                         echo "<p class='dbg'>SQL = '".$sql."',<br>$1 = '".substr($person,0,16)."'<p>"; 
    250                 } 
    251         } 
    252 */ 
     242/*      if ($cnt == 0) { // Nur Entwicklg. 
     243                if ($debug > 1) {echo "\n<p class='err'>keine Buchung</p>";} 
     244                if ($debug > 2) {echo "<p class='dbg'>SQL = '".$sql."',<br>$1 = '".substr($person,0,16)."'<p>";} 
     245        } */ 
     246 
    253247        // Foot 
    254248        if($cnt == 0) {  
     
    282276 
    283277                // Namen ermitteln 
    284                 $sql ="SELECT nachnameoderfirma, vorname FROM ax_person WHERE gml_id = $1 "; 
     278                $sql ="SELECT nachnameoderfirma, vorname FROM ax_person WHERE gml_id = $1 AND endet IS NULL;"; 
    285279                $v=array($person); 
    286280                $res=pg_prepare("", $sql); 
     
    293287                $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam "; 
    294288                $sql.="FROM ax_buchungsblatt gb JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; 
    295                 $sql.="WHERE gb.gml_id= $1 LIMIT 1 ;"; 
     289                $sql.="WHERE gb.gml_id= $1 AND gb.endet IS NULL and b.endet IS NULL LIMIT 1 ;"; 
    296290                $v=array($blattgml); 
    297291                $res=pg_prepare("", $sql); 
     
    366360        $sql2 ="JOIN pp_gemarkung ot ON f.land=ot.land AND f.gemarkungsnummer=ot.gemarkung "; // Ortsteil 
    367361        $sql2.="WHERE nn.benennt = $1 AND nn.endet IS NULL AND gb.endet IS NULL AND s1.endet IS NULL AND f.endet IS NULL "; 
    368         // AND s2.endet IS NULL 
     362 
     363        $sqlw2="AND s2.endet IS NULL "; 
    369364 
    370365        // Parameter $gbkennz nach Klick auf Zeile "Bezirk" 
     
    498493                // Zweite Abfrage (Variante) aus den Bausteinen zusammen bauen 
    499494                // buchungsStelle2 <an< buchungsStelle1 
    500                 $sql=$sql1.$sqla2.$sql2.$bltwhere."AND s2.endet IS NULL ".$sql3; // Rechte an 
     495                $sql=$sql1.$sqla2.$sql2.$bltwhere.$sqlw2.$sql3; // Rechte an 
    501496                $v=array(substr($person,0,16), $linelimit); 
    502497                $res=pg_prepare("", $sql); 
  • trunk/mapbender/http/nav/alkisnav_fkt.php

    r333 r334  
    66        2014-02-06  Korrektur zeile_person 
    77        2014-09-03  PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    8         2014-09-10  Bei Relationen den Timestamp abschneiden 
     8        2014-09-15  Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 
    99*/ 
    1010 
     
    236236        global $gemeinde, $blattgml, $epsg, $gfilter, $debug; 
    237237 
    238         // SQL-Bausteine vorbereiten 
     238        // SQL-Bausteine 
    239239        // vorne gleich 
    240240        $sql1 ="SELECT s1.laufendenummer AS lfd, s1.gml_id AS bsgml, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; 
     
    248248        $sql1.="g.gemarkung, g.gemarkungsname FROM ax_buchungsstelle s1 ";  
    249249 
    250         // 2 Varianten zwischen 
     250        // zwischen, Variante 1. 
    251251    $sqlz1="JOIN ax_flurstueck f ON f.istgebucht=substring(s1.gml_id,1,16) "; 
    252          
    253         $sqlz2 ="JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an) "; // nur an oder "an" und "zu" ? 
    254 // Test: SELECT * FROM ax_buchungsstelle WHERE NOT zu IS NULL;  // keine Treffer fÃŒr "zu" 
    255 //      $sqlz2 ="JOIN ax_buchungsstelle s2 ON (substring(s2.gml_id,1,16)=ANY(s1.an) OR substring(s2.gml_id,1,16)=ANY(s1.zu)) ";  
    256     $sqlz2.="JOIN ax_flurstueck f ON f.istgebucht=substring(s2.gml_id,1,16) "; 
     252 
     253        // zwischen, Variante 2. Nur an oder "an" und "zu"? 
     254        $sqlz2 ="JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an)  
     255        JOIN ax_flurstueck f ON f.istgebucht=substring(s2.gml_id,1,16) "; 
    257256 
    258257        // hinten gleich 
    259         $sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 
    260         $sql2.="WHERE s1.istbestandteilvon = $1 "; 
     258        $sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung  
     259        WHERE s1.istbestandteilvon = $1 AND f.endet IS NULL AND s1.endet IS NULL "; 
    261260        switch ($gfilter) { 
    262261                case 1: // Einzelwert 
     
    265264                        $sql2.="AND g.gemeinde in ('".str_replace(",", "','", $gemeinde)."') "; break; 
    266265        } 
    267         $sql2.="ORDER BY cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; 
    268  
    269         // Abfrage:  d i r e k t e  B u c h u n g e n 
    270         // Blatt <vbg/istBestandteilVon<  Buchungsstelle <vfb/istGebucht< FlurstÃŒck 
    271         #$sql=$sql1.$sqlz1.$sql2; // Direkte Buchungen 
    272  
    273         $v=array($blattgml, $linelimit); 
    274         $res=pg_prepare("", $sql1.$sqlz1.$sql2); 
     266 
     267        // WHERE-Zusatz bei 2 
     268        $sqlw2=" AND s2.endet IS NULL "; 
     269 
     270        $sqlord="ORDER BY cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; 
     271 
     272        // d i r e k t e  B u c h u n g e n 
     273        // Blatt <istBestandteilVon<  Buchungsstelle <istGebucht< FlurstÃŒck 
     274        $v=array(substr($blattgml,0,16), $linelimit); // Rel. istBestandteilVon nur 16 Stellen 
     275        $res=pg_prepare("", $sql1.$sqlz1.$sql2.$sqlord); 
    275276        $res=pg_execute("", $v); 
    276277        if (!$res) { 
    277278                echo "\n<p class='err'>Fehler bei Buchung und Flurst&uuml;ck.</p>"; 
    278                 if ($debug >= 3) {echo "\n<p class='err'>".$sql1.$sqlz1.$sql2."</p>";} 
     279                if ($debug >= 3) {echo "\n<p class='err'>SQL='".$sql1.$sqlz1.$sql2.$sqlord."'<br>$1 = '".substr($blattgml,0,16)."'</p>";} 
    279280                return; 
    280281        } 
     
    308309        if($zfs1 > 0) {echo "<hr>";} // Trennen 
    309310 
    310         // Abfrage:  R e c h t e  a n   /   d i e n e n d e  B u c h u n g e n 
     311        // Rechte "an"  (dienende  Buchungen) 
    311312        $v=array($blattgml, $linelimit); 
    312         $res=pg_prepare("", $sql1.$sqlz2.$sql2); 
     313        $res=pg_prepare("", $sql1.$sqlz2.$sql2.$sqlw2.$sqlord); 
    313314        $res=pg_execute("", $v); 
    314315        if (!$res) { 
    315316                echo "\n<p class='err'>Fehler bei Recht an Buchung.</p>"; 
    316                 #if ($debug >= 3) {echo "\n<p class='dbg'>".$sql1.$sqlz2.$sql2."</p>";} 
     317                #if ($debug >= 3) {echo "\n<p class='dbg'>".$sql1.$sqlz2.$sql2.$sqlw2.$sqlord."</p>";} 
    317318                return; 
    318319        } 
  • trunk/mapbender/http/nav/alkisnav_fls.php

    r333 r334  
    1010        2013-10-15  missing Parameter 
    1111        2014-09-03  PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    12         2014-09-10  Bei Relationen den Timestamp abschneiden 
     12        2014-09-15  Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 
    1313*/ 
    1414$cntget = extract($_GET); 
     
    236236                default: break; 
    237237        } 
    238         $sql.=" ORDER BY gemeindename LIMIT $1 ;"; 
     238        $sql.=" AND endet IS NULL ORDER BY gemeindename LIMIT $1 ;"; 
    239239        $res=pg_prepare("", $sql); 
    240240        $res=pg_execute("", array($linelimit)); 
     
    310310        }        
    311311        $sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname, s.gemeindename  
    312         FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde  
    313         WHERE g.gemarkungsname ILIKE $1 "; 
     312        FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde WHERE g.gemarkungsname ILIKE $1 "; 
    314313        switch ($gfilter) { 
    315314                case 1: // Einzelwert 
     
    356355        // Übergeordnete Zeilen (Head) fÃŒr Gemeinde und Gemarkung ausgeben 
    357356        // Parameter = Gemarkungsnummer 
    358         $sqlh ="SELECT g.gemarkungsname, s.gemeinde, s.gemeindename FROM pp_gemarkung g "; 
    359         $sqlh.="JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde AND g.land=s.land "; 
    360         $sqlh.="WHERE g.gemarkung = $1 ;"; 
     357        $sqlh ="SELECT g.gemarkungsname, s.gemeinde, s.gemeindename FROM pp_gemarkung g  
     358        JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde AND g.land=s.land WHERE g.gemarkung = $1 ;"; 
    361359        $v=array($gkgnr); 
    362360        $resh=pg_prepare("", $sqlh); 
     
    381379        if ($AuchGemkZeile) {gg_head($zgemkg, true);} 
    382380        // Body 
    383         $sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f "; 
    384         $sql.="WHERE gemarkung= $1 AND endet IS NULL ORDER BY gemarkungsteilflur LIMIT $2 ;"; //WHERE f.land=? 
     381        $sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f  
     382        WHERE gemarkung= $1 AND endet IS NULL ORDER BY gemarkungsteilflur LIMIT $2 ;"; 
    385383        $v=array($zgemkg, $linelimit); 
    386384        $res=pg_prepare("", $sql); 
     
    422420                $sql.="st_y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";                        
    423421        } 
    424    $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND endet IS NULL "; 
    425         $sql.="ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; // WHERE f.land=? 
     422        $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND endet IS NULL  
     423        ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; 
    426424        $v=array($zgemkg, $zflur, $linelimit); 
    427425        $res=pg_prepare("", $sql); 
  • trunk/mapbender/http/nav/alkisnav_grd.php

    r333 r334  
    1111        2013-12-12      Limit in EinBlatt von 200 weit hoch gesetzt (bis BlÀttern möglich wird) 
    1212        2014-09-03  PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    13         2014-09-10  Bei Relationen den Timestamp abschneiden 
     13        2014-09-15  Bei Relationen den Timestamp abschneiden 
    1414*/ 
    1515$cntget = extract($_GET); 
     
    420420 
    421421        // Recht "an" (dienende Buchungen und ihre Flurst.) 
    422         $sql =$sqlanf.", sd.gml_id AS diengml, sd.laufendenummer AS dienlfd, "; // Stelle dienend 
    423         $sql.="bd.gml_id AS dienbltgml, bd.buchungsblattnummermitbuchstabenerweiterung AS dienblatt, "; // Blatt dienend 
    424         $sql.="gd.stelle, gd.gml_id AS dienbezgml, gd.bezirk, gd.bezeichnung AS diengbbez "; // AG und Bezirk dazu 
    425         $sql.="FROM ax_buchungsstelle sh "; // herrschend 
    426         $sql.="JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) "; // dienend 
    427         $sql.="JOIN ax_flurstueck f ON f.istgebucht=substring(sd.gml_id,1,16) "; 
    428         $sql.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 
    429         $sql.="JOIN ax_buchungsblatt bd ON sd.istbestandteilvon=substring(bd.gml_id,1,16) ";    // Blatt dienend 
    430         $sql.="JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk "; // GB-Bez. dienend 
    431         $sql.="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 "; 
    432         $sql.=$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     422$sql =$sqlanf.", sd.gml_id AS diengml, sd.laufendenummer AS dienlfd,  
     423bd.gml_id AS dienbltgml, bd.buchungsblattnummermitbuchstabenerweiterung AS dienblatt,  
     424gd.stelle, gd.gml_id AS dienbezgml, gd.bezirk, gd.bezeichnung AS diengbbez  
     425FROM ax_buchungsstelle sh  
     426JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an)  
     427JOIN ax_flurstueck f ON f.istgebucht=substring(sd.gml_id,1,16)  
     428JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung  
     429JOIN ax_buchungsblatt bd ON sd.istbestandteilvon=substring(bd.gml_id,1,16)  
     430JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk  
     431WHERE 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 " 
     432.$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
    433433 
    434434        $v=array($buchunggml); 
Note: See TracChangeset for help on using the changeset viewer.