source: trunk/info/info/alkis/alkisfkt.php @ 306

Revision 306, 19.0 KB checked in by frank.jaeger, 10 years ago (diff)

ALKIS-Auskunft, neues Modul "Straße"

RevLine 
[26]1<?php
[123]2/*      Modul: alkisfkt.php
[26]3        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
[123]4        Functions
[41]5
[26]6        Version:
[306]7        2010-12-17  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
8        2011-11-01  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
9        2011-11-02  Parameter debug in function eigentuemer
10        2011-11-17  Variable ($debug, $idanzeige, $showkey) von Parameter nach global. Die heißen in allen Programmteilen gleich.
11        2014-01-22      Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle
[26]12*/
[41]13 function footer($gmlid, $link, $append) {
[129]14        // Einen Seitenfuss ausgeben.
[41]15        // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen.
[123]16        // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor
17
[64]18        // Der Parameter $append wird angehaengt wenn gefuellt
[123]19        //  Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage
20        global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl;
[129]21
[123]22        $customer=$_SESSION["mb_user_name"];
[26]23        echo "\n<div class='confbereich noprint'>";
24        echo "\n<table class='outer'>\n<tr>";
25
[123]26        // Spalte 1: Info Benutzerkennung
27        echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>";
[26]28
[64]29        // Spalte 2: Umschalter
[123]30        echo "\n\t<td title='Konfiguration'>";
[43]31                $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append;
[123]32                if ($showkey) {$mykey = "&amp;showkey=j";} else {$mykey = "&amp;showkey=n";}
[132]33                if ($idumschalter) { // fuer Entwicklung ODER Test
[123]34                        if ($idanzeige) {$myid = "&amp;id=j";} else {$myid = "&amp;id=n";}
[132]35
[123]36                        // Umschalter nur ausgeben, wenn in conf gesetzt
37                        if ($idanzeige) { // Umschalten ID ein/aus
38                                echo $mylink.$mykey."&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>";
39                                echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID aus</a>";
[45]40                        } else {
[123]41                                echo $mylink.$mykey."&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>";
42                                echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID ein</a>";
43                        }
44                        echo " | ";
45                } else { // keinen ID-Umschalter
46                        $myid = "";
47                }
48
49                if ($showkey) { // // Umschalten SchlÃŒssel ein/aus
50                        echo $mylink.$myid."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>";
[43]51                } else {
[123]52                        echo $mylink.$myid."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>";
53                }
54        echo "\n\t</td>";
[26]55
56        // Spalte 3
57        echo "\n\t<td title='Hilfe'>";
58        echo "\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>";
59        echo "\n</tr>\n</table>\n</div>\n";         return 0;
[132]60}
[26]61
62function linkgml($gkz, $gml, $typ)  {
[123]63        // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php
[26]64        $kurzid=substr($gml, 12); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich         echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' ";
[123]65        echo "href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."'>";
[43]66        echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''>".$kurzid."</a>";
[123]67        return 0;
68}
69
[26]70function kurz_namnr($lang) {
[123]71        // Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden
[41]72        $kurz=str_replace(".00","",$lang);      // leere Stufen (nur am Ende)
[26]73        $kurz=str_replace("0000","",$kurz);     // ganz leer (am Anfang)
[123]74        $kurz=ltrim($kurz, "0");                                // fuehrende Nullen am Anfang
[41]75        $kurz=str_replace(".0",".",$kurz);      // fuehrende Null jeder Stufe
76        return $kurz;
[26]77}
[41]78
[26]79function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) {
80/*      Bestandsnachweis - Flurstuecksdaten
[123]81        Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben.
[129]82        Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall).
[123]83        Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen.
84        Table-Tag und Kopfzeile im aufrufenden Programm.
85*/
86        global $gkz, $idanzeige, $showkey;
87        // F L U R S T U E C K
[26]88        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
[129]89        $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche ";
[41]90        $sql.="FROM ax_flurstueck f ";
91        $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";
[123]92        $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
[78]93        $sql.="WHERE v.beziehung_zu= $1 "; // id buchungsstelle
[41]94        $sql.="AND v.beziehungsart='istGebucht' ";
[123]95        $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
[61]96
[78]97        $v = array($gml_bs);
[41]98        $resf = pg_prepare("", $sql);
[61]99        $resf = pg_execute("", $v);
100
101        if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck</p>\n";}
102
[64]103        if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben
[129]104                $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
[123]105        }
106        $altlfdnr="";
107        $j=0;
108        while($rowf = pg_fetch_array($resf)) {
109                $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
[41]110
[123]111/*              $fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
112                if ($rowf["nenner"] != "") { // Bruchnummer
113                        $fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);
114                } */
115
116                // ohne fuehrende Nullen?
[45]117                $fskenn=$rowf["zaehler"];
[123]118                if ($rowf["nenner"] != "") { // Bruchnummer
119                        $fskenn.="/".$rowf["nenner"];
120                }
121
122                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
123
124                echo "\n<tr>"; // eine Zeile je Flurstueck
125                        // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS
126                        if($lfdnr == $altlfdnr) {       // gleiches Grundstueck
[41]127                                echo "\n\t<td>&nbsp;</td>";
[43]128                                echo "\n\t<td>&nbsp;</td>";
[123]129                                echo "\n\t<td>&nbsp;</td>";
[43]130                        } else {
[123]131                                echo "\n\t<td>";
132                                        echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke
133                                        echo "<span class='wichtig'>".$bvnr."</span>";  // BVNR
134                                        if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
[64]135                                echo "</td>";
[43]136
137                                echo "\n\t<td>"; // Buchungsart
138                                        //      if ($showkey) {echo "<span class='key'>".$???."</span>&nbsp;";} // Schluessel
[123]139                                        echo $ba; // entschluesselt
140                                echo "</td>";
141                                echo "\n\t<td>&nbsp;</td>"; // Anteil
142                                $altlfdnr=$lfdnr;
[45]143                        }
[123]144                        //Sp. 4-7 aus Flurstueck
[64]145                        echo "\n\t<td>";
146                        if ($showkey) {
[43]147                                echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";
[123]148                        }
149                        echo $rowf["bezeichnung"]."</td>";
150                        echo "\n\t<td>".$flur."</td>";
151                        echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
152                                if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
[43]153                        echo "</td>";
154                        echo "\n\t<td class='fla'>".$flae."</td>";
155
[123]156                        echo "\n\t<td><p class='nwlink noprint'>";
[43]157                                echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
[64]158                                        if ($idanzeige) {echo "&amp;id=j";}
[43]159                                        if ($showkey)   {echo "&amp;showkey=j";}
160                                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
[123]161                                        echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
[43]162                                echo "</a>";
[123]163                        echo "</p></td>";
164                echo "\n</tr>";
165
166                $j++;
[43]167        } // Ende Flurstueck
[41]168        return $j;
169}
170
171function eigentuemer($con, $gmlid, $mitadresse, $lnkclass) {
[123]172        // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben
[64]173        // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link
[129]174        // Parameter:
[123]175        //              $gmlid = ID des GB-Blattes
176        //              $mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll
177        // Return = Anzahl Namensnummern
178
179        // Schleife 1: N a m e n s n u m m e r
180        // Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
181        global $debug, $gkz, $idanzeige, $showkey;
[41]182
[123]183        // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal)
[129]184        if ($lnkclass == "") {
[123]185                $lnkvor = "";
[129]186                $lnknach = "";
187        } else {
188                $lnkvor  = "javascript:".$lnkclass."(\"";
189                $lnknach = "\")";
190        } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx ";
191
192        $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
193        $sqln.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
[64]194        $sqln.="FROM ax_namensnummer n ";
[123]195        $sqln.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
196        $sqln.="WHERE b.beziehung_zu= $1 "; // id blatt
197        $sqln.="AND b.beziehungsart='istBestandteilVon' ";
198        $sqln.="ORDER BY laufendenummernachdin1421;";
199
200        $v = array($gmlid);
201        $resn = pg_prepare("", $sqln);
[64]202        $resn = pg_execute("", $v);
[61]203
[123]204        if (!$resn) {
[61]205                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= '".$gmlid."'</p>";}
[123]207        }
208         echo "\n\n<table class='eig'>";
209        $n=0; // Z.NamNum.
210
[129]211        while($rown = pg_fetch_array($resn)) {
[43]212                $gmlnn=$rown["gml_id"];
[41]213                echo "\n<tr>";
[123]214                        echo "\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>"; // Sp. 1
[41]215                                // VOR die Tabelle: "EigentÃŒmer"
[123]216                                $namnum=kurz_namnr($rown["lfd"]);
217                                echo $namnum."&nbsp;";
[43]218                                if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
[41]219                        echo "</p>\n\t</td>";
220
221                        echo "\n\t<td>"; // Sp. 2
222                        $rechtsg=$rown["adr"];
[123]223                        if ($rechtsg != "" ) {
224                                if ($rechtsg == 9999) { // sonstiges
[41]225                                        echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
226                                } else {
227                                        echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";                                 }
228                        }
[123]229                        //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:
[41]230
[123]231                        // Schleife Ebene 2: andere Namensnummern
[41]232                        // Beziehung   ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer
233
234                        // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus,
[64]235                        // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.
[41]236                        // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer,
237                        // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.
[64]238
[41]239                        // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÃŒber,
240                        // aus welchen Namensnummern die aktuelle entstanden ist.
241
242                // Schleife 2: P e r s o n 
[64]243                // Beziehung: ax_person  <benennt<  ax_namensnummer
[41]244                $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
245                $sqlp.="FROM ax_person p JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
[64]246                $sqlp.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';";
[41]247
248                $v = array($gmlnn);
[123]249                $resp = pg_prepare("", $sqlp);
250                $resp = pg_execute("", $v);
251
[64]252                if (!$resp) {
[78]253                        echo "\n\t<p class='err'>Fehler bei Person</p>\n";
[123]254                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";}
255                }
[61]256
[123]257                $i=0; // cnt Person                 while($rowp = pg_fetch_array($resp)) {
258                        $diePerson="";
259                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";}
260                        $diePerson.=$rowp["nachnameoderfirma"];
261                        if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];}
262                        if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];}
263                        if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];}
[41]264                        if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];}
[123]265                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
266
267                        // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0
268                        if ($i > 0) {
269                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>";
270                        }
[41]271                        // Spalte 2 = Angaben
[64]272                        $eiart=eigentuemerart($rown["eigentuemerart"]);
[41]273                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart ".$eiart."'>".$diePerson."</p>\n\t</td>";
274
275                        // Spalte 3 = Link                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
276                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person"); echo "&nbsp";}
277                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0];
[123]278                                if ($idanzeige) {echo "&amp;id=j";}
[43]279                                if ($showkey)   {echo "&amp;showkey=j";}
[123]280                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart;
[41]281                                echo " <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a>\n\t\t</p>";
[123]282                        echo "\n\t</td>\n</tr>";
283
[129]284                        if ($mitadresse) {
[123]285                                // Schleife 3:  A d r e s s e  (OPTIONAL)
[43]286                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
[129]287                                $sqla.="FROM ax_anschrift a ";
[43]288                                $sqla.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
289                                $sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER?
[64]290
[41]291                                $gmlp=$rowp["gml_id"]; // Person
292                                $v = array($gmlp);
[123]293                                $resa = pg_prepare("", $sqla);
294                                $resa = pg_execute("", $v);
295
296                                if (!$resa) {
297                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>\n";
298                                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";}
299                                }
300
[61]301                                $j=0;                                 while($rowa = pg_fetch_array($resa)) {
[64]302                                        $gmla=$rowa["gml_id"];
[123]303                                        $plz=$rowa["plz"]; // integer
304                                        if($plz == 0) {
305                                                $plz="";
306                                        } else {
307                                                $plz=str_pad($plz, 5, "0", STR_PAD_LEFT);
308                                        }
[41]309                                        $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
310                                        $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
[123]311                                        $hsnr=$rowa["hausnummer"];
312                                        $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
313
314                                        echo "\n<tr>\n\t<td>&nbsp;</td>"; // Spalte 1
315                                        echo "\n\t<td><p class='gadr'>"; //Spalte 2
[41]316                                        if ($str.$hsnr != "") {
317                                                echo $str." ".$hsnr."<br>";
318                                        }
319                                        if ($plz.$ort != "") {
320                                                echo $plz." ".$ort;
[123]321                                        }
[41]322                                        if ($land != "" and $land != "DEUTSCHLAND") {
323                                                echo ", ".$land;
[123]324                                        }
325                                        echo "</p></td>";
[41]326                                        echo "\n\t<td>"; // Spalte 3
327                                        if ($idanzeige) {
[123]328                                                echo "<p class='nwlink noprint'>";
[41]329                                                linkgml($gkz, $gmla, "Adresse");
[123]330                                                echo "</p>";
331                                        } else {
[41]332                                                echo "&nbsp;";
333                                        }
334                                        echo "</td>\n</tr>";
[123]335                                        $j++;
336                                }                         } // End if
337                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
338                        $i++; // cnt Person
339                        // als eigene Tab-Zeile?
[64]340                        // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht).
[41]341                        if ($rown["zaehler"] != "") {
342                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
343                                echo "\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>";
[123]344                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
345                        }
[41]346                } // End Loop Person                 if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, dann kein Fehler
[123]347                        if ($debug > 0) {
[41]348                                echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";
[123]349                                if ($rechtsg != 9999) {
[41]350                                        echo "\n<p class='dbg'>Keine Person zur Namensnummer ".$namnum."</p>";
[123]351                                }
352                                //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1=gml(NamNum)= '".$gmlnn."'</p>";}
[41]353                        }
354                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
[123]355                }
[129]356                $n++; // cnt NamNum
[123]357        } // End Loop NamNum
[129]358        echo "\n</table>\n";
359        if ($n == 0) {
360                if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";}
361                if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";}
[306]362        }       
[129]363        return $n;
[123]364} // End Function eigentuemer
[41]365
[123]366// **  Functions  zum   E n t s c h l u e s s e l n  **
[41]367
[123]368// Entschluesslung ax_person.anrede
369function anrede($key) {
[132]370        switch ($key) {
371                case 1000: $wert = "Frau"; break;
[123]372                case 2000: $wert = "Herr"; break;
373                case 3000: $wert = "Firma"; break;
374                default:   $wert = ""; break;
[41]375        }
[123]376        return $wert;
[41]377}
[26]378
379// Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft
380function rechtsgemeinschaft($key) {
[123]381        switch ($key) {
382                case 1000: $wert = "Erbengemeinschaft"; break;
383                case 2000: $wert = "GÃŒtergemeinschaft"; break;
384                case 3000: $wert = "BGB-Gesellschaft"; break;
[26]385                case 9999: $wert = "Sonstiges"; break;  // dann: beschriebDerRechtsgemeinschaft
386                default:   $wert = ""; break;
387        }
[123]388        return $wert;
[26]389}
390
391// Entschluesslung AX_Namensnummer.eigentuemerart
[123]392function eigentuemerart($key) {
393        // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst.
394        // FÃŒr seltene Werte in der Datenbank nachschlagen.
395        // SchlÃŒsseltabelle dazu aus GeoInfoDok ist vorhanden seit 2014-01-22.
396        // Hier Verwendung fÃŒr Text zum Link.
[26]397        // FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function.
398        switch ($key) {
399                case 1000: $wert = "Nat&uuml;rliche Person"; break; // singular fuer Link-Text
[306]400                case 2000: $wert = "Juristische Person"; break; // singl.
[123]401                case 3000: $wert = "Körperschaft"; break; // singl.
[306]402                case 4000: $wert = "Kirchliches Eigentum"; break;
403                case 4100: $wert = "Evangelische Kirche"; break;
404                case 4200: $wert = "Katholische Kirche"; break;
405                case 5100: $wert = "Bundesrepublik Deutschland"; break;
406                case 5400: $wert = "Kreis"; break;
407                case 5500: $wert = "Gemeinde"; break;
[26]408                case 5920: $wert = "Land"; break; // "Eigenes Bundesland"
[306]409                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt
410                default: // Datenbank-Abfrage
411                        $sql="SELECT bezeichner FROM ax_namensnummer_eigentuemerart WHERE wert= $1 ;";
412                        $v=array($key);
413                        $res=pg_prepare("", $sql);
414                        $res=pg_execute("", $v);
415                        if ($res) {
416                                $row=pg_fetch_array($res);
417                                $wert==htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8");
418                        } else {
[123]419                                echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf SchlÃŒssel EigentÃŒmerart.</p>\n";
[306]420                                $wert = "** Unbekannte Eigent&uuml;merart '".$key."' **";
421                        }
422                        break;
423        }
424        return $wert;
425}
426
427
428// Entschluesslung ax_buchungsblatt.blattart
429function blattart($key) {
430        switch ($key) {
431                case 1000: $wert = "Grundbuchblatt"; break;
432                // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt.
[26]433                case 2000: $wert = "Katasterblatt"; break;
434                // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt.
[306]435                case 3000: $wert = "Pseudoblatt"; break;
436                // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt
437                // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
[26]438                case 5000: $wert = "Fiktives Blatt"; break;
439                // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.
440                // Es bildet um die Miteigentumsanteile eine fachliche Klammer.
[123]441                default: $wert = "** Unbekannter Wert '".$key."'"; break;
442        }
443        return $wert;
444}
445// Entschluesslung ax_dienststelle.stellenart
446function dienststellenart($key) {
447        switch ($key) {
448                case 1000: $wert = "Grundbuchamt"; break;
449                case 1100: $wert = "Katasteramt"; break;
450                case 1200: $wert = "Finanzamt"; break;
451                case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break;
[26]452                case 1400: $wert = "Forstamt"; break;
453                case 1500: $wert = "Wasserwirtschaftsamt"; break;
454                case 1600: $wert = "Straßenbauamt"; break;
455                case 1700: $wert = "Gemeindeamt"; break;
456                case 1900: $wert = "Kreis- oder Stadtverwaltung"; break;
457                case 2000: $wert = "Wasser- und Bodenverband"; break;
[123]458                case 2100: $wert = "Umlegungsstelle"; break;
459                case 2200: $wert = "Landesvermessungsverwaltung"; break;
460                case 2300: $wert = "&Ouml;bVI"; break;
461                case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break;
462                case 2500: $wert = "Landwirtschaftskammer"; break;
463                default: $wert = "** Unbekannter Wert '".$key."'"; break;
464        }
465        return $wert;
466}
467?>
Note: See TracBrowser for help on using the repository browser.