source: trunk/var/www/info/alkis/alkisfsnw.php @ 26

Revision 26, 23.6 KB checked in by frank.jaeger, 14 years ago (diff)
Line 
1<?php
2/*      alkisfsnw.php
3        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
4        FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
5        Parameter:      &gkz= &gmlid= &eig=j/n
6        Version:
7        26.01.2010      internet-Version  mit eigener conf
8
9        ToDo: NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum
10
11*/
12ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
13session_start();
14// Bindung an Mapbender-Authentifizierung
15require_once("/data/mapwww/http/php/mb_validateSession.php");
16require_once("/data/conf/alkis_www_conf.php");
17include("alkisfkt.php");
18?>
19<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
20<html>
21<head>
22        <meta name="author" content="F. Jaeger">
23        <meta http-equiv="cache-control" content="no-cache">
24        <meta http-equiv="pragma" content="no-cache">
25        <meta http-equiv="expires" content="0">
26        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
27        <title>ALKIS Flurst&uuml;cksnachweis</title>
28        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
29        <style type='text/css' media='print'>
30                .noprint { visibility: hidden;}
31        </style>
32</head>
33<body>
34<?php
35$gkz=urldecode($_REQUEST["gkz"]);
36$gmlid=urldecode($_REQUEST["gmlid"]);
37$eig=urldecode($_REQUEST["eig"]);
38$id = isset($_GET["id"]) ? $_GET["id"] : "n";
39$idanzeige=false;
40if ($id == "j") {$idanzeige=true;}
41$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
42$dbname = 'alkis05' . $gkz;
43$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
44
45// F L U R S T U E C K
46$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, f.amtlicheflaeche, f.zeitpunktderentstehung, ";
47$sql.="g.gemarkungsnummer, g.bezeichnung ";
48$sql.="FROM ax_flurstueck f ";
49$sql.="JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
50$sql.="WHERE f.gml_id='".$gmlid."';";
51$res=pg_query($con,$sql);
52if (!$res) echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";
53if ($row = pg_fetch_array($res)) {
54        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
55        $gmkgnr=$row["gemarkungsnummer"];
56        $flurnummer=$row["flurnummer"];
57        $flstnummer=$row["zaehler"];
58        $nenner=$row["nenner"];
59        if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
60        $flae=number_format($row["amtlicheflaeche"],0,",",".") . " m&#178;";
61} else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;}
62if ($eig=="j") {
63        echo "<p class='fsei'>Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
64        echo "\n<h2>ALKIS Flurst&uuml;cks- und Eigent&uuml;mernachweis</h2>\n";
65}
66else {
67        echo "<p class='fskennz'>Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
68        echo "\n<h2>ALKIS Flurst&uuml;cksnachweis</h2>\n";
69}
70echo "\n<table class='outer'>\n<tr>\n<td>";
71
72        echo "\n\t<table class='kennz' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
73                echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
74                echo "\n\t<tr>\n\t\t<td title='Gemarkung'>".$gmkgnr."<br>".$gemkname."</td>";
75                echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
76                echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>".$flstnummer."</td>\n\t</tr>";
77        echo "\n\t</table>\n";
78
79echo "</td>\n<td>";
80
81        // Kopf Rechts: FS-Daten 2 Spalten
82        echo "\n\t<table class='fsd'>";
83                echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
84                echo "\n\t<td>".$row["zeitpunktderentstehung"]."</td>\n</tr>";
85
86                echo "\n\t<tr>\n\t\t<td>letz. Fortf</td>";
87                echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>".$row["name"]."</td>\n\t</tr>";
88        echo "\n\t</table>";
89        if ($idanzeige) { linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
90echo "\n\t</td>\n</tr>\n</table>";
91// Ende Seitenkopf
92
93echo "\n<hr>\n\n<table>";
94
95/*      echo "\n<tr>\n\t<td>Gemeinde</td>\n\t<td>".$gemeinde." ".$gemeindename."</td>\n</tr>";
96        echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
97*/
98echo "\n<tr>\n\t<td class='ll'>Gebietszugehörigkeit:</td>";
99echo "\n\t<td class='lr'>Gemeinde ".$row["gemeinde"]."</td>\n</tr>"; // +++ Entschluesseln
100
101// L A G E  Adressen
102//   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
103//                  <gehoertZu<
104$sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
105$sql.="FROM  alkis_beziehungen v ";
106$sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
107// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
108// bei einem SekundÀrbestand fÌr eine Gemeinde oder einen Kreis reicht dies hier:
109
110//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage ";
111// Problem: ax_lagebezeichnungkatalogeintrag.lage ist char,ax_lagebezeichnungmithausnummer = integer,
112
113// cast() scheitert weil auch nicht numerische Inhalte
114//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) ";
115
116$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
117$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
118$sql.="AND   v.beziehungsart='weistAuf' ";
119$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
120//$sql.="ORDER  ;";
121$res=pg_query($con, $sql);
122if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
123$j=0;
124while($row = pg_fetch_array($res)){
125        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
126        echo "\n<tr>\n\t<td class='ll'>Lage:</td>";
127        echo "\n\t<td class='lr'>(".$row["lage"].")&nbsp;".$sname."&nbsp;".$row["hausnummer"]."</td>\n</tr>";
128        $j++;
129}
130// L A G E  Gewanne
131//   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
132//                  <gehoertZu<
133$sql ="SELECT l.gml_id, l.unverschluesselt ";
134$sql.="FROM  ax_lagebezeichnungohnehausnummer l ";
135$sql.="JOIN  alkis_beziehungen  v ON l.gml_id=v.beziehung_zu ";
136$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
137$sql.="AND   v.beziehungsart='zeigtAuf';";
138//$sql.="ORDER  ";
139$res=pg_query($con, $sql);
140if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";}
141$j=0;
142while($row = pg_fetch_array($res)){
143        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
144        echo "\n<tr>\n\t<td class='ll'>Lage:</td>";
145        echo "\n\t<td class='lr'>".$gewann."</td>\n</tr>";
146        $j++;
147}
148//Flurstuecksflaeche
149echo "\n<tr>\n\t<td class='ll'>Fl&auml;che:</td>";
150echo "\n\t<td class='lr'>".$flae."</td>\n</tr>";
151
152echo "\n</table>";
153
154// N U T Z U N G
155//echo "\n\n<h3>Tats&auml;chliche Nutzung</h3>\n";
156
157/*
158$sql="SELECT n.nutzungsart, n.flaeche, v.bez1, v.bez2, v.bez3, v.bez4, v.kurz1, v.kurz2, v.kurz3, v.kurz4 ";
159$sql.="FROM v_Nutzungsarten as v INNER JOIN f_Nutzungen as n ON v.nutzungsart = n.nutzungsart ".$sqlwhere;
160$res=pg_query($con, $sql);
161if (!$res) {echo "<p class='err'>Fehler bei tats. Nutzung<br>\n".$sql."</p>";}
162
163echo "<table class='nua'>\n";
164// FlÀche hier oder oben?
165echo "<tr>\n\t<td class='fla sum'>" .$flae."</td>\n\t<td class='key'>&nbsp;</td>\n\t<td>Flurst&uuml;cksfl&auml;che</td>\n\t<td class='kurz'>&nbsp;</td>\n</tr>";
166echo "\n</table>\n";
167*/
168
169/*
170// ** K L A S S I F I Z I E R U N G
171$sql="SELECT DISTINCT k.tabkenn, t.art_der_klassifizierung ";
172$sql.="FROM k_arten_der_klassifizierung as t RIGHT JOIN f_klassifizierungen as k ON t.TabKenn = k.tabkenn ";
173$sql.=$sqlwhere." ORDER BY k.tabkenn";
174$resg=pg_query($con, $sql);
175if (!$resg) {
176        echo "<p class='err'>Fehler bei Klassifizierung Gruppen<br>\n".$sql."</p>";
177}
178$i=0;
179while($rowg = pg_fetch_row($resg)){
180        if ($i==0) {
181                echo "\n<h3>Klassifizierung</h3>\n<table class='klas'>\n";
182        }
183        $tabkeng = pg_fetch_result($resg,$i,"tabkenn");
184        $tabbez = pg_fetch_result($resg,$i,"art_der_klassifizierung");
185        echo "<tr>\n\t<td class='fla'>&nbsp;</td>\n\t<td class='key head'>".$tabkeng."</td>";
186        if ($tabkeng == "32") {
187                echo "\n\t<td class='head'>Land- und Forstwirtschaft</td>";
188                echo "\n\t<td class='head'>Bodensch&auml;tzung</td>\n\t";
189                echo "<td class='emz head' title='Ertragsmeßzahl'>EMZ</td>";
190        }
191        else {
192                echo "\n\t<td class='head'>".$tabbez."</td>";
193                echo "\n\t<td class='head'>Angaben</td>\n\t";
194                echo "<td class='head'>&nbsp;</td>";
195                }
196        echo "\n\t<td class='kurz'>&nbsp;</td>\n</tr>\n";
197        // inner Loop: je Gruppe
198        $sql="SELECT k.klass, k.flaeche, v.bez1, v.bez2, v.bez3, v.kurz1, v.kurz2, v.kurz3, k.angaben ";
199        $sql.="FROM v_klassifizierungen as v INNER JOIN f_klassifizierungen as k ON v.klass = k.klass AND v.tabkenn = k.tabkenn ";
200        $sql.= $sqlwhere." AND k.tabkenn = '".$tabkeng."'";
201        $res=pg_query($con, $sql);
202        if (!$res) {
203                echo "<p class='err'>Fehler bei Klassifizierung Abschnitt<br>\n".$sql."</p>";
204        }
205        $j=0;
206        $flaesum=0;
207        $emzsum=0;
208        while($row = pg_fetch_row($res)){
209                $klass = pg_fetch_result($res,$j,"klass");
210                $flae = pg_fetch_result($res,$j,"flaeche");
211                $flaesum = $flaesum + $flae;
212                $bez1 = htmlentities(pg_fetch_result($res,$j,"bez1"), ENT_QUOTES, "UTF-8");
213                $bez2 = htmlentities(pg_fetch_result($res,$j,"bez2"), ENT_QUOTES, "UTF-8");
214                $bez3 = htmlentities(pg_fetch_result($res,$j,"bez3"), ENT_QUOTES, "UTF-8");
215                $kurz1 = pg_fetch_result($res,$j,"kurz1");
216                $kurz2 = pg_fetch_result($res,$j,"kurz2");
217                $kurz3 = pg_fetch_result($res,$j,"kurz3");
218                $angab = pg_fetch_result($res,$j,"angaben");
219                if ($tabkeng == "32" and strlen($angab) > 0) {
220                        $woslash = strpos($angab, "/");
221                        if ($woslash > 0) {
222                        // Streng genommen: Kataster-Rundung anwenden: .50 zum geraden Wert runden
223                                $emz = round(substr($angab, $woslash+1)*$flae/100);
224                                $emzsum=$emzsum+$emz;
225                        }
226                }
227                else {
228                        $emz = "";
229                        }
230                echo "<tr>\n\t<td class='fla'>".number_format($flae,0,",",".")."&nbsp;m&#178;</td>";
231                //echo "\n\t<td class='key'>".$tabkeng."-".$klass."</td>";
232                echo "\n\t<td class='key'>".$klass."</td>";
233                echo "\n\t<td>".$bez1;
234                if ($bez2 != "") {
235                        echo "<br>".$bez2;
236                }
237                if ($bez3 != "") {
238                        echo "<br>".$bez3;
239                }
240                // Änderung: Angabe in eigene Spalte
241                echo "</td>\n\t<td>".$angab."</td>\n\t<td class='emz'>".$emz."</td>\n\t<td class='kurz'>".$kurz1;
242                if ($kurz2 != "") {
243                        echo "<br>".$kurz2;
244                }
245                if ($kurz2 != "") {
246                        echo "<br>".$kurz3;
247                }
248                echo "</td>\n</tr>\n";
249                $j++;
250        }
251        //Summenzeile bei mehreren Zeilen
252        if ($j > 1) {
253                echo "<tr>\n\t<td class='fla sum'>".number_format($flaesum,0,",",".")."&nbsp;m&#178;</td>\n\t<td class='key'>&nbsp;</td>\n\t<td>&nbsp;</td>\n\t<td>&nbsp;</td>\n\t";
254                if ($tabkeng == "32") {
255                        echo "<td class='emz sum' title='Summe Ertragsme&szlig;zahl'>".number_format($emzsum,0,",",".")."</td>";
256                }
257                else {
258                        echo "<td>&nbsp;</td>";
259                        }
260                echo "\n\t<td class='kurz'>&nbsp;</td>\n</tr>\n";
261        }
262        if ($j > 0) {
263                echo "</table>\n";
264        }
265        $i++;
266}
267*/
268
269// ALB: BAULASTEN  HINWEISE  TEXTE  VERFAHREN
270
271// G R U N D B U C H
272echo "\n<table class='outer'>\n<tr>\n\t<td>"; // link *neben* Ueberschrift
273echo "\n\t\t<a name='gb'></a>\n\t\t<h3>Grundb&uuml;cher</h3>";
274echo "\n\t</td>\n\t<td>";
275echo "\n\t\t<p class='nwlink noprint'>\n\t\t\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;style=".$style;
276if ($idanzeige) { echo "&amp;id=j";}
277// Umschalter. Ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
278if ($eig=="j") {echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>\n\t\t</p>";
279} else {        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer</a>\n\t\t</p>";}
280echo "\n\t</td>\n</tr>\n</table>\n";
281
282
283// BUCHUNGSSTELLEn zum FS (istGebucht)
284$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, ";
285$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond ";
286//  s.beschreibungdesumfangsderbuchung as umf,  ?
287$sql.="FROM  alkis_beziehungen  v "; // Bez Flurst.- Stelle.
288$sql.="JOIN  ax_buchungsstelle  s ON v.beziehung_zu=s.gml_id ";
289$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS
290$sql.="AND   v.beziehungsart='istGebucht' ";
291$sql.="ORDER BY s.laufendenummer;";
292$ress=pg_query($con,$sql);
293if (!$ress) echo "\n<p class='err'>Keine Buchungsstelle.<br>\nSQL= ".$sql."</p>\n";
294$bs=0; // Z.Buchungsstelle
295while($rows = pg_fetch_array($ress)) {
296        // BUCHUNGSBLATT zur Buchungsstelle (istBestandteilVon)
297        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
298        $sql.="z.bezeichnung ";  // stelle -> amtsgericht
299        $sql.="FROM  alkis_beziehungen      v "; // Bez. Stelle - Blatt
300        $sql.="JOIN  ax_buchungsblatt       b ON v.beziehung_zu=b.gml_id ";
301        $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
302        $sql.="WHERE v.beziehung_von='".$rows["gml_id"]."' "; // id Buchungsstelle
303        $sql.="AND   v.beziehungsart='istBestandteilVon' ";
304        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
305
306        $resg=pg_query($con,$sql);
307        if (!$resg) echo "\n<p class='err'>Keine Buchungsblatt.<br>\nSQL= ".$sql."</p>\n";
308        $bl=0; // Z.Blatt
309        while($rowg = pg_fetch_array($resg)) {
310                $beznam=$rowg["bezeichnung"];
311                echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>"; // link *neben* GB-Rahmen
312                echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
313                echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>";
314                echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowg["bezirk"]."<br>".$beznam."</td>";
315                echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowg["blatt"]."</td>";
316                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
317                echo "\n\t\t<td title='Buchungsart'>".$rows["buchungsart"]."<br>".buchungsart($rows["buchungsart"])."</td>\n\t</tr>\n\t</table>";
318                if ($rows["zaehler"] <> "") {
319                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
320                }
321                echo "\n</td>\n<td>";
322                if ($idanzeige) {
323                        linkgml($gkz, $rows["gml_id"], "Buchungsstelle");
324                        linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
325                }
326                echo "<br>\n";
327                echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."&amp;style=".$style;
328                if ($idanzeige) echo "&amp;id=j";
329                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n";
330                echo "</table>";
331
332                if ($rowg["blattart"] <> "1000") {
333                        echo "\n<p>Blattart: ".blattart($rowg["blattart"])." (".$rowg["blattart"].").<br>\n";
334                }
335
336                // ++++++Weitere Felder ausgeben ??????   oder in SQL weglassen
337                //  +++ STYLE ?
338                if ($rows["sond"] != "") {echo "<p>Sondereigentum: ".$rows["sond"]."</p>";}
339                if ($rows["nrpl"] != "") {echo "<p>Nr im A-Plan: ".$rows["nrpl"]."</p>";}
340
341
342                // E I G E N T U E M E R, zum GB
343                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
344                        //echo "\n\n<h4>Eigent&uuml;mer:</h4>\n";
345                        // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
346
347                        // Schleife 1: N a m e n s n u m m e r
348                        // Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
349                        $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
350                        $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
351                        $sql.="FROM  ax_namensnummer   n ";
352                        $sql.="JOIN  alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
353                        $sql.="WHERE b.beziehung_zu='".$rowg["gml_id"]."' "; // id blatt
354                        $sql.="AND   b.beziehungsart='istBestandteilVon' ";
355                        $sql.="ORDER BY laufendenummernachdin1421;";
356                        $resn=pg_query($con, $sql);
357                        if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
358                        echo "\n<table class='eig'>";
359                        $n=0; // Z.NamNum.
360                        while($rown = pg_fetch_array($resn)) {
361                                echo "\n<tr>\n\t<td class='nanu' title='Namens-Nummer'>";
362                                // VOR die Tabelle: "EigentÃŒmer"
363                                $namnum=kurz_namnr($rown["lfd"]);
364                                echo "\n\t\t<p>".$namnum."</p>";
365                                if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
366                                echo "\n\t</td>\n\t<td>";
367                                $rechtsg=$rown["adr"];
368                                if ($rechtsg != "" ) {
369                                        if ($rechtsg == 9999) { // sonstiges
370                                                echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
371                                        } else {
372                                                echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
373                                        }
374                                }
375
376                                // Schleife 2: P e r s o n 
377                                // Beziehung: ax_person  <benennt<  ax_namensnummer
378                                $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
379                                $sql.="FROM  ax_person p ";
380                                $sql.="JOIN  alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
381                                $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num
382                                $sql.="AND   v.beziehungsart='benennt';";
383                                $rese=pg_query($con, $sql);
384                                if (!$rese) echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";
385                                $i=0; // Z.Eig.
386                                while($rowe = pg_fetch_array($rese)) {
387                                        $diePerson="";
388                                        if ($rowe["akademischergrad"] <> "") $diePerson=$rowe["akademischergrad"]." ";
389                                        $diePerson.=$rowe["nachnameoderfirma"];
390                                        if ($rowe["vorname"] <> "") $diePerson.=", ".$rowe["vorname"];
391                                        if ($rowe["namensbestandteil"] <> "") $diePerson.=". ".$rowe["namensbestandteil"];
392                                        if ($rowe["geburtsdatum"] <> "") $diePerson.=", geb. ".$rowe["geburtsdatum"];
393                                        if ($rowe["geburtsname"] <> "") $diePerson.=", geb. ".$rowe["geburtsname"];
394                                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
395                                        // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0
396                                        if ($i > 0) {echo "\n<tr>\n\t<td></td>\n\t<td>";}
397                                        // Spalte 2 = Angaben
398                                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p>\n\t</td>";
399                                        // Spalte 3 = Link
400                                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>\n\t\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0]."&amp;style=".$style;
401                                        if ($idanzeige) { echo "&amp;id=j";}
402                                        echo "' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>Person</a>\n\t\t</p>";
403                                        if ($idanzeige) { linkgml($gkz, $rowe["gml_id"], "Person");}
404                                        echo "\n\t</td>\n</tr>";
405                                        $i++; // Z. Person
406                                        if ($rown["zaehler"] <> "") {
407                                                echo "\n<tr>\n\t<td></td>\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p>";
408                                                echo "\n</td>\n\t<td></td>\n</tr>";
409                                        }
410                                }
411                                /* Wann warnen ?
412                                   Beispiel: NamNum mit "Erbengemeinschaft"  >bestehtAusRechtsverhaeltnissenZu>  andere NamNum
413                                if ($i == 0) { // keine Pers zur NamNum
414                                        if ($rechtsg != 9999) { // Normal bei Sondereigentum
415                                                echo "\n<tr>\n<td>";
416                                                linkgml($gkz, $rown["gml_id"], "Namensnummer");
417                                                echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden.</p>";
418                                                echo "\n\t\t\n\t</td>\n\t<td></td>\n<tr>";
419                                        }
420                                }
421                                */
422                                $n++; // Z.NamNum
423                        }
424                        echo "\n</table>\n";
425                        if ($n == 0) {
426                                if ($rowg["blattart"] == 1000) {
427                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
428                                        linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
429                                } else {
430                                        echo "\n<p>dazu keine Eigent&uuml;mer.</p>";
431                                        linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
432                                }
433                        }
434                } // Ende Option EigentuemerNW
435                $bl++;
436        }
437        if ($bl == 0) {
438                echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";
439                linkgml($gkz, $rows["gml_id"], "Buchungstelle");
440        }
441        // Test BEGINN
442        //echo "\n<p>Buchungsstelle ".$rows["gml_id"]."</p>";
443        //if ($idanzeige) {linkgml($gkz, $rows["gml_id"], "Buchungsstelle");}
444        // Test ENDE
445
446        // Buchungstelle  >an> Buchungstelle  >istBestandteilVon> BLATT -> Bezirk
447        $sql ="SELECT s.gml_id AS s_gml, s.buchungsart, s.laufendenummer as lfd, ";
448        // , s.beschreibungdesumfangsderbuchung as umf   ?
449        $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, ";
450        $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
451        $sql.="z.bezeichnung ";  // stelle -> amtsgericht
452        $sql.="FROM  alkis_beziehungen     an "; // Bez. Stelle - Stelle
453        $sql.="JOIN  ax_buchungsstelle      s ON an.beziehung_von=s.gml_id ";
454        $sql.="JOIN  alkis_beziehungen      v ON s.gml_id=v.beziehung_von "; // Bez. Stelle - Blatt
455        $sql.="JOIN  ax_buchungsblatt       b ON v.beziehung_zu=b.gml_id ";
456        $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
457        $sql.="WHERE an.beziehung_zu='".$rows["gml_id"]."' "; // id herrschende Buchungsstelle
458        $sql.="AND   an.beziehungsart='an' ";
459        $sql.="AND   v.beziehungsart='istBestandteilVon' ";
460        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
461        $resan=pg_query($con,$sql);
462        if (!$resan) echo "\n<p class='err'>Keine weiteren Buchungsstellen.<br>\nSQL=<br>".$sql."</p>\n";
463        $an=0; // Stelle an Stelle
464        while($rowan = pg_fetch_array($resan)) {
465                $beznam=$rowan["bezeichnung"];
466                echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>"; // link *neben* GB-Rahmen
467                echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
468                echo "\n\t\t<td class='head'>".blattart($rowan["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>";
469                echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowan["bezirk"]."<br>".$beznam."</td>";
470                echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowan["blatt"]."</td>";
471                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
472                echo "\n\t\t<td title='Buchungsart'>".$rowan["buchungsart"]."<br>".buchungsart($rowan["buchungsart"])."</td>\n\t</tr>\n\t</table>";
473                if ($rowan["zaehler"] <> "") {
474                        echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
475                }
476                echo "\n</td>\n<td>";
477                if ($idanzeige) {
478                        linkgml($gkz, $rowan["s_gml"], "Buchungsstelle");
479                        linkgml($gkz, $rowan["g_gml"], "Buchungsblatt");
480                }
481                echo "<br>\n";
482                echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"]."&amp;style=".$style;
483                if ($idanzeige) echo "&amp;id=j";
484                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n";
485                echo "</table>";
486
487                if ($rowan["blattart"] <> "1000") {
488                        echo "\n<p>Blattart: ".blattart($rowan["blattart"])." (".$rowan["blattart"].").<br>\n";
489                }
490
491                // +++ Weitere Felder ausgeben oder in SQL weglassen??
492                // +++ STYLE ?
493                if ($rowan["sond"] != '') {echo "<p>Sondereigentum: ".$rowan["sond"]."</p>";}
494                if ($rowan["nrpl"] != '') {echo "<p>Nr im A-Plan: ".$rowan["nrpl"]."</p>";}
495
496                if ($eig=="j") {
497                        echo "\n<p>Eigent&uuml;mer vorlÀufig dem GB-Nachweis entnehmen.</p>";
498                }
499                // +++ Lösung: Den Teil EigentÃŒmer (Namensnummer > Person, siehe oben)
500                //     als Funktion auslagern und hier erneut aufrufen
501
502                $an++;
503        }
504        // Zaehler $an==0 ist hier der Normalfall
505        $bs++;
506}
507if ($bs == 0) {
508        echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";
509        linkgml($gkz, $gmlid, "Flurst&uuml;ck");
510}
511?>
512
513<form action=''>
514        <div class='buttonbereich noprint'>
515        <hr>
516                <input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
517                <input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
518                <input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
519        </div>
520</form>
521
522<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl,$style); ?>
523
524</body>
525</html>
Note: See TracBrowser for help on using the repository browser.