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

Revision 131, 20.8 KB checked in by frank.jaeger, 12 years ago (diff)

Buchauskunft-Anpassungen an geändertes Datenbank-Schema

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