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

Revision 333, 20.0 KB checked in by frank.jaeger, 10 years ago (diff)

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

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