Ignore:
Timestamp:
09/30/14 16:42:55 (10 years ago)
Author:
frank.jaeger
Message:

Rückbau von "substring(gml_id)" in Views und Programmen.
Namensänderung von Schlüsseltabellen von ax_* auf v_*.

File:
1 edited

Legend:

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

    r334 r339  
    1313        2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    1414        2014-09-15 Bei Relationen den Timestamp abschneiden 
     15        2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
    1516*/ 
    1617 
     
    9697        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche  
    9798        FROM ax_flurstueck f  
    98         JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16)  
     99        JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
    99100        LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    100101        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;"; 
     
    198199        $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
    199200 
    200         $v = array(substr($gmlid,0,16)); // 16 Stellen bei Relationen 
     201        $v = array($gmlid); // 16 Stellen bei Relationen 
    201202        $resn = pg_prepare("", $sqln); 
    202203        $resn = pg_execute("", $v); 
     
    204205        if (!$resn) { 
    205206                echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
    206                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".substr($gmlid,0,16)."'</p>";} 
     207                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
    207208        } 
    208209 
     
    239240                        // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 
    240241 
    241                         // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÃŒber,  
    242                         // aus welchen Namensnummern die aktuelle entstanden ist. 
    243242 
    244243                // Schleife 2: P e r s o n 
    245244                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    246245                $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 
    247                 $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=substring(p.gml_id,1,16) WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 
     246                $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 
    248247 
    249248                $v = array($gmlnn); 
     
    291290                        if ($mitadresse) { 
    292291                                // Schleife 3:  A d r e s s e  (OPTIONAL) 
    293                                 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 
    294                                 $sqla.="FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16)=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL;"; // ORDER? 
     292                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland  
     293                                FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL LIMIT 2;"; 
    295294                                $gmlp=$rowp["gml_id"]; // Person 
    296295                                $v = array($gmlp); 
    297296                                $resa = pg_prepare("", $sqla); 
    298297                                $resa = pg_execute("", $v); 
     298 
    299299                                if (!$resa) { 
    300300                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>\n"; 
     
    303303                                $j=0; 
    304304                                while($rowa = pg_fetch_array($resa)) { 
    305                                         $gmla=$rowa["gml_id"]; 
    306                                         $plz=$rowa["plz"]; // integer 
    307                                         if($plz == 0) { 
    308                                                 $plz=""; 
    309                                         } else { 
    310                                                 $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); 
     305                                        $j++; 
     306                                        if ($j == 1) { // erste Adresse anzeigen 
     307                                                $gmla=$rowa["gml_id"]; 
     308                                                $plz=$rowa["plz"]; // integer 
     309                                                if($plz == 0) { 
     310                                                        $plz=""; 
     311                                                } else { 
     312                                                        $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); 
     313                                                } 
     314                                                $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); 
     315                                                $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); 
     316                                                $hsnr=$rowa["hausnummer"]; 
     317                                                $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 
     318 
     319                                                echo "\n<tr>\n\t<td>&nbsp;</td>"; //Sp. 1 
     320                                                echo "\n\t<td><p class='gadr'>"; //Sp. 2 
     321                                                if ($str.$hsnr != "") { 
     322                                                        echo $str." ".$hsnr."<br>"; 
     323                                                } 
     324                                                if ($plz.$ort != "") { 
     325                                                        echo $plz." ".$ort; 
     326                                                } 
     327                                                if ($land != "" and $land != "DEUTSCHLAND") { 
     328                                                        echo ", ".$land; 
     329                                                } 
     330                                                echo "</p></td>"; 
     331                                                echo "\n\t<td>"; // Sp. 3 
     332                                                if ($idanzeige) { 
     333                                                        echo "<p class='nwlink noprint'>"; 
     334                                                        linkgml($gkz, $gmla, "Adresse", "ax_adresse"); 
     335                                                        echo "</p>"; 
     336                                                } else {  
     337                                                        echo "&nbsp;"; 
     338                                                } 
     339                                                echo "</td>\n</tr>"; 
     340                                        } else { // manchmal dopplete Angaben (_straße / _str.) 
     341                                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td>&nbsp;</td>\n</tr>"; 
    311342                                        } 
    312                                         $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); 
    313                                         $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); 
    314                                         $hsnr=$rowa["hausnummer"]; 
    315                                         $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 
    316  
    317                                         echo "\n<tr>\n\t<td>&nbsp;</td>"; // Spalte 1 
    318                                         echo "\n\t<td><p class='gadr'>"; //Spalte 2 
    319                                         if ($str.$hsnr != "") { 
    320                                                 echo $str." ".$hsnr."<br>"; 
    321                                         } 
    322                                         if ($plz.$ort != "") { 
    323                                                 echo $plz." ".$ort; 
    324                                         } 
    325                                         if ($land != "" and $land != "DEUTSCHLAND") { 
    326                                                 echo ", ".$land; 
    327                                         } 
    328                                         echo "</p></td>"; 
    329                                         echo "\n\t<td>"; // Spalte 3 
    330                                         if ($idanzeige) { 
    331                                                 echo "<p class='nwlink noprint'>"; 
    332                                                 linkgml($gkz, $gmla, "Adresse", "ax_adresse"); 
    333                                                 echo "</p>"; 
    334                                         } else {  
    335                                                 echo "&nbsp;"; 
    336                                         } 
    337                                         echo "</td>\n</tr>"; 
    338                                         $j++; 
    339343                                } 
    340344                                pg_free_result($resa); 
    341                         } // End if 
     345                        } 
    342346                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 
    343347 
     
    370374        if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler  
    371375                if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 
    372                 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".substr($gmlid,0,16)."'</p>";} 
     376                if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
    373377        } 
    374378        pg_free_result($resn); 
     
    422426                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt 
    423427                default: // Datenbank-Abfrage 
    424                         $sql="SELECT bezeichner FROM ax_namensnummer_eigentuemerart WHERE wert= $1 ;"; 
     428                        $sql="SELECT bezeichner FROM v_namnum_eigart WHERE wert= $1 ;"; 
    425429                        $v=array($key); 
    426430                        $res=pg_prepare("", $sql); 
Note: See TracChangeset for help on using the changeset viewer.