Changeset 333 for trunk/mapbender


Ignore:
Timestamp:
09/15/14 15:11:32 (10 years ago)
Author:
frank.jaeger
Message:

Anpassung der Programme und Views an verschieden lange gm_id und Datenbanken mit historischen Objekten.

Location:
trunk/mapbender/http/nav
Files:
5 edited

Legend:

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

    r330 r333  
    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 
    1112 
    1213        ToDo: 
     
    240241                        } 
    241242                        $sqlko.="FROM ax_lagebezeichnungohnehausnummer o "; 
    242                         $sqlko.="JOIN ax_flurstueck f ON o.gml_id = ANY(f.zeigtauf) "; 
     243                        $sqlko.="JOIN ax_flurstueck f ON substring(o.gml_id,1,16)=ANY(f.zeigtauf) "; 
    243244                        $sqlko.="WHERE o.land= $1 AND o.regierungsbezirk= $2 AND o.kreis= $3 AND o.gemeinde= $4 AND o.lage= $5 ";        
    244245                        $sqlko.="LIMIT 1;"; // die erstbeste Koordinate 
     
    296297                        $sql.="avg (st_y(st_transform(p.wkb_geometry,".$epsg."))) AS y ";                
    297298                } 
    298                 $sql.="FROM ap_pto p JOIN ax_lagebezeichnungmithausnummer h ON h.gml_id = ANY(p.dientzurdarstellungvon) "; 
    299                 $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 "; 
     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 "; 
    300301                $sql.="GROUP BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2) "; 
    301302                $sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; 
  • trunk/mapbender/http/nav/alkisnav_eig.php

    r330 r333  
    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 
    1516*/ 
    1617$cntget = extract($_GET); 
     
    6263        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $auskpath; // $debug 
    6364 
    64         $sql ="SELECT p.nachnameoderfirma, p.vorname, p.geburtsdatum, p.namensbestandteil, "; 
    65         $sql.="a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer "; 
    66         $sql.="FROM ax_person p LEFT JOIN ax_anschrift a ON a.gml_id = ANY(p.hat) "; 
    67         $sql.="WHERE p.gml_id= $1 AND p.endet IS NULL AND a.endet IS NULL LIMIT 1;";     
     65        $sql ="SELECT p.nachnameoderfirma, p.vorname, p.geburtsdatum, p.namensbestandteil,  
     66        a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer  
     67        FROM ax_person p LEFT JOIN ax_anschrift a ON substring(a.gml_id,1,16)=ANY(p.hat)  
     68        WHERE p.gml_id= $1 AND p.endet IS NULL AND a.endet IS NULL LIMIT 1;";    
    6869        // Es wird nur eine Zeile ausgewertet 
    6970 
     
    128129        $sql ="SELECT p.nachnameoderfirma, p.vorname, p.gml_id FROM ax_person p "; 
    129130        if ($gfilter > 0) { 
    130                 $sql.="JOIN gemeinde_person g ON p.gml_id = g.person WHERE "; 
     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 "; 
    131133                switch ($gfilter) { 
    132134                        case 1: // Einzel 
     
    192194        // Body 
    193195        // Suche nach GrundbÃŒchern der Person 
    194         $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam "; 
    195         $sql.="FROM ax_namensnummer n JOIN ax_buchungsblatt gb ON n.istbestandteilvon = gb.gml_id "; 
    196         $sql.="JOIN ax_buchungsblattbezirk b ON gb.land = b.land AND gb.bezirk = b.bezirk "; 
    197         $sql.="WHERE n.bennennt = $1 AND n.endet IS NULL AND gb.endet IS NULL AND b.endet IS NULL "; 
     196        $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam  
     197        FROM ax_namensnummer n JOIN ax_buchungsblatt gb ON n.istbestandteilvon=substring(gb.gml_id,1,16)  
     198        JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk  
     199        WHERE n.bennennt = $1 AND n.endet IS NULL AND gb.endet IS NULL AND b.endet IS NULL;"; 
    198200 
    199201        // Parameter $gbkennz, z.B. nach Klick auf Zeile "Bezirk" 
     
    218220                echo "\n<p class='ein'>Teil ".$bltseite; 
    219221        } 
    220         $v=array($person, $linelimit); 
     222        $v=array(substr($person,0,16), $linelimit); // nur 16 Stellen in Relation "benennt" 
    221223        $res=pg_prepare("", $sql); 
    222224        $res=pg_execute("", $v); 
     
    239241                $cnt++; 
    240242        } 
    241  
     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*/ 
    242253        // Foot 
    243254        if($cnt == 0) {  
     
    328339 
    329340        // Baustein 1: SQL-Anfang fuer beide Varianten 
    330         $sql1 ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam, "; 
    331         $sql1.="s1.gml_id as bsgml, s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ot.gemarkung, ot.gemarkungsname, "; 
     341        $sql1 ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam,  
     342        s1.gml_id as bsgml, s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ot.gemarkung, ot.gemarkungsname, "; 
    332343        if($epsg == "25832") { // Transform nicht notwendig 
    333344                $sql1.="st_x(st_centroid(f.wkb_geometry)) AS x, "; 
     
    339350 
    340351        // NamenNummer >istbestandteilvon> buchungsblatt <istbestandteilvon< buchungsstelle-1 
    341         $sql1.="FROM ax_namensnummer nn "; 
    342         $sql1.="JOIN ax_buchungsblatt gb ON gb.gml_id = nn.istbestandteilvon "; 
    343         $sql1.="JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; 
    344         $sql1.="JOIN ax_buchungsstelle s1 ON gb.gml_id = s1.istbestandteilvon "; 
     352        $sql1.="FROM ax_namensnummer nn  
     353        JOIN ax_buchungsblatt gb ON substring(gb.gml_id,1,16)=nn.istbestandteilvon  
     354        JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk 
     355        JOIN ax_buchungsstelle s1 ON substring(gb.gml_id,1,16)=s1.istbestandteilvon "; 
    345356 
    346357        // Baustein A: Auswahl 1 oder 2 
    347358        // buchungsstelle-1 <istGebucht< FS 
    348         $sqla1 ="JOIN ax_flurstueck f ON s1.gml_id = f.istgebucht "; 
     359        $sqla1 ="JOIN ax_flurstueck f ON substring(s1.gml_id,1,16)=f.istgebucht "; 
    349360 
    350361        // buchungsStelle1 (herr.) >an> buchungsStelle2 (dien.) <istGebucht< FS 
    351         $sqla2 ="JOIN ax_buchungsstelle s2 ON s2.gml_id = ANY(s1.an) "; 
    352         $sqla2.="JOIN ax_flurstueck f ON s2.gml_id = f.istgebucht "; 
     362        $sqla2 ="JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an) "; 
     363        $sqla2.="JOIN ax_flurstueck f ON substring(s2.gml_id,1,16)=f.istgebucht "; 
    353364 
    354365        // Baustein 2: SQL-Ende fuer beide Varianten 
     
    360371        if ($kennztyp > 1) { // 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR 
    361372                #if ($debug > 0) {echo "<p class='dbg'>Filter Bezirk '".$zgbbez."'<p>";} 
    362                 $sql2.="AND b.bezirk = ".$zgbbez." "; 
     373                $sql2.="AND b.bezirk = '".$zgbbez."' "; 
    363374                $bezirkaktuell = true; 
    364375        } else { 
     
    402413                // Blatt <istBestandteilVon<  Buchungsstelle <istGebucht< Flurstck. 
    403414                $sql=$sql1.$sqla1.$sql2.$bltwhere.$sql3; // Direkte Buchungen 
    404                 $v=array($person, $linelimit); 
     415 
     416                $v=array(substr($person,0,16), $linelimit); // Rel. "benennt" nur 16 Zeichen 
    405417                $res=pg_prepare("", $sql); 
    406418                $res=pg_execute("", $v); 
    407419                if (!$res) { 
    408420                        echo "\n<p class='err'>Fehler bei Buchung und Flurst&uuml;ck.</p>"; 
    409                         if ($debug > 2) {echo "<p class='dbg'>SQL = '".$sql."'<p>";} 
     421                        if ($debug > 2) {echo "<p class='dbg'>SQL = '".$sql."', $1 = '".substr($person,0,16)."'<p>";} 
    410422                        return; 
    411423                } 
     
    473485        } 
    474486 
     487/*      if ($zfs1 == 0) { // Nur Entw. - Start 
     488                if ($debug > 1) { 
     489                        echo "\n<p class='dbg'>Keine Buchung</p>"; 
     490                } 
     491                if ($debug > 2) { 
     492                        echo "<p class='dbg'>SQL = '".$sql."'<p>"; 
     493                } 
     494        } // Nur Entw. - Ende */ 
     495 
    475496        // FÀlle mit "Rechte an" 
    476497        if ($bltrecht != "ohne") { // "nur"/"ohne" liefert nur den abgebrochene Teil der Auflistung  
     
    478499                // buchungsStelle2 <an< buchungsStelle1 
    479500                $sql=$sql1.$sqla2.$sql2.$bltwhere."AND s2.endet IS NULL ".$sql3; // Rechte an 
    480                 $v=array($person, $linelimit); 
     501                $v=array(substr($person,0,16), $linelimit); 
    481502                $res=pg_prepare("", $sql); 
    482503                $res=pg_execute("", $v); 
  • trunk/mapbender/http/nav/alkisnav_fkt.php

    r330 r333  
    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 
    89*/ 
    910 
     
    248249 
    249250        // 2 Varianten zwischen 
    250     $sqlz1="JOIN ax_flurstueck f ON f.istgebucht = s1.gml_id "; 
     251    $sqlz1="JOIN ax_flurstueck f ON f.istgebucht=substring(s1.gml_id,1,16) "; 
    251252         
    252         $sqlz2 ="JOIN ax_buchungsstelle s2 ON s2.gml_id = ANY(s1.an) "; // nur an oder "an" und "zu" ? 
     253        $sqlz2 ="JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an) "; // nur an oder "an" und "zu" ? 
    253254// Test: SELECT * FROM ax_buchungsstelle WHERE NOT zu IS NULL;  // keine Treffer fÃŒr "zu" 
    254 //      $sqlz2 ="JOIN ax_buchungsstelle s2 ON (s2.gml_id = ANY(s1.an) OR s2.gml_id = ANY(s1.zu)) ";  
    255     $sqlz2.="JOIN ax_flurstueck f ON f.istgebucht = s2.gml_id "; 
     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) "; 
    256257 
    257258        // hinten gleich 
  • trunk/mapbender/http/nav/alkisnav_fls.php

    r330 r333  
    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 
    1213*/ 
    1314$cntget = extract($_GET); 
     
    308309                $match = trim($fskennz)."%"; 
    309310        }        
    310         $sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname, s.gemeindename "; 
    311         $sql.="FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde = s.gemeinde "; 
    312         $sql.="WHERE g.gemarkungsname ILIKE $1 "; 
     311        $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 "; 
    313314        switch ($gfilter) { 
    314315                case 1: // Einzelwert 
    315                         $sql.="AND g.gemeinde='".$gemeinde."' "; break; 
     316                        $sql.="AND g.gemeinde='".$gemeinde."'"; break; 
    316317                case 2: // Liste 
    317318                        $sql.="AND g.gemeinde in ("."'".str_replace(",", "','", $gemeinde)."'".") "; break; 
     
    617618                                return; 
    618619                        } 
    619  
    620 /* 
    621  
    622  SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner  
    623  FROM ax_flurstueck  
    624  WHERE flurstueckskennzeichen IN ( '05265600400296______' )  
    625    AND endet IS NULL  
    626 UNION  
    627  SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner  
    628  FROM ax_historischesflurstueck  
    629  WHERE flurstueckskennzeichen IN ( '05265600400296______' )  
    630     AND endet IS NULL  
    631 UNION  
    632  SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner  
    633  FROM ax_historischesflurstueckohneraumbezug  
    634  WHERE flurstueckskennzeichen IN ( '05265600400296______' )  
    635    AND endet IS NULL ' 
    636  
    637 ==> UNION-Typen character varying und integer passen nicht zusammen  gemarkungsnummer 
    638  
    639 */ 
    640620 
    641621                        $zfsn=0; 
  • trunk/mapbender/http/nav/alkisnav_grd.php

    r330 r333  
    33        2013-04-16      "import_request_variables" entfÀllt in PHP 5.4 
    44        2013-04-26      Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung" 
    5                                         Code aus _eig nach_fkt ausgelegert, hier mit nutzen.  
    6                                         Dazu Var-Namen harmonisieren: $gblatt wird $blattgml 
    7                                         ZurÃŒck-Link, Titel der Transaktion anzeigen. 
     5                                Code aus _eig nach_fkt ausgelegert, hier mit nutzen.  
     6                                Dazu Var-Namen harmonisieren: $gblatt wird $blattgml 
     7                                ZurÃŒck-Link, Titel der Transaktion anzeigen. 
    88        2013-04-29      Test mit IE 
    99        2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen 
     
    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 
    1314*/ 
    1415$cntget = extract($_GET); 
     
    5455        $linelimit=40; 
    5556 
    56         $sql ="SELECT stelle, bezeichnung AS ag FROM ax_dienststelle "; 
    57         $sql.="WHERE stelle IN (".$liste_ag.") AND stellenart = 1000 AND endet IS NULL "; // AG aus Liste 
    58         $sql.="ORDER BY bezeichnung LIMIT $1 ;"; 
     57        $sql ="SELECT stelle, bezeichnung AS ag FROM ax_dienststelle  
     58        WHERE stelle IN (".$liste_ag.") AND stellenart = 1000 AND endet IS NULL  
     59        ORDER BY bezeichnung LIMIT $1 ;"; 
    5960        $res = pg_prepare("", $sql); 
    6061        $res = pg_execute("", array($linelimit)); 
     
    9394 
    9495        // Body 
    95         $sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    96         $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    97         $sql.="WHERE a.stelle = $1 AND a.stellenart = 1000 AND a.endet IS NULL AND g.endet IS NULL "; 
    98         // Diese Subquery stellt sicher, dass nur Bezirke aufgelistet werden, die auch BlÀtter enthalten: 
    99         $sql.="AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land AND b.bezirk=g.bezirk AND b.endet IS NULL LIMIT 1) IS NULL "; 
    100         $sql.="ORDER BY g.bezeichnung LIMIT $2 ;"; 
     96        // Die Subquery stellt sicher, dass nur Bezirke aufgelistet werden, die auch BlÀtter enthalten 
     97        $sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g  
     98        JOIN ax_dienststelle a ON g.stelle=a.stelle  
     99        WHERE a.stelle = $1 AND a.stellenart = 1000 AND a.endet IS NULL AND g.endet IS NULL  
     100        AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land AND b.bezirk=g.bezirk AND b.endet IS NULL LIMIT 1) IS NULL  
     101        ORDER BY g.bezeichnung LIMIT $2 ;"; 
     102 
    101103        $v = array($agkey, $linelimit); 
    102104        $res = pg_prepare("", $sql); 
     
    129131        // Parameter = SchlÃŒssel des Bezirks 
    130132        #global $debug; 
    131         $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    132         $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 AND g.endet IS NULL AND a.endet IS NULL LIMIT 1;"; 
     133        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g  
     134        JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 AND g.endet IS NULL AND a.endet IS NULL LIMIT 1;"; 
    133135        $v=array($gbbez); 
    134136        $res=pg_prepare("", $sql); 
     
    159161        global $gkz, $gemeinde, $debug, $gbkennz; 
    160162        $linelimit=80; 
    161         $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    162         $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    163         $sql.="WHERE g.bezeichnung ILIKE $1 AND g.endet IS NULL AND a.endet IS NULL "; // "AND a.stellenart=1000 " Amtsgericht 
    164         $sql.="ORDER BY a.bezeichnung, g.bezeichnung LIMIT $2 ;"; 
     163 
     164        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g  
     165        JOIN ax_dienststelle a ON g.stelle=a.stelle  
     166        WHERE g.bezeichnung ILIKE $1 AND g.endet IS NULL AND a.endet IS NULL  
     167        ORDER BY a.bezeichnung, g.bezeichnung LIMIT $2 ;";// "AND a.stellenart=1000 " Amtsgericht 
    165168        if ( $gbkennz == "") { 
    166169                $match = "%"; 
     
    220223        } 
    221224        // Body 
    222         $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b "; 
    223         $sql.="WHERE b.bezirk= $1 AND b.endet IS NULL ORDER BY b.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;"; 
     225        $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b  
     226        WHERE b.bezirk= $1 AND b.endet IS NULL ORDER BY b.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;"; 
    224227        $v=array($zgbbez, $linelimit); 
    225228        $res=pg_prepare("", $sql); 
     
    254257        // Kennzeichen "Bezirk + Blatt" eingegeben. Dazu die gml_id des Blattes ermitteln. 
    255258        global $debug, $zgbbez, $zblatt, $zblattn, $zblattz; 
    256         $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b ";  
    257         $sql.="WHERE b.bezirk= $1 AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung "; 
     259        $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b  
     260        WHERE b.bezirk= $1 AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung "; 
    258261 
    259262        if ($zblattz == "") { // Ohne Buchstabenerweiterung: Formate '123','000123 ','0000123' 
     
    303306 
    304307        // Blatt ->  B u c h u n g s s t e l l e 
    305         $sql ="SELECT s.gml_id FROM ax_buchungsstelle s "; 
    306         $sql.="JOIN ax_buchungsblatt b ON s.istbestandteilvon = b.gml_id ";  
    307         $sql.="WHERE b.bezirk= $1 AND s.endet IS NULL AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung "; 
     308        $sql ="SELECT s.gml_id FROM ax_buchungsstelle s  
     309        JOIN ax_buchungsblatt b ON s.istbestandteilvon=substring(b.gml_id,1,16) 
     310        WHERE b.bezirk= $1 AND s.endet IS NULL AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung "; 
    308311 
    309312        if ($zblattz == "") { // Ohne Buchstabenerweiterung 
     
    421424        $sql.="gd.stelle, gd.gml_id AS dienbezgml, gd.bezirk, gd.bezeichnung AS diengbbez "; // AG und Bezirk dazu 
    422425        $sql.="FROM ax_buchungsstelle sh "; // herrschend 
    423         $sql.="JOIN ax_buchungsstelle sd ON sd.gml_id = ANY(sh.an) "; // dienend 
    424         $sql.="JOIN ax_flurstueck f ON f.istgebucht = sd.gml_ID "; 
     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) "; 
    425428        $sql.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 
    426         $sql.="JOIN ax_buchungsblatt bd ON sd.istbestandteilvon = bd.gml_id ";  // Blatt dienend 
     429        $sql.="JOIN ax_buchungsblatt bd ON sd.istbestandteilvon=substring(bd.gml_id,1,16) ";    // Blatt dienend 
    427430        $sql.="JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk "; // GB-Bez. dienend 
    428431        $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 "; 
Note: See TracChangeset for help on using the changeset viewer.