[26] | 1 | <?php
|
---|
[41] | 2 | /* Modul: alkisbestnw.php
|
---|
| 3 | Version:
|
---|
| 4 | 31.08.2010 $style=ALKIS entfernt, alles Kompakt |
---|
| 5 | 02.09.2010 Mit Icons |
---|
[26] | 6 |
|
---|
| 7 | ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
|
---|
| 8 | Bestandsnachweis fuer ein Grundbuch aus ALKIS PostNAS
|
---|
| 9 | Parameter: &gkz= &gmlid
|
---|
| 10 | */
|
---|
[41] | 11 | //ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
|
---|
| 12 | ini_set('error_reporting', 'E_ALL'); |
---|
[26] | 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>
|
---|
[41] | 22 | <meta name="author" content="Frank Jaeger" >
|
---|
[26] | 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>
|
---|
[41] | 28 | <link rel="stylesheet" type="text/css" href="alkisauszug.css"> |
---|
| 29 | <link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.ico">
|
---|
[26] | 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] | 41 | //$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
|
---|
[26] | 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";
|
---|
[41] | 45 | |
---|
| 46 | // G R U N D B U C H
// Direkter JOIN zwischen den "ax_buchungsblattbezirk" und "ax_dienststelle".
|
---|
[26] | 47 | // Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle". |
---|
[41] | 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
|
---|
[26] | 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 ";
|
---|
[41] | 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."' ";
|
---|
[26] | 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 | |
---|
[41] | 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>";
|
---|
[26] | 70 | echo "\n\t<table class='kennz' title='Bestandskennzeichen'>"; |
---|
[41] | 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>";
|
---|
[26] | 84 | }
|
---|
| 85 |
|
---|
| 86 | // E I G E N T U E M E R |
---|
[41] | 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 | }
|
---|
[26] | 101 | $res="";
|
---|
[41] | 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
|
---|
[26] | 116 | // ax_buchungsblatt >bestehtAus> ax_buchungsstelle
|
---|
[41] | 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 ";
|
---|
[26] | 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);
|
---|
[41] | 125 | if (!$res) echo "<p class='err'>Fehler bei Buchung.</p>\n";
|
---|
[26] | 126 | $i=0;
|
---|
| 127 | while($row = pg_fetch_array($res)) {
$lfdnr = $row["lfd"]; |
---|
| 128 | $bvnr = str_pad($lfdnr, 4, "0", STR_PAD_LEFT); |
---|
[41] | 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 | }
|
---|
[26] | 142 | if ($row["sond"] != "") { |
---|
[41] | 143 | echo "\n<tr>\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>\n<tr>"; |
---|
| 144 | }
|
---|
[26] | 145 |
|
---|
[41] | 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" |
---|
[26] | 149 | |
---|
[41] | 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)) {
|
---|
[26] | 169 | // auch suchen?
// ax_buchungsstelle >verweistAuf> ax_flurstueck
|
---|
[41] | 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");
|
---|
[26] | 241 | }
|
---|
[41] | 242 | ?>
|
---|
[26] | 243 |
|
---|
[41] | 244 | <form action=''>
|
---|
[26] | 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> |
---|