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

Revision 350, 19.6 KB checked in by frank.jaeger, 9 years ago (diff)

ALKIS-Auskunft: Bestandsnachweis verbessert

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