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

Revision 41, 11.8 KB checked in by frank.jaeger, 14 years ago (diff)
Line 
1<?php
2/*      Modul: alkisbestnw.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        Bestandsnachweis fuer ein Grundbuch aus ALKIS PostNAS
9        Parameter:      &gkz= &gmlid
10*/
11//ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
12ini_set('error_reporting', 'E_ALL');
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 Bestandsnachweis</title>
28        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
29        <link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.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$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);
44if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
45
46// G R U N D B U C H // Direkter JOIN zwischen den "ax_buchungsblattbezirk" und "ax_dienststelle".
47// Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle".
48//      Bei JOIN ueber alkis_beziehungen entgegen Dokumentation keine Verbindung gefunden.
49$sql ="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt
50$sql.="b.gml_id, b.bezirk, b.bezeichnung AS beznam, "; // Bezirk
51$sql.="a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart "; // Amtsgericht
52$sql.="FROM  ax_buchungsblatt  g ";
53$sql.="JOIN  ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ
54$sql.="JOIN  ax_dienststelle a ON b.\"gehoertzu|ax_dienststelle_schluessel|land\"=a.land AND b.stelle=a.stelle ";
55$sql.="WHERE g.gml_id='".$gmlid."' ";
56$sql.="AND   a.stellenart=1000;"; // Amtsgericht
57// echo "\n<p class='err'>".$sql."</p>\n";
58$res=pg_query($con, $sql);
59if (!$res) {echo "<p class='err'>Fehler bei Grundbuchdaten<br>\n".$sql."</p>";}
60if ($row = pg_fetch_array($res)) {
61        $blattart=blattart($row["blattart"]);
62
63        // Balken       
64        echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n";
65
66        echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>";
67
68        // Kennzeichen im Rahmen
69        echo "\n<table class='outer'>\n<tr>\n\t<td>";
70                echo "\n\t<table class='kennz' title='Bestandskennzeichen'>";
71                        echo "\n\t<tr>";
72                                echo "\n\t\t<td class='head'>".dienststellenart($row["stellenart"])."</td>";
73                                echo "\n\t\t<td class='head'>Bezirk</td>";
74                                echo "\n\t\t<td class='head'>".$blattart."</td>";
75                        echo "\n\t</tr>\n\t<tr>";
76                                echo "\n\t\t<td title='Amtsgerichtsbezirk'><span class='key'>".$row["stelle"]."</span><br>".htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>";
77                                echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$row["bezirk"]."</span><br>".htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>";
78                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>";
79                        echo "\n\t</tr>";
80                echo "\n\t</table>";
81                echo "\n\n\t</td>\n\t<td>";
82                if ($idanzeige) linkgml($gkz, $gmlid, "Buchungsblatt");
83        echo "\n\t</td>\n</tr>\n</table>";
84}
85
86// E I G E N T U E M E R
87if ($row["blattart"] == 5000) {
88        echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n";
89        echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
90        // ++++  nuetzlich waere hier: Liste der Grundbuecher mit Recht ueber "an"-Beziehung   
91       
92} else {// kein Eigent. bei fiktiv. Blatt
93        echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
94        $n = eigentuemer($con, $gkz, $idanzeige, $gmlid, true); // hier mit Adressen
95        if ($n == 0) { // keine Namensnummer, kein Eigentuemer
96                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
97                echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$row["blattart"]." (".$blattart.")</p>";
98                linkgml($gkz, $gmlid, "Buchungsblatt");
99        }
100}
101$res="";
102$row="";
103 echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>";
104echo "\n<table class='fs'>";
105// Kopf der Tabelle
106echo "\n<tr>\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'>&nbsp;&nbsp;&nbsp;&nbsp;lfd.Nr</td>";
107echo "\n\t<td class='head'>Buchungsart</td>";   //2
108echo "\n\t<td class='head'>Anteil</td>";                //3
109echo "\n\t<td class='head'>Gemarkung</td>";             //4
110echo "\n\t<td class='head'>Flur</td>";                  //5
111echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>Flurst.</td>";
112echo "\n\t<td class='head fla'>Fl&auml;che</td>";
113echo "\n\t<td class='head nwlink' title='Link: weitere Auskunft'>weit. Auskunft</td>\n</tr>";
114
115// Blatt ->  B u c h u n g s s t e l l e
116// ax_buchungsblatt   >bestehtAus>         ax_buchungsstelle
117// ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle
118$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond ";
119$sql.="FROM  ax_buchungsstelle  s ";
120$sql.="JOIN  alkis_beziehungen  v ON s.gml_id=v.beziehung_von ";
121$sql.="WHERE v.beziehung_zu='".$gmlid."' ";
122$sql.="AND   v.beziehungsart='istBestandteilVon' ";
123$sql.="ORDER BY s.laufendenummer;";
124$res=pg_query($con,$sql);
125if (!$res) echo "<p class='err'>Fehler bei Buchung.</p>\n";
126$i=0;
127while($row = pg_fetch_array($res)) {         $lfdnr  = $row["lfd"];
128        $bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
129        $gml_bs = $row["gml_id"]; // id der buchungsstelle
130        $ba     = buchungsart($row["buchungsart"]);
131        if ($row["zaehler"] == "") {
132                $anteil = "";
133        } else {
134                $anteil = $row["zaehler"]."/".$row["nenner"];
135        }
136
137        // F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle    $j = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, true); // return = Anzahl der FS
138
139        if ($row["nrap"] != "") {
140                echo "\n<tr>\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$row["nrap"]."</td>\n<tr>";
141        }
142        if ($row["sond"] != "") {
143                echo "\n<tr>\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>\n<tr>";
144        }
145
146        if ($j == 0) { //  k e i n e  Flurstuecke gefunden (Miteigentumsnteil usw.)                 // Bei "normalen" Grundstuecken wurden Flurstuecksdaten gefunden und ausgegeben.
147                // Bei Miteigentumsanteil, Erbbaurecht usw. muss nach weiteren Buchungsstellen gesucht werden:
148                //  Buchungsstelle >an> Buchungsstelle >istBestandTeilVon>  "FiktivesBlatt (ohne) Eigentuemer"
149
150                // andere Buchungsstellen
151                // ax_buchungsstelle  >zu>  ax_buchungsstelle (des gleichen Blattes)
152                // ax_buchungsstelle  >an>  ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht >an> )
153
154                // a n d e r e  Buchungsstelle ("an"-Beziehung)
155                $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond ";
156                // , s.zaehler, s.nenner
157                $sql.="FROM  ax_buchungsstelle  s ";
158                $sql.="JOIN  alkis_beziehungen  v ON s.gml_id=v.beziehung_zu ";
159                $sql.="WHERE v.beziehung_von='".$gml_bs."' "; // id buchungsstelle (fiktives Blatt)
160                //$sql.="AND   v.beziehungsart='an' ";
161                $sql.="AND   (v.beziehungsart='an' OR v.beziehungsart='zu') ";
162                $sql.="ORDER BY s.laufendenummer;";
163                //echo "<br><p class='err'>".$sql."</p><br>";
164
165                $resan=pg_query($con,$sql);
166                if (!$resan) {echo "<p class='err'>Fehler bei andere Buchungsstelle<br><br>".$sql."</p>\n";}
167                $a=0;
168                while($rowan = pg_fetch_array($resan)) {
169                        // auch suchen?                         // ax_buchungsstelle  >verweistAuf>           ax_flurstueck   
170                        // ax_buchungsstelle  >grundstueckBestehtAus> ax_flurstueck
171                        // ax_buchungsstelle  <istGebucht<            ax_flurstueck
172                        $lfdnran = $rowan["lfd"];
173                        $gml_bsan= $rowan["gml_id"]; // id der buchungsstelle
174                        $baan = buchungsart($rowan["buchungsart"]);
175
176                        // Fiktives Blatt
177                        $sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt ";
178                        $sql.="FROM  ax_buchungsblatt   b ";
179                        $sql.="JOIN  alkis_beziehungen  v ON b.gml_id=v.beziehung_zu ";
180                        $sql.="WHERE v.beziehung_von='".$gml_bsan."' ";
181                        $sql.="AND   v.beziehungsart='istBestandteilVon' ";
182                        $sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
183                       
184                        $fbres=pg_query($con,$sql);
185                        if (!$fbres) {echo "<p class='err'>Fehler bei fiktivem Blatt<br><br>".$sql."</p>\n";}
186                        $b=0;
187                        while($fbrow = pg_fetch_array($fbres)) { // genau 1
188                                $fbgml   = $fbrow["gml_id"];
189                                $fbland  = $fbrow["land"];
190                                $fbbez   = $fbrow["bezirk"];
191                                $fbblatt = $fbrow["blatt"];
192                                $b++;
193                        }
194                        if ($b <> 1) echo "<p class='err'>Anzahl fiktive Bl&auml;tter zu anderer Buchungstelle = ".$b."</p>";
195
196                        // G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle  (fiktives Blatt, Recht "an" ...)   
197                        //$bvnran=str_pad($lfdnran, 4, "0", STR_PAD_LEFT);
198                        // Kompakter Style                     
199                        echo "\n<tr>\n\t<td>".$bvnr; // Sp.1 Erbbau BVNR
200                        if ($idanzeige) linkgml($gkz, $gml_bs, "Buchungsstelle");
201                        echo "</td>";
202                        echo "\n\t<td>".$ba." an</td>"; // Sp.2 Buchung
203                        echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil   ++++ LEER !!?? Wieso
204                        echo "\n\t<td>Bezirk ".$fbbez."</td>"; // Sp.4 Gemkg, hier Bezirk ++++ entschluesseln?
205                        echo "\n\t<td></td>"; // Sp.5 Flur
206                        echo "\n\t<td>Blatt ".$fbblatt."</td>"; // Sp.6 Flurst
207                        echo "\n\t<td></td>"; // Sp.7 Flaeche
208                        echo "\n\t<td>";  // Sp.8 Link
209                        echo "<p class='nwlink'>an <a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml;
210                        if ($idanzeige) echo "&amp;id=j";
211                        echo "' title='Grundbuchnachweis fiktives Blatt'>GB</a></p></td>\n</tr>";
212
213                        // F l u r s t u e c k s d a t e n  zur  a n d e r e n  Buchungsstelle  (fiktives Blatt, Recht "an" ...)                    $aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, $baan, $anteil, false); // return = Anzahl der FS
214                        // +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt??
215
216                        // Kompakter Style
217                        if ($rowan["nrap"] != "") {
218                                echo "\n<tr>\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>\n<tr>";
219                        }
220                        if ($rowan["sond"] != "") {
221                                echo "\n<tr>\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>\n<tr>";
222                        }
223
224                        $a++;
225                        if ($aj == 0) { // keine Flurstuecke gefunden
226                                echo "<p>keine Flurst&uuml;cke zu anderer Buchung gefunden</p>";
227                        }
228                }
229                if ($a == 0) {
230                        echo "\n<p class='err'>Keine andere Buchungstelle gefunden.</p>\n";
231                        linkgml($gkz, $$gml_bs, "Buchungsstelle");
232                }
233        }
234        $i++;
235} // Ende Buchungsstelle
236
237echo "\n</table>";
238if ($i == 0) {
239        echo "\n<p class='err'>Keine Buchung gefunden.</p>\n";
240        linkgml($gkz, $gmlid, "Buchungsblatt");
241}
242?>
243
244<form action=''>
245        <div class='buttonbereich noprint'>
246        <hr>
247                <input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'             onClick='javascript:history.back()'>&nbsp;
248                <input type='button' name='print' value='Druck'    title='Seite Drucken'           onClick='window.print()'>&nbsp;
249                <input type='button' name='close' value='X'        title='Fenster schlie&szlig;en' onClick='window.close()'>
250        </div>
251</form>
252<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); ?>
253</body>
254</html>
Note: See TracBrowser for help on using the repository browser.