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

Revision 198, 21.1 KB checked in by frank.jaeger, 11 years ago (diff)

Buchauskunft: Umstellen der Schaltflächen am unteren Rand auf Symbole statt Buchstaben,
CSV-Download von FS- und GB-Daten,
begonnene Änderungen teilweise noch nicht fertig gestellt (siehe Kommentare).

RevLine 
[26]1<?php
[123]2/*      Modul: alkisbestnw.php
3
[49]4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
[123]5        Bestandsnachweis fuer ein Grundbuch aus ALKIS PostNAS
[49]6
[123]7        Version:         17.11.2011  Parameter der Functions geÀndert
[129]8        22.11.2011  Feldname land in ax_buchungsblattbezirk geÀndert
[131]9        30.11.2011  import_request_variables
[132]10        24.07.2012  Export CSV
[198]11
[123]12        ToDo:
13        Zahler fuer Anzahl GB und FS in der Liste (ausgeben wenn > 10)
[49]14*/
[26]15session_start();
[132]16import_request_variables("G");
17require_once("alkis_conf_location.php");
[123]18if ($auth == "mapbender") {require_once($mapbender);}
[132]19include("alkisfkt.php");
20if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
21$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
22if ($keys == "j") {$showkey=true;} else {$showkey=false;}
23
24?>
[26]25<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
26<html>
27<head>
28        <meta name="author" content="b600352" >
[198]29        <meta http-equiv="cache-control" content="no-cache">
[26]30        <meta http-equiv="pragma" content="no-cache">
31        <meta http-equiv="expires" content="0">
32        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
33        <title>ALKIS Bestandsnachweis</title>
34        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
[123]35        <link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.ico">
[41]36        <script type="text/javascript">
[198]37        function ALKISexportGB() {window.open(<?php echo "'alkisgbexp.php?gkz=".$gkz."&gmlid=".$gmlid."'"; ?>);}
38        function ALKISexportFS() {window.open(<?php echo "'alkisgbfsexp.php?gkz=".$gkz."&gmlid=".$gmlid."'"; ?>);}
39        </script>
40        <style type='text/css' media='print'>
[26]41                .noprint {visibility: hidden;}
[60]42        </style>
[26]43</head>
44<body>
45<?php
46$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
47if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
48
[123]49// G R U N D B U C H // Direkter JOIN zwischen den "ax_buchungsblattbezirk" und "ax_dienststelle".
[41]50// Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle".
[26]51//      Bei JOIN ueber alkis_beziehungen entgegen Dokumentation keine Verbindung gefunden.
[123]52$sql ="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt
[41]53$sql.="b.gml_id, b.bezirk, b.bezeichnung AS beznam, "; // Bezirk
[26]54$sql.="a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart "; // Amtsgericht
55$sql.="FROM ax_buchungsblatt g ";
56$sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ
[78]57//$sql.="LEFT JOIN ax_dienststelle a ON b.\"gehoertzu|ax_dienststelle_schluessel|land\"=a.land AND b.stelle=a.stelle ";
58$sql.="LEFT JOIN ax_dienststelle a ON b.land = a.land AND b.stelle = a.stelle ";
[131]59$sql.="WHERE g.gml_id= $1 ";
60$sql.="AND a.stellenart=1000;"; // Amtsgericht
[61]61
[78]62$v = array($gmlid);
[43]63$res = pg_prepare("", $sql);
[61]64$res = pg_execute("", $v);
65
66if (!$res) {
67        echo "<p class='err'>Fehler bei Grundbuchdaten.</p>";
[123]68        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
69}
[128]70if ($row = pg_fetch_array($res)) {
[43]71        $blattkey=$row["blattart"]; // Schluessel
[26]72        $blattart=blattart($blattkey);
[123]73        echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; // Balken
[43]74        echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>";         echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennzeichen im Rahmen
[81]75                if ($blattkey == 1000) {
76                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
77                } else {
[123]78                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
79                }
80                        echo "\n\t<tr>";
81                                echo "\n\t\t<td class='head'>".dienststellenart($row["stellenart"])."</td>";
[64]82                                echo "\n\t\t<td class='head'>Bezirk</td>";
[41]83                                echo "\n\t\t<td class='head'>".$blattart."</td>";
84                        echo "\n\t</tr>\n\t<tr>";
85                                echo "\n\t\t<td title='Amtsgerichtsbezirk'>";
[123]86                                if ($showkey) {
[41]87                                        echo "<span class='key'>".$row["stelle"]."</span><br>";
[123]88                                }
89                                echo htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>";
90                                echo "\n\t\t<td title='Grundbuchbezirk'>";
91                                if ($showkey) {
[43]92                                        echo "<span class='key'>".$row["bezirk"]."</span><br>";
[123]93                                }
94                                echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>";
95                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>";
96                        echo "\n\t</tr>";
[64]97                echo "\n\t</table>";
[41]98
[123]99                echo "\n\n\t</td>\n\t<td>";
100                if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt");}
101        echo "\n\t</td>\n</tr>\n</table>";
[41]102}
[43]103
[26]104if ($blattkey == 5000) { // fikt. Blatt
105        echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt.</p>\n";
[123]106} else { // E I G E N T U E M E R
107        echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
108        $n = eigentuemer($con, $gmlid, true, ""); // MIT Adressen.
109        if ($n == 0) { // keine Namensnummer, kein Eigentuemer
[45]110                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
[129]111                echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>";
[41]112                linkgml($gkz, $gmlid, "Buchungsblatt");
113        }
[43]114}
[41]115 // Vorab pruefen, ob Sonderfall "Rechte an .." vorliegt.
[123]116if ($blattkey == 1000) { // Grundbuchblatt
[26]117        $sql ="SELECT count(z.laufendenummer) AS anzahl ";
[41]118        $sql.="FROM alkis_beziehungen v ";
[81]119        $sql.="JOIN ax_buchungsstelle s ON v.beziehung_von=s.gml_id "; // Blatt
[123]120        $sql.="JOIN alkis_beziehungen x ON x.beziehung_von=s.gml_id ";
121        $sql.="JOIN ax_buchungsstelle z ON x.beziehung_zu=z.gml_id "; // andere B-Stelle
[81]122        $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' AND (x.beziehungsart='an' OR x.beziehungsart='zu');";
[123]123        $v=array($gmlid);
124        $res=pg_prepare("", $sql);
125        $res=pg_execute("", $v);
[81]126        if (!$res) echo "<p class='err'>Fehler bei Suche nach Buchungen.</p>\n";         $row=pg_fetch_array($res);
127        $anz=$row["anzahl"];
128        //echo "<p>Zeilen : ".$anz." zu Blattart ".$blattkey."</p>";
[123]129} else { // 2000: Katasterblatt, 3000: Pseudoblatt, 5000: Fiktives Blatt
[81]130        $anz=0;
[123]131}
132if ($anz > 0) {
133        echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>";
134        echo "\n<table class='fs'>";
135        echo "\n<tr>"; // 2 Kopfzeilen
136                echo "\n\t<td>&nbsp;</td>";
137                echo "\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>";
138                echo "\n\t<td>&nbsp;</td>";
139                echo "\n\t<td class='dien'>Bezirk</td>";
140                echo "\n\t<td class='dien'>Blatt</td>";
[81]141                echo "\n\t<td class='dien'>BVNR</td>";
142                echo "\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>";
143                echo "\n\t<td>&nbsp;</td>";
144        echo "\n</tr>";
145} else {
146        echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>";
147        echo "\n<table class='fs'>";
[123]148}
149
150echo "\n<tr>";
151        echo "\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span></td>";
152        echo "\n\t<td class='head'>Buchungsart</td>";
153        echo "\n\t<td class='head'>Anteil</td>";
154        echo "\n\t<td class='head'>Gemarkung</td>";
155        echo "\n\t<td class='head'>Flur</td>";
[81]156        echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>Flurst.</span></td>";
[64]157        echo "\n\t<td class='head fla'>Fl&auml;che</td>"; // 7
[43]158        echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>";
[64]159echo "\n</tr>";
160
[45]161// Blatt ->  B u c h u n g s s t e l l e
[43]162// ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle
[123]163$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, ";
[43]164$sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart ";
[26]165$sql.="FROM ax_buchungsstelle s ";
[41]166$sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von ";
[81]167$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
[123]168$sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' ";
[45]169$sql.="ORDER BY s.laufendenummer;";
[76]170
171$v=array($gmlid);
[123]172$res=pg_prepare("", $sql);
[76]173$res=pg_execute("", $v);
[61]174
175if (!$res) {
[76]176        echo "<p class='err'>Fehler bei Buchung.</p>\n";
177        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
[123]178}
[61]179$i=0;
[123]180while($row = pg_fetch_array($res)) {
181        $lfdnr  = $row["lfd"];
[128]182        $bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
[123]183        $gml_bs = $row["gml_id"]; // id der buchungsstelle
[26]184        $ba     = $row["bart"]; // Buchungsart aus Schluesseltabelle
[123]185
186        if ($row["zaehler"] == "") {
187                $anteil = "";
188        } else {
189                $anteil = $row["zaehler"]."/".$row["nenner"];
190        }
191        // F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle    $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, true); // return = Anzahl der FS
192         if ($j == 0) { //  k e i n e  Flurstuecke gefunden (Miteigentumsnteil usw.)                 // Bei "normalen" Grundstuecken wurden Flurstuecksdaten gefunden und ausgegeben.
193                // Bei Miteigentumsanteil, Erbbaurecht usw. muss nach weiteren Buchungsstellen gesucht werden:
194                //  Buchungsstelle >an/zu> (andere)Buchungsstelle >istBestandTeilVon>  "FiktivesBlatt (ohne) Eigentuemer"
195
[41]196                // andere Buchungsstellen
[129]197                //  ax_buchungsstelle  >zu>  ax_buchungsstelle (des gleichen Blattes)
[43]198                //  ax_buchungsstelle  >an>  ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an)
[41]199
[123]200                // aktuelles Blatt (herrschendes GB) hat Recht "an" fiktives Blatt (dienendes GB-Blatt)
201                // a n d e r e  Buchungsstelle
202                $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, ";
203                $sql.="v.beziehungsart, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner AS bart ";                 $sql.="FROM ax_buchungsstelle s ";
[41]204                $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_zu ";                 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
[43]205                $sql.="WHERE v.beziehung_von= $1 "; // id buchungsstelle (fiktives Blatt)                 $sql.="AND (v.beziehungsart='an' OR v.beziehungsart='zu') ";
[123]206                $sql.="ORDER BY s.laufendenummer;";
207                $v=array($gml_bs);
208                $resan=pg_prepare("", $sql);
209                $resan=pg_execute("", $v);
210                //$resan=pg_query($con,$sql);
[45]211                if (!$resan) {
[76]212                        echo "<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>\n";
213                        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
[123]214                }
215                $a=0; // count: andere BS
[76]216                $altbvnr=""; // Gruppenwechsel
[123]217                while($rowan = pg_fetch_array($resan)) {
218                        $lfdnran = $rowan["lfd"];               // BVNR an
219                        $gml_bsan= $rowan["gml_id"];    // id der buchungsstelle an
220                        $baan= $rowan["bart"];                  // Buchungsart an, entschluesselt
221
222                        // a n d e r e s   B l a t t  (an dem das aktuelle Blatt Rechte hat)
223                        // dienendes Grundbuch
[128]224                        $sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, z.bezeichnung AS beznam ";
[43]225                        $sql.="FROM ax_buchungsblatt  b ";
226                        $sql.="JOIN alkis_beziehungen v ON b.gml_id=v.beziehung_zu ";
[123]227                        $sql.="LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk ";
[41]228                        $sql.="WHERE v.beziehung_von= $1 ";
[123]229                        $sql.="AND v.beziehungsart='istBestandteilVon' ";
230                        $sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
231                        $v=array($gml_bsan);
232                        $fbres=pg_prepare("", $sql);
233                        $fbres=pg_execute("", $v);
234                        //$fbres=pg_query($con,$sql);
[43]235                        if (!$fbres) {
[78]236                                echo "<p class='err'>Fehler bei fiktivem Blatt.</p>\n";
[123]237                                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}                   
[78]238                        }
[123]239                        $b=0;
[78]240                        while($fbrow = pg_fetch_array($fbres)) { // genau 1
[123]241                                $fbgml   = $fbrow["gml_id"];
242                                $fbland  = $fbrow["land"];
243                                $fbbez   = $fbrow["bezirk"];
244                                $fbblatt = $fbrow["blatt"];
245                                $fbbart  = blattart($fbrow["blattart"]);
246                                $beznam = $fbrow["beznam"];
247                                $b++;
[128]248                        }
[123]249                        if ($b != 1) {
[41]250                                echo "<p class='err'>Anzahl fiktive Bl&auml;tter zu anderer Buchungstelle = ".$b."</p>";
[123]251                        }
252
253                        // G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle
254                        echo "\n<tr>";
255                                echo"\n\t<td>";
256                                        if($bvnr == $altbvnr) { // gleiches Grundstueck
257                                                echo "&nbsp;"; // Anzeige unterdruecken
258                                        } else {
259                                                echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke
260                                                echo "<span class='wichtig'>".$bvnr."</span>"; // Sp.1 Erbbau BVNR
261                                                if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
262                                                $altbvnr = $bvnr; // Gruppenwechsel merken
[64]263                                        }
[123]264                                echo "</td>";
265                                echo "\n\t<td class='dien'>"; // Sp.2 Buchung
266                                        if ($showkey) {
267                                                echo "<span class='key'>".$row["buchungsart"]."</span> ";
268                                        }
269                                echo $ba." an</td>";
270                                echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil
271                                echo "\n\t<td class='dien'>"; // Sp.4 Gemarkg. hier Bezirk
272                                        if ($showkey) {
273                                                echo "<span class='key'>".$fbbez."</span> ";
274                                        }
275                                        echo $beznam;
276                                echo "</td>"; // Sp.4 hier Bezirk
277                                echo "\n\t<td class='dien'>"; // Sp. 5 Blatt
278                                        echo $fbblatt; // Sp.6 BVNR
279                                        if ($idanzeige) {
280                                                linkgml($gkz, $fbgml, "Buchungsblatt");
281                                        }
282                                echo "</td>";
283                                echo "\n\t<td class='dien'>"; // BVNR
284                                        echo str_pad($lfdnran, 4, "0", STR_PAD_LEFT);
285                                        if ($idanzeige) {
286                                                linkgml($gkz, $gml_bsan, "Buchungsstelle");
287                                        }
288
289                                echo "</td>";
290                                echo "\n\t<td class='dien'>"; // Sp.7 Buchungsart
291                                        if ($showkey) {
292                                                echo "<span class='key'>".$rowan["buchungsart"]."</span> ";
293                                        }
294                                        echo $baan." ";
295                                echo "</td>";
296                                echo "\n\t<td>";  // Sp.8 Link ("an" oder "zu" ?)
297                                        echo "<p class='nwlink'>".$rowan["beziehungsart"];
298                                        echo " <a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml;
299                                                if ($idanzeige) {echo "&amp;id=j";}
300                                                if ($showkey)   {echo "&amp;showkey=j";}
301                                                echo "#bvnr".$lfdnran; // Sprungmarke auf der Seite
302                                                echo "' title='Grundbuchnachweis des dienenden Blattes'>";
303                                                echo $fbbart;
304                                        echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a></p>";
305                                echo "</td>";
306                        echo "\n</tr>";
307
308                        // 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
[43]309                        // Buchungsart wird nur in erster Zeile ausgegeben, hier leer
[123]310                   $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false); // return = Anzahl der FS
311                                   
[45]312                        // +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt??                         if ($rowan["nrap"] != "") {
[123]313                                echo "\n<tr>";
314                                        echo "\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>";
315                                echo "\n</tr>";
316                        }
317                        if ($rowan["sond"] != "") {
318                                echo "\n<tr>";
319                                        echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>";
[129]320                                echo "\n</tr>";
321                        }
322                        $a++;
[45]323                }
[41]324                if ($a == 0) {
[123]325                        echo "\n<tr>";
326                                echo "\n\t<td><span class='wichtig'>".$bvnr."</span>";
[43]327                                if ($idanzeige) {
[41]328                                        linkgml($gkz, $gml_bs, "Buchungsstelle");
329                                }
[123]330                                echo "</td>";
331                                echo "\n\t<td colspan=7>";
[43]332                                        echo "<p class='warn'>Flurst&uuml;cke zu ".$bvnr." nicht im Datenbestand.</p>";
[41]333                                echo "</td>";
[123]334                        echo "\n</tr>";
335                }
[41]336        }
[123]337        $i++;         if ($row["nrap"] != "") { // Nummer im Aufteilungsplan
338                echo "\n<tr>";
339                        echo "\n\t<td class='nrap' colspan=8>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td>";
340                echo "\n</tr>";
341        }
342        if ($row["sond"] != "") { // Sondereigentumsbeschreibung
343                echo "\n<tr>";
344                        echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>";
345                echo "\n</tr>";
346        }
347} // Ende Buchungsstelle
348echo "\n</table>";
[81]349
[123]350if ($i == 0) {
351        echo "\n<p class='err'>Keine Buchung gefunden.</p>\n";
352        linkgml($gkz, $gmlid, "Buchungsblatt");
353}
354        // b e r e c h t i g t e  Grundbuecher (Buchungsblatt)
355        // mit Recht "an"/"zu" dem aktuellen fiktiven GB
356
357        // bf              vf          sf       vs   sb                 vb            bb
358        // Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt
359        // Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt
[41]360        $sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, ";         $sql.="vs.beziehungsart, ";
[123]361        $sql.="sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, ";  // berechtigte Buchungsstelle
[45]362        $sql.=" bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart "; // Bezirk, Amtsgericht
[26]363        $sql.="FROM alkis_beziehungen vf ";     // Verbindung fiktiv
364        $sql.="JOIN ax_buchungsstelle sf ON sf.gml_id = vf.beziehung_von ";     // Stelle fiktiv
365        $sql.="JOIN alkis_beziehungen vs ON sf.gml_id = vs.beziehung_zu ";      // Verbindung Stellen
[123]366        $sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von ";     // Stelle berechtigt
367        $sql.="JOIN alkis_beziehungen vb ON sb.gml_id = vb.beziehung_von ";     // Verbindung berechtigt
368        $sql.="JOIN ax_buchungsblatt  bb ON bb.gml_id = vb.beziehung_zu ";      // Blatt berechtigt
369        $sql.="LEFT JOIN ax_buchungsblattbezirk bz ON bb.land = bz.land AND bb.bezirk = bz.bezirk ";
370//      $sql.="LEFT JOIN ax_dienststelle ag ON bz.\"gehoertzu|ax_dienststelle_schluessel|land\" = ag.land AND bz.stelle=ag.stelle ";
371        $sql.="LEFT JOIN ax_dienststelle ag ON bz.land = ag.land AND bz.stelle=ag.stelle ";     
372        $sql.="LEFT JOIN ax_buchungsstelle_buchungsart ba ON sb.buchungsart = ba.wert ";
[45]373        $sql.="WHERE vf.beziehung_zu= $1 ";
[123]374        $sql.="AND  vf.beziehungsart='istBestandteilVon' ";
375        $sql.="AND (vs.beziehungsart='an' OR vs.beziehungsart='zu') ";
376        $sql.="AND  vb.beziehungsart= 'istBestandteilVon' ";
377        $sql.="ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;";
378
379        $v = array($gmlid);
380        $resb = pg_prepare("", $sql);
381        $resb = pg_execute("", $v);
382        if (!$resb) {
[78]383                echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter:'<br>".$sql."</p>\n";
[131]384                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
385        }
[123]386        $b=0; // count: Blaetter
387        while($rowb = pg_fetch_array($resb)) {
[45]388                if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde
[123]389                        echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n";
390                        echo "\n<table class='outer'>";
391                        echo "\n<tr>"; // Tabelle Kopf
[45]392                                echo "\n\t<td class='head'>Land</td>";
[61]393                                echo "\n\t<td class='head'>Dienststelle</td>";
394                                echo "\n\t<td class='head'>Bezirk</td>";
395                                echo "\n\t<td class='head'>Blatt</td>";
[123]396                                echo "\n\t<td class='head'>BVNR</td>"; // Neu
397                                echo "\n\t<td class='head'>Buchungsart</td>"; // Neu
[128]398                                echo "\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>";
[45]399                        echo "\n</tr>";
[123]400                }
[45]401                $gml_b=$rowb["gml_id"];         // id des berechtigten Blattes
[123]402                $gml_s=$rowb["gml_s"];          // id der berechtigten Buchungsstelle
403                $blart=$rowb["blattart"];
404                $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt
405                $bart=$rowb["bart"];                    // Buchungsart entschluesselt
406                $lfdnr=$rowb["lfdnr"];
407                $bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
408
409                echo "\n<tr>";
410                        echo "\n\t<td>".$rowb["land"]."</td>";
411                        echo "\n\t<td>"; // Amtsgericht
412                                echo dienststellenart($rowb["stellenart"])." ";
413                                if ($showkey) {
414                                        echo "<span class='key'>".$rowb["stelle"]."</span> ";
415                                }
416                                echo $rowb["bezeichnung"];
417                        echo "</td>";
418                        echo "\n\t<td>";
419                                if ($showkey) {
420                                        echo "<span class='key'>".$rowb["bezirk"]."</span> ";
421                                }
[64]422                                echo $rowb["beznam"];
[123]423                        echo "</td>";
424                        echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>";
425                                if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt");}
426                        echo "</td>";
427                        echo "\n\t<td>".$bvnr;
428                                if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle");}
429                        echo "</td>";
430                        echo "\n\t<td>";
431                                if ($showkey) {
432                                        echo "<span class='key'>".$buch."</span> ";
433                                }
434                                echo $bart;
435                        echo "</td>";
436                        echo "\n\t<td>";
437                                echo "\n\t\t<p class='nwlink'>";
438                        //      echo $rowb["beziehungsart"]." "; // "an"/"zu" ?
439                                echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b."#bvnr".$lfdnr;
440                                        if ($idanzeige) {echo "&amp;id=j";}
441                                        if ($showkey)   {echo "&amp;showkey=j";}
442                                        echo "' title='Nachweis des berechtigten Blattes ".$rowb["beziehungsart"]." ".$blattart."'>";
443                                        echo blattart($blart);
444                                        echo " \n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
445                                echo "\n\t\t</p>";
446                        echo "</td>";
447                echo "\n</tr>";
448                $b++;
449        }
450        if ($b == 0) {
451                if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000
452                        echo "<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>";
[45]453                }
[123]454        } else {
[45]455                echo "\n</table>";
[123]456        }
457
458?>
459
460<form action=''>
461        <div class='buttonbereich noprint'>
462        <hr>
463                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
464                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
465<!--    <a title="Export Flurst&uuml;cksdaten als CSV" href='javascript:ALKISexportFS()'><img src="ico/download_fs.ico" width="32" height="16" alt="Export" /></a>&nbsp; -->
466                <a title="Export Grundbuchdaten als CSV" href='javascript:ALKISexportGB()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export" /></a>&nbsp;
467<!--    <a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>     -->
468        </div>
469</form>
470
[45]471<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
[26]472
473</body>
474</html>
Note: See TracBrowser for help on using the repository browser.