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.

File:
1 edited

Legend:

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

    r330 r333  
    1010        2014-01-23 gml des Katalogs, Link auf Modul "strasse" 
    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 
    1313 
    1414        ToDo: 
     
    7878LEFT JOIN ax_lagebezeichnungkatalogeintrag s  
    7979ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    80 WHERE l.gml_id= $1;"; 
     80WHERE l.gml_id= $1 AND l.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL;"; 
    8181 
    8282$v = array($gmlid); 
     
    144144echo "<p>Typ: ".$untertitel."</p>"; 
    145145 
    146 echo "\n<table class='outer'>\n<tr>\n\t<td>";   // Tabelle Kennzeichen 
     146echo "\n<table class='outer'>\n<tr>\n\t<td>";   // Tab. Kennz. 
    147147        // ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind 
    148148        echo "\n\t<table class='kennzla' title='Lage'>"; 
     
    234234 
    235235// F L U R S T U E C K E 
    236         // ax_Flurstueck  >weistAuf>  ax_LagebezeichnungMitHausnummer 
    237         // ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer 
     236// ax_Flurstueck  >weistAuf>  ax_LagebezeichnungMitHausnummer 
     237// ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer 
    238238if ($ltyp <> "p") { // Pseudonummer linkt nur GebÀude 
    239239        echo "\n\n<a name='fs'></a><h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n"; 
     
    244244        } 
    245245 
    246         $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche "; 
    247         $sql.="FROM ax_flurstueck f "; 
    248         $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    249         $sql.="WHERE $1 = ANY(f.".$bezart.")"; 
    250         $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
    251  
    252         $v = array($gmlid); 
     246        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche  
     247        FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     248        WHERE $1 = ANY(f.".$bezart.") AND f.endet IS NULL AND g.endet IS NULL  
     249        ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     250 
     251        $v = array(substr($gmlid,0,16)); // Relation nur mit 16 Stellen  
    253252        $resf = pg_prepare("", $sql); 
    254253        $resf = pg_execute("", $v); 
    255254        if (!$resf) { 
    256255                echo "<p class='err'>Fehler bei Flurst&uuml;ck.</p>\n"; 
    257                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}      
     256                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";}         
    258257        } 
    259258 
     
    291290        } 
    292291        echo "\n</table>"; 
     292        if ($j > 6) { 
     293                echo "<p class='cnt'>".$j." Flurst&uuml;cke</p>"; 
     294        } 
    293295} 
    294296 
     
    310312                        echo "\n<p>Nebengeb&auml;ude: "; 
    311313                        $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; 
    312                         $sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 ORDER BY laufendenummer;"; 
    313                 // pseudonummer character varying(5), laufendenummer character varying(2), 
     314                        $sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 AND l.endet IS NULL ORDER BY laufendenummer;"; 
    314315 
    315316                        $v = array($land,$regbez,$kreis,$gem,$lage,$lage,$hsnr); 
     
    329330                        echo "\n<p>Hauptgeb&auml;ude: "; 
    330331                        $sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l "; 
    331                         $sql.=$whereclaus."AND hausnummer= $6;"; 
     332                        $sql.=$whereclaus."AND hausnummer= $6 AND l.endet IS NULL ;"; 
    332333 
    333334                        $v = array($land,$regbez,$kreis,$gem,$lage,$pseu); 
     
    343344                        echo "\n<p>weitere Nebengeb&auml;ude: "; 
    344345                        $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; 
    345                         $sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 ORDER BY laufendenummer;"; 
     346                        $sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 AND l.endet IS NULL ORDER BY laufendenummer;"; 
    346347                        $v = array($land,$regbez,$kreis,$gem,$lage,$pseu,$lfd); 
    347348                        $res = pg_prepare("", $sql); 
     
    369370        $sql ="SELECT g.gml_id, g.gebaeudefunktion, g.name, g.bauweise, g.grundflaeche, g.zustand, round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner  
    370371        FROM ax_gebaeude g LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id  
    371         LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert "; 
    372         // +++ JOIN Zustand 
    373         $sql.="WHERE $1 = ".$bezart.";"; 
    374  
    375         $v = array($gmlid); 
     372        LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert WHERE $1 = ".$bezart." AND g.endet IS NULL;"; 
     373 
     374        $v = array(substr($gmlid,0,16)); // 16 St. in Rel. 
    376375        $res = pg_prepare("", $sql); 
    377376        $res = pg_execute("", $v); 
    378377        if (!$res) { 
    379378                echo "<p class='err'>Fehler bei Geb&auml;ude.</p>\n"; 
    380                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     379                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";} 
    381380        } 
    382381        echo "\n<table class='geb'>"; 
Note: See TracChangeset for help on using the changeset viewer.