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

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