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

Revision 53, 26.8 KB checked in by frank.jaeger, 12 years ago (diff)
Line 
1<?php
2/*      Modul: alkisfsnw.php
3
4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
5        FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
6
7        Version:
8        31.08.2010      $style=ALKIS entfernt, alles Kompakt
9        02.09.2010  Mit Icons
10        07.09.2010  Kennzeichen-Rahmen f. fiktives Blatt, Schluessel anschaltbar
11        15.09.2010  Function "buchungsart" durch JOIN ersetzt
12        30.09.2010  noprint
13        09.11.2010  Nutzung, ehem. php-Functions hier integriert
14        10.11.2010  Felder nutzung.zustand und nutzung.name
15
16        ToDo:
17        NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum */
18ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
19session_start();
20require_once("/data/conf/alkis_www_conf.php");
21if ($auth == "mapbender") {
22        // Bindung an Mapbender-Authentifizierung
23        require_once($mapbender);
24}
25include("alkisfkt.php");
26?>
27<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
28<html>
29<head>
30        <meta name="author" content="F. Jaeger krz" >
31        <meta http-equiv="cache-control" content="no-cache">
32        <meta http-equiv="pragma" content="no-cache">
33        <meta http-equiv="expires" content="0">
34        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
35        <title>ALKIS Flurst&uuml;cksnachweis</title>
36        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
37        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
38        <style type='text/css' media='print'>
39                .noprint {visibility: hidden;}
40        </style>
41</head>
42<body>
43<?php
44$gkz=urldecode($_REQUEST["gkz"]);
45$gmlid=urldecode($_REQUEST["gmlid"]);
46$eig=urldecode($_REQUEST["eig"]);
47
48// getswitch($idanzeige, $showkey);
49$id = isset($_GET["id"]) ? $_GET["id"] : "n";
50if ($id == "j") {
51        $idanzeige=true;
52} else {
53        $idanzeige=false;
54}
55$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
56if ($keys == "j") {
57        $showkey=true;
58} else {
59        $showkey=false;
60}
61
62$dbname = 'alkis05' . $gkz;
63$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
64
65// F L U R S T U E C K
66$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, f.zeitpunktderentstehung, ";
67$sql.="g.gemarkungsnummer, g.bezeichnung ";
68$sql.="FROM ax_flurstueck f ";
69$sql.="JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
70$sql.="WHERE f.gml_id='".$gmlid."';";
71$res=pg_query($con,$sql);
72if (!$res) echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";
73if ($row = pg_fetch_array($res)) {
74        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
75        $gmkgnr=$row["gemarkungsnummer"];
76        $bezirk=$row["regierungsbezirk"];
77        $kreis=$row["kreis"];
78        $gemeinde=$row["gemeinde"];
79        $flurnummer=$row["flurnummer"];
80        $flstnummer=$row["zaehler"];
81        $nenner=$row["nenner"];
82        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
83        $flae=number_format($row["amtlicheflaeche"],0,",",".") . " m&#178;";
84} else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;}
85
86// Balken
87if ($eig=="j") {
88        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
89        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n";
90} else {
91        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
92        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n";
93}
94echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite
95
96        // darin Tabelle Kennzeichen
97        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
98                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>";
99                echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
100                if ($showkey) {         
101                        echo "<span class='key'>".$gmkgnr."</span><br>";
102                }               
103                echo $gemkname."</td>";
104                echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
105                echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
106        echo "\n\t</table>";
107
108echo "\n\t</td>\n\t<td>"; // rechte Seite
109
110        // FS-Daten 2 Spalten
111        echo "\n\t<table class='fsd'>";
112                echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
113                echo "\n\t\t<td>".$row["zeitpunktderentstehung"]."</td>\n\t</tr>";
114                echo "\n\t<tr>\n\t\t<td>letz. Fortf</td>";
115                echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>".$row["name"]."</td>\n\t</tr>";
116        echo "\n\t</table>";
117        if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
118echo "\n\t</td>\n</tr>\n</table>";
119
120//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
121// Ende Seitenkopf
122
123echo "\n<hr>";
124echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
125echo "\n<table class='fs'>";
126       
127// ** G e b i e t s z u g e h o e r i g k e i t **
128// eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben
129// Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?
130echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>";
131
132// G e m e i n d e
133$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' ";
134$res=pg_query($con, $sql);
135if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>";
136$row = pg_fetch_array($res);
137$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
138echo "\n\t<td class='lr'>Gemeinde ";
139if ($showkey) {
140        echo "<span class='key'>(".$gemeinde.")</span> ";
141}
142echo $gnam."<br>";
143
144// K r e i s
145$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' ";
146$res=pg_query($con, $sql);
147if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>";
148$row = pg_fetch_array($res);
149$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
150echo "Kreis ";
151if ($showkey) {
152        echo "<span class='key'>(".$kreis.")</span> ";
153}       
154echo $knam."<br>";
155
156// R e g - B e z
157$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' ";
158$res=pg_query($con, $sql);
159if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>";
160$row = pg_fetch_array($res);
161$bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
162echo "Regierungsbezirk ";
163if ($showkey) {
164        echo "<span class='key'>(".$bezirk.")</span> ";
165}
166echo $bnam."</td>";
167echo "\n\t<td>&nbsp;</td>\n</tr>"; // 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen)
168// ENDE G e b i e t s z u g e h o e r i g k e i t
169
170
171// ** L a g e b e z e i c h n u n g **
172
173// Lagebezeichnung Mit Hausnummer
174//   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
175//                  <gehoertZu<
176$sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
177$sql.="FROM  alkis_beziehungen v ";
178$sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
179$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
180$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
181$sql.="AND   v.beziehungsart='weistAuf' ";
182$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
183
184// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
185// bei einem SekundÀrbestand fÌr eine Gemeinde oder einen Kreis reicht dies hier:
186
187//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage ";
188// Problem: ax_lagebezeichnungkatalogeintrag.lage  ist char,
189//          ax_lagebezeichnungmithausnummer.lage   ist integer,
190
191// cast() scheitert weil auch nicht numerische Inhalte
192//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) ";
193
194// http://www.postgresql.org/docs/8.3/static/functions-formatting.html
195
196$res=pg_query($con, $sql);
197if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
198$j=0;
199while($row = pg_fetch_array($res)) {
200        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
201        //echo "<!-- Adresse -->";             
202        echo "\n<tr>\n\t";
203                if ($j == 0) {         
204                        echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>";
205                } else {
206                        echo "<td>&nbsp;</td>";
207                }
208                echo "\n\t<td class='lr'>";
209                if ($showkey) {
210                        echo "<span class='key'>(".$row["lage"].")</span>&nbsp;";
211                }
212                echo $sname."&nbsp;".$row["hausnummer"]."</td>";
213                echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
214                        echo "\n\t\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage ";
215                        echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>";
216                echo "\n\t\t</p>\n\t</td>";
217        echo "\n</tr>";
218        $j++;
219}
220// Verbesserung: mehrere HsNr zur gleichen Straße als Liste?
221
222// L a g e b e z e i c h n u n g   O h n e   H a u s n u m m e r  (Gewanne oder nur Strasse)
223//   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
224//                  <gehoertZu<
225$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung ";
226$sql.="FROM alkis_beziehungen v ";
227$sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu ";
228$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
229//      $sql.="AND l.lage=s.lage ";
230// hier beide .lage als Char(5)
231//  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen
232//  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen
233$sql.="AND l.lage=trim(leading '0' from s.lage) ";
234//      $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte
235$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
236$sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER?
237$res=pg_query($con, $sql);
238if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";
239$j=0;
240// Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!     
241while($row = pg_fetch_array($res)) {
242        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");         $skey=$row["lage"]; // Strassenschluessel
243        $lgml=$row["gml_id"]; // key der Lage
244        if (!$gewann == "") {
245                echo "\n<tr>";         
246                        echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>";
247                        echo "\n\t<td class='lr'>".$gewann."</td>";
248                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
249                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>";
250                                echo "\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>";
251                        echo "\n\t\t</p>\n\t</td>";
252                echo "\n</tr>";         
253        }
254        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link
255        if ($skey > 0) {
256                echo "\n<tr>"; 
257                        echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Stra&szlig;e:</td>";                         
258                        echo "\n\t<td class='lr'>";
259                        if ($showkey) {
260                                echo "<span class='key'>(".$skey.")</span>&nbsp;";
261                        }
262                        echo $row["bezeichnung"]."</td>";
263                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
264                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>";
265                                echo "\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>";
266                        echo "\n\t\t</p>\n\t</td>";
267                echo "\n</tr>";
268        }               
269        $j++;
270}
271// ENDE  L a g e b e z e i c h n u n g
272
273// ** N U T Z U N G **
274// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben
275$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, c.class, n.info, n.zustand, n.name, n.bezeichnung, ";
276// ", m.gruppe,  ";
277// Gemeinsame FlÀche von NUA und FS
278$sql.="round(st_area(st_intersection(n.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae, ";
279$sql.="c.label, c.blabla ";
280//      $sql.="round(area(n.wkb_geometry)::numeric,2) AS nflae "; // Flaeche NUA gesamt
281$sql.="FROM ax_flurstueck f, nutzung n ";
282$sql.="JOIN nutzung_meta m ON m.nutz_id=n.nutz_id ";
283$sql.="LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class ";
284$sql.="WHERE f.gml_id='".$gmlid."' "; // id FS"; $sql.="AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true "; // ueberlappende Flaechen
285$sql.="AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 "; // unter Rundung
286$sql.="ORDER BY schnittflae DESC;";
287
288$res=pg_query($con, $sql);
289if (!$res) {echo "<p class='err'>Fehler bei Suche tats. Nutzung<br>\n".$sql."</p>";}
290$j=0;
291while($row = pg_fetch_array($res)) { //      $grupp = $row["gruppe"];  // Individuelles Icon?
292        $title = htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // NUA-Titel
293        $fldclass=$row["fldclass"]; // Feldname erstes  Zusatzfeld
294        $fldinfo= $row["fldinfo"];  // Feldname zweites Zusatzfeld
295        $gml=$row["gml_id"]; // Objekt-Kennung
296        $class=$row["class"];  // erstes Zusatzfeld verschlÃŒsselt -> nutzung_class
297        $info=$row["info"]; // zweites Zusatzfeld verschlÃŒsselt (noch keine Info zum entschl.)
298        $schnittflae=$row["schnittflae"];
299        $label=$row["label"]; // Nutzungsart
300        $zus=$row["zustand"]; // im Bau
301        $nam=$row["name"]; // Eigenname
302        $bez=$row["bezeichnung"]; // weiterer Name (unverschl.)
303        $blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8");  // Achtung, enthÀlt auch ""
304//      $nflae=$row["nflae"];
305
306// Icon nach Gruppe?:
307// Siedlung - Abschnitt.ico, Verkehr - Strassen_Klassifikation.ico, GewÀsser - Wasser.ico
308// Vegetation - Wald.ico, Title=Landwirtschaft Landwirt.ico
309        echo "\n<tr>\n\t";
310                if ($j == 0) {         
311                        echo "<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzung:</td>";
312                } else {
313                        echo "<td>&nbsp;</td>";
314                }
315                echo "\n\t<td class='lr'>".$schnittflae." m&#178;</td>";
316               
317                echo "\n\t<td class='lr'>";
318                        // Eigene Nachweis-Seite fÃŒr Nutzungsart-FlÀche sinnvoll? dann hier verlinken
319                        //echo "\n\t\t<p class='nwlink noprint'>";
320                                //echo "\n\t\t\t<a href='alkisnua.php?gkz=".$gkz."amp;gmlid=".$gml."'>Nutzung ";
321                                //echo "<img src='ico/Abschnitt.ico' width='16' height='16' alt=''></a>";
322                                //if ($idanzeige) {linkgml($gkz, $gml, "Nutzung");} // Nein, ist mit nix verknuepft
323                        //echo "\n\t\t</p>";
324                        echo $title;
325                        If ($class != "") {  // SchlÃŒssel
326                                echo ", ".$fldclass.": "; // Feldname
327                                if ($label != "") { // Bedeutung dazu wurde erfasst
328                                        if ($showkey) {echo "<span class='key'>(".$class.")</span> ";}
329                                        echo "<span title='".$blabla."'>".$label."</span> ";
330                                } else { // muss noch erfasst werden
331                                        echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung
332                                }
333                        }
334                        If ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?)
335                                echo ", ".$fldinfo."=".$info;
336                        }
337                        If ($zus != "") {
338                                echo "\n\t\t<br>";
339                                if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";}
340                                switch ($zus) {
341                                        case 2100:
342                                                echo "Außer Betrieb, stillgelegt, verlassen";
343                                                break;
344                                        case 4000:
345                                                echo "Im Bau";
346                                                break;
347                                        case 8000:
348                                                echo "Erweiterung, Neuansiedlung";
349                                                break;
350                                        default:
351                                                echo "Zustand: ".$zus;
352                                                break;
353                                }
354                        }
355                        If ($nam != "") {
356                                echo "<br>Name: ".$nam;
357                        }
358                        If ($bez != "") {
359                                echo "<br>Bezeichnung: ".$bez;
360                        }
361                echo "</td>";
362        echo "\n</tr>";
363        $j++;
364}
365// ENDE  N U T Z U N G
366
367// Flaeche und Link auf GebÀude-Auswertung
368echo "\n<tr>";
369        echo "\n\t<td class='ll'>Fl&auml;che:</td>"; // Sp. 1
370        echo "\n\t<td class='lr'><span class='flae'>".$flae."</span></td>"; // Sp. 2
371        echo "\n\t<td>"; // Sp. 3
372                echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung
373                        echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
374                        if ($idanzeige) {echo "&amp;id=j";}
375                        if ($showkey)   {echo "&amp;id=j";}
376                        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
377                echo "\n\t\t</p>";
378        echo "\n\t</td>";
379echo "\n</tr>";
380
381echo "\n</table>";
382 // ALB: KLASSIFIZIERUNG  BAULASTEN  HINWEISE  TEXTE  VERFAHREN
383
384// G R U N D B U C H
385echo "\n<table class='outer'>";
386        echo "\n<tr>";
387                echo "\n\t<td>";
388                        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>";
389                echo "\n\t</td>";
390                echo "\n\t<td>";
391                        echo "\n\t\t<p class='nwlink noprint'>";
392                                echo "\n\t\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$gmlid;
393                                if ($idanzeige) { echo "&amp;id=j";}
394                                if ($showkey)   {echo "&amp;showkey=j";}
395                                // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
396                                if ($eig=="j") {
397                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>";
398                                } else {       
399                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer ";
400                                        echo "<img src='ico/EigentuemerGBzeile.ico' width='16' height='16' alt=''></a>";
401                                }                         echo "\n\t\t</p>";
402                echo "\n\t</td>";
403        echo "\n</tr>";
404echo "\n</table>\n";
405
406// B U C H U N G S S T E L L E N  zum FS (istGebucht)
407$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, ";
408$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart ";
409//  s.beschreibungdesumfangsderbuchung as umf,  ?
410$sql.="FROM  alkis_beziehungen  v "; // Bez Flurst.- Stelle.
411$sql.="JOIN  ax_buchungsstelle  s ON v.beziehung_zu=s.gml_id ";
412
413$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
414
415$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS
416$sql.="AND   v.beziehungsart='istGebucht' ";
417$sql.="ORDER BY s.laufendenummer;";
418$ress=pg_query($con,$sql);
419if (!$ress) {
420        echo "\n<p class='err'>Keine Buchungsstelle.<br>\nSQL= ".$sql."</p>\n";
421}
422$bs=0; // Z.Buchungsstelle
423while($rows = pg_fetch_array($ress)) {
424        $gmls=$rows["gml_id"];
425        $lfd=$rows["lfd"]; // BVNR
426
427        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
428        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
429        $sql.="z.bezeichnung ";  // stelle -> amtsgericht
430        $sql.="FROM  alkis_beziehungen      v "; // Bez. Stelle - Blatt
431        $sql.="JOIN  ax_buchungsblatt       b ON v.beziehung_zu=b.gml_id ";
432        $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
433        $sql.="WHERE v.beziehung_von='".$gmls."' "; // id Buchungsstelle
434        $sql.="AND   v.beziehungsart='istBestandteilVon' ";
435        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
436
437        $resg=pg_query($con,$sql);
438        if (!$resg) {
439                echo "\n<p class='err'>Keine Buchungsblatt.<br>\nSQL= ".$sql."</p>\n";
440        }
441        $bl=0; // Z.Blatt
442        while($rowg = pg_fetch_array($resg)) {
443                $gmlg=$rowg["gml_id"];
444                $beznam=$rowg["bezeichnung"];
445                $blattkeyg=$rowg["blattart"];
446                $blattartg=blattart($blattkeyg);
447
448                echo "\n<hr>";
449                echo "\n<table class='outer'>";
450                echo "\n<tr>"; // 1 row only
451                        echo "\n\t<td>"; // Outer linke Spalte:
452
453                                // Rahmen mit GB-Kennz
454                                if ($blattkeyg == 1000) {
455                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
456                                }else {
457                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
458                                }                               
459                                        echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
460                                                echo "\n\t\t<td class='head'>".$blattartg."</td>";
461                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
462                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
463                                        echo "\n\t</tr>";
464                                        echo "\n\t<tr>";
465                                                echo "\n\t\t<td title='Grundbuchbezirk'>";
466                                                        if ($showkey) {                                         
467                                                                echo "<span class='key'>".$rowg["bezirk"]."</span><br>";                                               
468                                                        }                                               
469                                                        echo $beznam;
470                                                echo "</td>";
471
472                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
473
474                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
475
476                                                echo "\n\t\t<td title='Buchungsart'>";
477                                                        if ($showkey) {
478                                                                echo "<span class='key'>".$rows["buchungsart"]."</span><br>";
479                                                        }
480                                                        echo $rows["bart"];
481                                                echo "</td>";
482                                               
483                                        echo "\n\t</tr>";
484                                echo "\n\t</table>";
485
486                                // Miteigentumsanteil
487                                if ($rows["zaehler"] <> "") {
488                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
489                                }
490                        echo "\n</td>";
491
492                        echo "\n<td>"; // Outer rechte Spalte: NW-Links
493                                if ($idanzeige) {
494                                        linkgml($gkz, $gmls, "Buchungsstelle");
495                                        echo "<br>";
496                                        linkgml($gkz, $gmlg, "Buchungsblatt");
497                                }
498                                echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>";
499                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd;
500                                                if ($idanzeige) {echo "&amp;id=j";}
501                                                if ($showkey)   {echo "&amp;showkey=j";}
502                                                if ($blattkeyg == 1000) {                                               
503                                                        echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
504                                                } else {
505                                                        echo "' title='Grundbuchnachweis'>";
506                                                }                                               
507                                                echo $blattartg." <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
508                                        echo "</a>";
509                                echo "\n\t</p>";
510                        echo "\n</td>";
511                echo "\n</tr>";
512                echo "\n</table>";
513
514                // +++ Weitere Felder ausgeben ?? beschreibungdesumfangsderbuchung                 if ($rows["sond"] != "") {
515                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>";
516                }
517                if ($rows["nrpl"] != "") {
518                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>";         
519                }
520                 // E I G E N T U E M E R, zum GB
521                // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
522                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer                         $n = eigentuemer($con, $gkz, $idanzeige, $gmlg, false); // hier aber ohne Adresse
523                        if ($n == 0) {
524                                if ($blattkeyg == 1000) {
525                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
526                                        linkgml($gkz, $gmlg, "Buchungsblatt");
527                                } else {
528                                        echo "\n<p>ohne Eigent&uuml;mer.</p>";                                 }
529                        }
530                }
531                $bl++;         }
532        if ($bl == 0) {
533                echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";
534                linkgml($gkz, $gmls, "Buchungstelle");
535        }
536
537        // Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT  ->  Bezirk
538        $sql ="SELECT s.gml_id AS s_gml, s.buchungsart, s.laufendenummer as lfd, ";
539        // , s.beschreibungdesumfangsderbuchung as umf   ?
540        $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, ";
541        $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
542        $sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht
543        $sql.="FROM  alkis_beziehungen an "; // Bez. Stelle - Stelle
544        $sql.="JOIN  ax_buchungsstelle s ON an.beziehung_von = s.gml_id ";
545        $sql.="JOIN  alkis_beziehungen v ON s.gml_id = v.beziehung_von "; // Bez. Stelle - Blatt
546        $sql.="JOIN  ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id ";
547        $sql.="JOIN  ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk ";
548        $sql.="JOIN  ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
549        $sql.="WHERE an.beziehung_zu = '".$gmls."' "; // id herrschende Buchungsstelle
550        $sql.="AND   an.beziehungsart = 'an' ";
551        $sql.="AND   v.beziehungsart = 'istBestandteilVon' ";
552        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
553
554        $resan=pg_query($con,$sql);
555
556        if (!$resan) {
557                echo "\n<p class='err'>Keine weiteren Buchungsstellen.<br>\nSQL=<br>".$sql."</p>\n";
558        }
559        $an=0; // Stelle an Stelle
560        while($rowan = pg_fetch_array($resan)) {
561                $beznam=$rowan["bezeichnung"];
562                $blattkeyan=$rowan["blattart"]; // Schluessel von Blattart
563                $blattartan=blattart($blattkeyan);
564
565                //echo "\n<p class='err'>SQL=<br>".$sql."</p>\n";
566
567                echo "\n<hr>\n<table class='outer'>";
568                echo "\n<tr>"; // 1 row only
569                        echo "\n<td>"; // outer linke Spalte
570
571                                // Rahmen mit Kennzeichen GB
572                                if ($blattkeyan == 1000) {
573                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
574                                } else {
575                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
576                                }                               
577                                        echo "\n\t<tr>";
578                                                echo "\n\t\t<td class='head'>Bezirk</td>";
579                                                echo "\n\t\t<td class='head'>".$blattartan."</td>";
580                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
581                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
582                                        echo "\n\t</tr>";
583
584                                        echo "\n\t<tr>";
585                                                echo "\n\t\t<td title='Grundbuchbezirk'>";
586                                                if ($showkey) {                                         
587                                                        echo "<span class='key'>".$rowan["bezirk"]."</span><br>";
588                                                }                                               
589                                                echo $beznam."</td>";
590
591                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>";
592
593                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
594
595                                                echo "\n\t\t<td title='Buchungsart'>";
596                                                        if ($showkey) {                                         
597                                                                echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";
598                                                        }
599                                                        echo $rowan["bart"];
600                                                echo "</td>";
601
602                                        echo "\n\t</tr>";
603                                echo "\n\t</table>";
604                                if ($rowan["zaehler"] <> "") {
605                                        echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
606                                }
607                        echo "\n</td>";
608                        echo "\n<td>"; // outer rechte Spalte
609                                if ($idanzeige) {
610                                        linkgml($gkz, $rowan["s_gml"], "Buchungsstelle");
611                                        echo "<br>";
612                                        linkgml($gkz, $rowan["g_gml"], "Buchungsblatt");
613                                }
614                                echo "\n<br>";
615                                echo "\n\t<p class='nwlink'>";
616                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"];
617                                                if ($idanzeige) {echo "&amp;id=j";}
618                                                if ($showkey)   {echo "&amp;showkey=j";}
619                                                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
620                                                echo $blattartan;
621                                                echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";                         
622                                        echo "</a>";
623                                echo "\n\t</p>";
624                        echo "\n\t</td>";
625                echo "\n</tr>";
626                echo "\n</table>";
627
628                if ($blattkeyan != 1000) {
629                        echo "\n<p>Blattart: ".$blattartan." (".$blattkeyan.").<br>\n";
630                }
631
632                // +++ Weitere Felder ausgeben ?? BeschreibungDesUmfangsDerBuchung                 if ($rowan["nrpl"] != "") {
633                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>";
634                }
635                if ($rowan["sond"] != "") {
636                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>";
637                }
638
639                if ($eig=="j") {
640                        $n = eigentuemer($con, $gkz, $idanzeige, $rowan["g_gml"], false, $showkey); // ohne Adresse
641                        // Anzahl $n kontrollieren? Warnen?
642                }
643                $an++;
644        }
645        // Zaehler $an==0 ist hier der Normalfall
646        $bs++;
647}
648if ($bs == 0) {
649        echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";
650        linkgml($gkz, $gmlid, "Flurst&uuml;ck");
651}
652?>
653
654<form action=''>
655        <div class='buttonbereich noprint'>
656        <hr>
657                <input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
658                <input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
659                <input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
660        </div>
661</form>
662
663<?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $_SERVER['PHP_SELF']."?", $hilfeurl, "&amp;eig=".$eig, $showkey); ?>
664
665</body>
666</html>
Note: See TracBrowser for help on using the repository browser.