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

Revision 41, 15.0 KB checked in by frank.jaeger, 14 years ago (diff)
Line 
1<?php
2/*      Modul: alkisfsnw.php
3        Version:
4        31.08.2010      $style=ALKIS entfernt, alles Kompakt
5        02.09.2010  Mit Icons
6
7        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
8        FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
9        Parameter:      &gkz= &gmlid= &eig=j/n
10
11        ToDo: NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum */
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="Frank 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        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
30        <style type='text/css' media='print'>
31                .noprint { visibility: hidden;}
32        </style>
33</head>
34<body>
35<?php
36$gkz=urldecode($_REQUEST["gkz"]);
37$gmlid=urldecode($_REQUEST["gmlid"]);
38$eig=urldecode($_REQUEST["eig"]);
39$id = isset($_GET["id"]) ? $_GET["id"] : "n";
40$idanzeige=false;
41if ($id == "j") {$idanzeige=true;} $dbname = 'alkis05' . $gkz;
42$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
43
44// F L U R S T U E C K
45$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, f.zeitpunktderentstehung, ";
46$sql.="g.gemarkungsnummer, g.bezeichnung ";
47$sql.="FROM ax_flurstueck f ";
48$sql.="JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
49$sql.="WHERE f.gml_id='".$gmlid."';";
50$res=pg_query($con,$sql);
51if (!$res) echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";
52if ($row = pg_fetch_array($res)) {
53        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
54        $gmkgnr=$row["gemarkungsnummer"];
55        $flurnummer=$row["flurnummer"];
56        $flstnummer=$row["zaehler"];
57        $nenner=$row["nenner"];
58        if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
59        $flae=number_format($row["amtlicheflaeche"],0,",",".") . " m&#178;";
60} else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;}
61
62// Balken
63if ($eig=="j") {
64        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
65        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n";
66} else {
67        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
68        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n";
69}
70echo "\n<table class='outer'>\n<tr>\n\t<td>";
71
72        // Tabelle Kennzeichen
73        echo "\n\t<table class='kennz' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
74                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>";
75                echo "\n\t<tr>\n\t\t<td title='Gemarkung'><span class='key'>".$gmkgnr."</span><br>".$gemkname."</td>";
76                echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
77                echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
78        echo "\n\t</table>";
79
80echo "\n\t</td>\n\t<td>";
81
82        // Kopf Rechts: FS-Daten 2 Spalten
83        echo "\n\t<table class='fsd'>";
84                echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
85                echo "\n\t\t<td>".$row["zeitpunktderentstehung"]."</td>\n\t</tr>";
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
92//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
93// Ende Seitenkopf
94
95echo "\n<hr>";
96echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
97echo "\n<table class='fs'>";
98       
99        // Gebietszugehörigkeit
100        fs_gebietszug($con, $row["gemeinde"], $row["kreis"], $row["regierungsbezirk"]); // Gebietszugehoerigkeit
101
102        // Lagezeilen des Flurstuecks
103        fs_lage($con, $gmlid, $gkz); // Adresse, Lagebezeichnung
104
105        // Nutzungsarten
106        fs_nutz($con, $gmlid); // Tatsaechliche Nutzung
107
108        // Flaeche und Link auf GebÀude-Auswertung
109        echo "\n<tr>";
110                echo "\n\t<td class='ll'>Fl&auml;che:</td>"; // Sp. 1
111                echo "\n\t<td class='lr'>".$flae."</td>"; // Sp. 2
112                echo "\n\t<td>"; // Sp. 3
113                        // Gebaeude-NW
114                        echo "\n\t\t<p class='nwlink noprint'>";
115                                echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
116                                if ($idanzeige) echo "&amp;id=j";
117                                echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
118                        echo "\n\t\t</p>";
119                echo "\n\t</td>";
120        echo "\n</tr>";
121echo "\n</table>";
122 // ALB: KLASSIFIZIERUNG  BAULASTEN  HINWEISE  TEXTE  VERFAHREN
123
124// G R U N D B U C H
125echo "\n<table class='outer'>";
126        echo "\n<tr>";
127                echo "\n\t<td>";
128                        echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>";
129                echo "\n\t</td>";
130                echo "\n\t<td>";
131                        echo "\n\t\t<p class='nwlink noprint'>";
132                                echo "\n\t\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$gmlid;
133                                if ($idanzeige) { echo "&amp;id=j";}
134                                // Umschalter. FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
135                                if ($eig=="j") {
136                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>";
137                                } else {       
138                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer</a>";
139                                }                         echo "\n\t\t</p>";
140                echo "\n\t</td>";
141        echo "\n</tr>";
142echo "\n</table>\n";
143
144// B U C H U N G S S T E L L E N  zum FS (istGebucht)
145$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, ";
146$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond ";
147//  s.beschreibungdesumfangsderbuchung as umf,  ?
148$sql.="FROM  alkis_beziehungen  v "; // Bez Flurst.- Stelle.
149$sql.="JOIN  ax_buchungsstelle  s ON v.beziehung_zu=s.gml_id ";
150$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS
151$sql.="AND   v.beziehungsart='istGebucht' ";
152$sql.="ORDER BY s.laufendenummer;";
153$ress=pg_query($con,$sql);
154if (!$ress) echo "\n<p class='err'>Keine Buchungsstelle.<br>\nSQL= ".$sql."</p>\n";
155$bs=0; // Z.Buchungsstelle
156while($rows = pg_fetch_array($ress)) {
157        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
158        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
159        $sql.="z.bezeichnung ";  // stelle -> amtsgericht
160        $sql.="FROM  alkis_beziehungen      v "; // Bez. Stelle - Blatt
161        $sql.="JOIN  ax_buchungsblatt       b ON v.beziehung_zu=b.gml_id ";
162        $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
163        $sql.="WHERE v.beziehung_von='".$rows["gml_id"]."' "; // id Buchungsstelle
164        $sql.="AND   v.beziehungsart='istBestandteilVon' ";
165        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
166
167        $resg=pg_query($con,$sql);
168        if (!$resg) echo "\n<p class='err'>Keine Buchungsblatt.<br>\nSQL= ".$sql."</p>\n";
169        $bl=0; // Z.Blatt
170        while($rowg = pg_fetch_array($resg)) {
171                $beznam=$rowg["bezeichnung"];
172                echo "\n<hr>\n<table class='outer'>";
173                echo "\n<tr>"; // 1 row only
174                        echo "\n\t<td>"; // Outer linke Spalte:
175
176                                // Rahmen mit GB-Kennz
177                                echo "\n\t<table class='kennz' title='Bestandskennzeichen'>";
178                                        echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
179                                                echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>";
180                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
181                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
182                                        echo "\n\t</tr>";
183                                        echo "\n\t<tr>";
184                                                echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$rowg["bezirk"]."</span><br>".$beznam."</td>";
185                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
186                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
187                                                echo "\n\t\t<td title='Buchungsart'><span class='key'>".$rows["buchungsart"]."</span><br>".buchungsart($rows["buchungsart"])."</td>";
188                                        echo "\n\t</tr>";
189                                echo "\n\t</table>";
190
191                                if ($rows["zaehler"] <> "") {
192                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
193                                }
194                        echo "\n</td>";
195
196                        echo "\n<td>"; // Outer rechte Spalte: NW-Links
197                                if ($idanzeige) {
198                                        linkgml($gkz, $rows["gml_id"], "Buchungsstelle");
199                                        echo "<br>";
200                                        linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
201                                }
202                                echo "\n<br>\n";
203                                echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0];
204                                if ($idanzeige) echo "&amp;id=j";
205                                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>Grundbuch-Blatt <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>\n\t</p>";
206                        echo "\n</td>";
207                echo "\n</tr>";
208                echo "\n</table>";
209
210/*              im Head der Tabelle bereits entschluesselt
211                if ($rowg["blattart"] <> "1000") {
212                        echo "\n<p>Blattart: ".blattart($rowg["blattart"])." (".$rowg["blattart"].").<br>\n";
213                }
214*/
215                // ++++++Weitere Felder ausgeben ??????   oder in SQL weglassen                 if ($rows["sond"] != "") {echo "<p>Sondereigentum: ".$rows["sond"]."</p>";}
216                if ($rows["nrpl"] != "") {echo "<p>Nr im A-Plan: ".$rows["nrpl"]."</p>";}
217                 // E I G E N T U E M E R, zum GB
218                // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
219                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
220                        // echo "\n\n<h4>Eigent&uuml;mer:</h4>\n";                         $gmlblatt = $rowg["gml_id"]; // id blatt
221                        $n = eigentuemer($con, $gkz, $idanzeige, $gmlblatt, false); // hier ohne Adresse
222                        if ($n == 0) {
223                                if ($rowg["blattart"] == 1000) {
224                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
225                                        linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
226                                } else {
227                                        echo "\n<p>ohne Eigent&uuml;mer.</p>";
228                                        // if ($idanzeige) {linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");} // ist schon sichtbar
229                                }
230                        }
231                }
232                $bl++;         }
233        if ($bl == 0) {
234                echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";
235                linkgml($gkz, $rows["gml_id"], "Buchungstelle");
236        }
237        // Test BEGINN
238                //echo "\n<p>Buchungsstelle ".$rows["gml_id"]."</p>";
239                //if ($idanzeige) {linkgml($gkz, $rows["gml_id"], "Buchungsstelle");}
240        // Test ENDE
241
242        // Buchungstelle  >an> Buchungstelle  >istBestandteilVon> BLATT -> Bezirk
243        $sql ="SELECT s.gml_id AS s_gml, s.buchungsart, s.laufendenummer as lfd, ";
244        // , s.beschreibungdesumfangsderbuchung as umf   ?
245        $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, ";
246        $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
247        $sql.="z.bezeichnung ";  // stelle -> amtsgericht
248        $sql.="FROM  alkis_beziehungen     an "; // Bez. Stelle - Stelle
249        $sql.="JOIN  ax_buchungsstelle      s ON an.beziehung_von=s.gml_id ";
250        $sql.="JOIN  alkis_beziehungen      v ON s.gml_id=v.beziehung_von "; // Bez. Stelle - Blatt
251        $sql.="JOIN  ax_buchungsblatt       b ON v.beziehung_zu=b.gml_id ";
252        $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
253        $sql.="WHERE an.beziehung_zu='".$rows["gml_id"]."' "; // id herrschende Buchungsstelle
254        $sql.="AND   an.beziehungsart='an' ";
255        $sql.="AND   v.beziehungsart='istBestandteilVon' ";
256        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
257        $resan=pg_query($con,$sql);
258        if (!$resan) echo "\n<p class='err'>Keine weiteren Buchungsstellen.<br>\nSQL=<br>".$sql."</p>\n";
259        $an=0; // Stelle an Stelle
260        while($rowan = pg_fetch_array($resan)) {
261                $beznam=$rowan["bezeichnung"];
262                echo "\n<hr>\n<table class='outer'>";
263                echo "\n<tr>"; // 1 row only
264                        echo "\n<td>"; // outer linke Spalte
265
266                                // Rahmen mit Kennzeichen GB
267                                echo "\n\t<table class='kennz' title='Bestandskennzeichen'>";
268                                        echo "\n\t<tr>";
269                                                echo "\n\t\t<td class='head'>Bezirk</td>";
270                                                echo "\n\t\t<td class='head'>".blattart($rowan["blattart"])."</td>";
271                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
272                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
273                                        echo "\n\t</tr>";
274                                        echo "\n\t<tr>";
275                                                echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$rowan["bezirk"]."</span><br>".$beznam."</td>";
276                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>";
277                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
278                                                echo "\n\t\t<td title='Buchungsart'><span class='key'>".$rowan["buchungsart"]."</span><br>".buchungsart($rowan["buchungsart"])."</td>";
279                                        echo "\n\t</tr>";
280                                echo "\n\t</table>";
281                                if ($rowan["zaehler"] <> "") {
282                                        echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
283                                }
284                        echo "\n</td>";
285                        echo "\n<td>"; // outer rechte Spalte
286                                if ($idanzeige) {
287                                        linkgml($gkz, $rowan["s_gml"], "Buchungsstelle");
288                                        echo "<br>";
289                                        linkgml($gkz, $rowan["g_gml"], "Buchungsblatt");
290                                }
291                                echo "\n<br>";
292                                echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"];
293                                if ($idanzeige) echo "&amp;id=j";
294                                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n\t</p>";
295                        echo "\n\t</td>";
296                echo "\n</tr>";
297                echo "\n</table>";
298
299                if ($rowan["blattart"] <> "1000") {
300                        echo "\n<p>Blattart: ".blattart($rowan["blattart"])." (".$rowan["blattart"].").<br>\n";
301                }
302
303                // +++ Weitere Felder ausgeben oder in SQL weglassen??                 if ($rowan["sond"] != '') {echo "<p>Sondereigentum: ".$rowan["sond"]."</p>";}
304                if ($rowan["nrpl"] != '') {echo "<p>Nr im A-Plan: ".$rowan["nrpl"]."</p>";}
305
306                if ($eig=="j") {
307                        //echo "\n<p>Eigent&uuml;mer vorlÀufig dem GB-Nachweis entnehmen.</p>";
308                        $gmlblatt = $rowan["g_gml"]; // id blatt
309                        $n = eigentuemer($con, $gkz, $idanzeige, $gmlblatt, false); // ohne Adresse
310                        // Anzahl $n kontrollieren? Warnen?
311                }
312                $an++;
313        }
314        // Zaehler $an==0 ist hier der Normalfall
315        $bs++;
316}
317if ($bs == 0) {
318        echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";
319        linkgml($gkz, $gmlid, "Flurst&uuml;ck");
320}
321?>
322
323<form action=''>
324        <div class='buttonbereich noprint'>
325        <hr>
326                <input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
327                <input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
328                <input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
329        </div>
330</form>
331
332<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "&amp;eig=".$eig); ?>
333
334</body>
335</html>
Note: See TracBrowser for help on using the repository browser.