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');
|
---|
12 | ini_set('error_reporting', 'E_ALL'); |
---|
13 | session_start();
|
---|
14 | // Bindung an Mapbender-Authentifizierung
|
---|
15 | require_once("/data/mapwww/http/php/mb_validateSession.php");
|
---|
16 | require_once("/data/conf/alkis_www_conf.php");
|
---|
17 | include("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;
|
---|
40 | if ($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 | if (!$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);
|
---|
59 | if (!$res) {echo "<p class='err'>Fehler bei Grundbuchdaten<br>\n".$sql."</p>";}
|
---|
60 | if ($row = pg_fetch_array($res)) {
|
---|
61 | $blattart=blattart($row["blattart"]);
|
---|
62 | |
---|
63 | // Balken |
---|
64 | echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]." </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 |
---|
87 | if ($row["blattart"] == 5000) { |
---|
88 | echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n"; |
---|
89 | echo "\n<p>Siehe weitere Grundbuchblä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ücke</h3>"; |
---|
104 | echo "\n<table class='fs'>";
|
---|
105 | // Kopf der Tabelle
|
---|
106 | echo "\n<tr>\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundstück'> lfd.Nr</td>";
|
---|
107 | echo "\n\t<td class='head'>Buchungsart</td>"; //2
|
---|
108 | echo "\n\t<td class='head'>Anteil</td>"; //3
|
---|
109 | echo "\n\t<td class='head'>Gemarkung</td>"; //4
|
---|
110 | echo "\n\t<td class='head'>Flur</td>"; //5
|
---|
111 | echo "\n\t<td class='head' title='Flurstücksnummer (Zähler / Nenner)'>Flurst.</td>";
|
---|
112 | echo "\n\t<td class='head fla'>Fläche</td>";
|
---|
113 | echo "\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);
|
---|
125 | if (!$res) echo "<p class='err'>Fehler bei Buchung.</p>\n";
|
---|
126 | $i=0;
|
---|
127 | while($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ä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."&gmlid=".$fbgml;
|
---|
210 | if ($idanzeige) echo "&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ü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 |
|
---|
237 | echo "\n</table>";
|
---|
238 | if ($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='<<' title='Zurück' onClick='javascript:history.back()'>
|
---|
248 | <input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>
|
---|
249 | <input type='button' name='close' value='X' title='Fenster schließen' onClick='window.close()'>
|
---|
250 | </div>
|
---|
251 | </form>
|
---|
252 | <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); ?>
|
---|
253 | </body>
|
---|
254 | </html> |
---|