Ignore:
Timestamp:
02/07/11 16:24:47 (13 years ago)
Author:
frank.jaeger
Message:

ALKIS-Auskunft überarbeitet

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/var/www/info/alkis/alkisbestnw.php

    r78 r81  
    1212        26.01.2011  Space in leere td 
    1313        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
     14        07.02.2011  ggf. vereinfachte Kopfzeile "Flurstuecke" nach Vorpruefung "Rechte"  
    1415        ToDo: 
    1516        Zahler fuer Anzahl GB und FS in der Liste (ausgeben wenn > 10) 
     
    1920$gkz=urldecode($_REQUEST["gkz"]); 
    2021require_once("alkis_conf_location.php"); 
    21 if ($auth == "mapbender") { 
    22         // Bindung an Mapbender-Authentifizierung 
     22if ($auth == "mapbender") { // Bindung an Mapbender-Authentifizierung 
    2323        require_once($mapbender); 
    2424} 
     
    8181        $blattkey=$row["blattart"]; // Schluessel 
    8282        $blattart=blattart($blattkey); 
    83  
    84         // Balken 
    85         echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; 
    86  
     83        echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; // Balken 
    8784        echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>"; 
    88  
    89         // Kennzeichen im Rahmen 
    90         echo "\n<table class='outer'>\n<tr>\n\t<td>"; 
     85        echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennzeichen im Rahmen 
    9186                if ($blattkey == 1000) { 
    9287                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     
    122117} else { // E I G E N T U E M E R 
    123118        echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
    124  
    125         // HIER MIT Adressen. 
    126         // Im offiziellen ALKIS-Buchnachweis hier ohne Adressen. 
    127         // Weglassen damit es uebersichtlicher wird? 
     119        // MIT Adressen. Im offiziellen ALKIS-Buchnachweis hier ohne Adressen. 
    128120        $n = eigentuemer($con, $gkz, $idanzeige, $gmlid, true); 
    129121 
     
    135127} 
    136128 
    137 echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>"; 
    138 echo "\n<table class='fs'>"; 
    139  
    140 // 2 Kopfzeilen der Tabelle 
     129// Vorab pruefen, ob Sonderfall "Rechte an .." vorliegt. 
     130if ($blattkey == 1000) { // Grundbuchblatt 
     131        $sql ="SELECT count(z.laufendenummer) AS anzahl "; 
     132        $sql.="FROM alkis_beziehungen v "; 
     133        $sql.="JOIN ax_buchungsstelle s ON v.beziehung_von=s.gml_id "; // Blatt 
     134        $sql.="JOIN alkis_beziehungen x ON x.beziehung_von=s.gml_id ";  
     135        $sql.="JOIN ax_buchungsstelle z ON x.beziehung_zu=z.gml_id "; // andere B-Stelle 
     136        $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' AND (x.beziehungsart='an' OR x.beziehungsart='zu');"; 
     137        $v=array($gmlid); 
     138        $res=pg_prepare("", $sql); 
     139        $res=pg_execute("", $v); 
     140        if (!$res) echo "<p class='err'>Fehler bei Suche nach Buchungen.</p>\n"; 
     141        $row=pg_fetch_array($res); 
     142        $anz=$row["anzahl"]; 
     143        //echo "<p>Zeilen : ".$anz." zu Blattart ".$blattkey."</p>"; 
     144} else { // 2000: Katasterblatt, 3000: Pseudoblatt, 5000: Fiktives Blatt 
     145        $anz=0; 
     146} 
     147if ($anz > 0) { 
     148        echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>"; 
     149        echo "\n<table class='fs'>"; 
     150        echo "\n<tr>"; // 2 Kopfzeilen 
     151                echo "\n\t<td>&nbsp;</td>"; 
     152                echo "\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>"; 
     153                echo "\n\t<td>&nbsp;</td>"; 
     154                echo "\n\t<td class='dien'>Bezirk</td>"; 
     155                echo "\n\t<td class='dien'>Blatt</td>"; 
     156                echo "\n\t<td class='dien'>BVNR</td>"; 
     157                echo "\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>"; 
     158                echo "\n\t<td>&nbsp;</td>"; 
     159        echo "\n</tr>"; 
     160} else { 
     161        echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>"; 
     162        echo "\n<table class='fs'>"; 
     163} 
     164 
    141165echo "\n<tr>"; 
    142         echo "\n\t<td title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span></td>"; 
    143         echo "\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>"; 
    144         echo "\n\t<td>&nbsp;</td>"; 
    145         echo "\n\t<td class='dien'>Bezirk</td>"; 
    146         echo "\n\t<td class='dien'>Blatt</td>"; 
    147         echo "\n\t<td class='dien'>BVNR</td>"; 
    148         echo "\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>"; 
    149         echo "\n\t<td>&nbsp;</td>"; 
    150 echo "\n</tr>"; 
    151 echo "\n<tr>"; 
    152         echo "\n\t<td class='head'>&nbsp;</td>"; 
     166        echo "\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span></td>"; 
    153167        echo "\n\t<td class='head'>Buchungsart</td>"; 
    154168        echo "\n\t<td class='head'>Anteil</td>"; 
     
    161175 
    162176// Blatt ->  B u c h u n g s s t e l l e 
    163 // ax_buchungsblatt   <istBestandteilVon< ax_buchungsstelle  
     177// ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle  
    164178$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, "; 
    165179$sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart "; 
     
    187201                $anteil = $row["zaehler"]."/".$row["nenner"]; 
    188202        } 
    189  
    190203        // F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle 
    191204   $j = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, true, $showkey); // return = Anzahl der FS 
     
    250263                        // G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle 
    251264                        echo "\n<tr>"; 
    252  
    253265                                echo"\n\t<td>"; 
    254266                                        if($bvnr == $altbvnr) { // gleiches Grundstueck 
     
    261273                                        } 
    262274                                echo "</td>"; 
    263  
    264275                                echo "\n\t<td class='dien'>"; // Sp.2 Buchung 
    265276                                        if ($showkey) { 
     
    267278                                        } 
    268279                                echo $ba." an</td>"; 
    269  
    270280                                echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil 
    271  
    272281                                echo "\n\t<td class='dien'>"; // Sp.4 Gemarkg. hier Bezirk 
    273282                                        if ($showkey) { 
     
    276285                                        echo $beznam; 
    277286                                echo "</td>"; // Sp.4 hier Bezirk 
    278  
    279287                                echo "\n\t<td class='dien'>"; // Sp. 5 Blatt 
    280288                                        echo $fbblatt; // Sp.6 BVNR 
     
    283291                                        } 
    284292                                echo "</td>"; 
    285  
    286293                                echo "\n\t<td class='dien'>"; // BVNR 
    287294                                        echo str_pad($lfdnran, 4, "0", STR_PAD_LEFT); 
     
    291298 
    292299                                echo "</td>";  
    293  
    294300                                echo "\n\t<td class='dien'>"; // Sp.7 Buchungsart 
    295301                                        if ($showkey) { 
     
    298304                                        echo $baan." "; 
    299305                                echo "</td>"; 
    300  
    301306                                echo "\n\t<td>";  // Sp.8 Link ("an" oder "zu" ?) 
    302307                                        echo "<p class='nwlink'>".$rowan["beziehungsart"]; 
     
    309314                                        echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a></p>"; 
    310315                                echo "</td>"; 
    311  
    312316                        echo "\n</tr>";  
    313317 
    314318                        // 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 
    315                 //      $aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, $baan, $anteil, false); 
    316319                        // Buchungsart wird nur in erster Zeile ausgegeben, hier leer 
    317320                   $aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, "", $anteil, false); // return = Anzahl der FS 
    318  
    319321                        // +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt?? 
    320322                        if ($rowan["nrap"] != "") { 
     
    328330                                echo "\n</tr>"; 
    329331                        } 
    330  
    331332                        $a++; 
    332                         /*      Zeile ganz raus 
    333                         if ($aj == 0) { // KEINE Flurstuecke gefunden 
    334                                 echo "\n<tr>"; // die Buchung ausgeben, auch ohne Flurstuecke 
    335                                         echo"\n\t<td></td>"; 
    336                                         echo "\n\t<td>"; // Sp.2 Buchung 
    337                                                 if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span> ";} 
    338                                                 echo $baan; 
    339                                         echo "</td>";  
    340                                         echo "\n\t<td></td>"; 
    341                                         echo "\n\t<td colspan=4>"; // Gemarkg, Flur, Flurst, Flaeche 
    342                                                 echo "<p class='warn'>(keine Flurst&uuml;cke)"; 
    343                                         echo "</td>"; 
    344                                         echo "\n\t<td></td>"; 
    345                                 echo "\n</tr>"; 
    346                         }  
    347                         */ 
    348333                } 
    349334                if ($a == 0) { 
     
    361346        } 
    362347        $i++;  
    363  
    364         // Nummer im Aufteilungsplan 
    365         if ($row["nrap"] != "") { 
     348        if ($row["nrap"] != "") { // Nummer im Aufteilungsplan 
    366349                echo "\n<tr>"; 
    367350                        echo "\n\t<td class='nrap' colspan=8>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td>"; 
    368351                echo "\n</tr>"; 
    369352        } 
    370         // Sondereigentumsbeschreibung 
    371         if ($row["sond"] != "") { 
     353        if ($row["sond"] != "") { // Sondereigentumsbeschreibung 
    372354                echo "\n<tr>"; 
    373355                        echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>"; 
     
    375357        } 
    376358} // Ende Buchungsstelle 
    377  
    378359echo "\n</table>"; 
    379360 
     
    382363        linkgml($gkz, $gmlid, "Buchungsblatt"); 
    383364} 
    384  
    385365        // b e r e c h t i g t e  Grundbuecher (Buchungsblatt)  
    386366        // mit Recht "an"/"zu" dem aktuellen fiktiven GB 
     
    391371        $sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, "; 
    392372        $sql.="vs.beziehungsart, "; 
    393  
    394373        $sql.="sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, ";  // berechtigte Buchungsstelle 
    395  
    396         $sql.=" bz.bezeichnung AS beznam, "; // Bezirk 
    397         $sql.=" ag.bezeichnung, ag.stelle, ag.stellenart "; // Amtsgericht 
    398  
    399         $sql.="FROM alkis_beziehungen vf ";                                                                                     // Verbindung fiktiv 
     374        $sql.=" bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart "; // Bezirk, Amtsgericht 
     375        $sql.="FROM alkis_beziehungen vf ";     // Verbindung fiktiv 
    400376        $sql.="JOIN ax_buchungsstelle sf ON sf.gml_id = vf.beziehung_von ";     // Stelle fiktiv 
    401377        $sql.="JOIN alkis_beziehungen vs ON sf.gml_id = vs.beziehung_zu ";      // Verbindung Stellen 
    402         $sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von "; // Stelle berechtigt 
     378        $sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von ";     // Stelle berechtigt 
    403379        $sql.="JOIN alkis_beziehungen vb ON sb.gml_id = vb.beziehung_von ";     // Verbindung berechtigt 
    404380        $sql.="JOIN ax_buchungsblatt  bb ON bb.gml_id = vb.beziehung_zu ";      // Blatt berechtigt 
     
    415391        $resb = pg_prepare("", $sql); 
    416392        $resb = pg_execute("", $v); 
    417  
    418393        if (!$resb) { 
    419394                echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter:'<br>".$sql."</p>\n"; 
    420395        } 
    421  
    422396        $b=0; // count: Blaetter 
    423397        while($rowb = pg_fetch_array($resb)) { 
    424398                if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
    425  
    426399                        echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n"; 
    427  
    428                         // Tabelle Kopf ausgeben 
    429400                        echo "\n<table class='outer'>"; 
    430                         echo "\n<tr>"; 
     401                        echo "\n<tr>"; // Tabelle Kopf 
    431402                                echo "\n\t<td class='head'>Land</td>"; 
    432403                                echo "\n\t<td class='head'>Dienststelle</td>"; 
     
    438409                        echo "\n</tr>"; 
    439410                } 
    440  
    441                 $gml_b=$rowb["gml_id"];                 // id des berechtigten Blattes 
    442                 $gml_s=$rowb["gml_s"];                  // id der berechtigten Buchungsstelle 
     411                $gml_b=$rowb["gml_id"];         // id des berechtigten Blattes 
     412                $gml_s=$rowb["gml_s"];          // id der berechtigten Buchungsstelle 
    443413                $blart=$rowb["blattart"]; 
    444                 $buch=$rowb["buchungsart"];     // Buchungsart Stelle berechtigt 
    445                 $bart=$rowb["bart"];                            // Buchungsart entschluesselt 
     414                $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt 
     415                $bart=$rowb["bart"];                    // Buchungsart entschluesselt 
    446416                $lfdnr=$rowb["lfdnr"]; 
    447417                $bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
     
    449419                echo "\n<tr>"; 
    450420                        echo "\n\t<td>".$rowb["land"]."</td>"; 
    451  
    452421                        echo "\n\t<td>"; // Amtsgericht 
    453422                                echo dienststellenart($rowb["stellenart"])." "; 
     
    457426                                echo $rowb["bezeichnung"]; 
    458427                        echo "</td>"; 
    459  
    460428                        echo "\n\t<td>"; 
    461429                                if ($showkey) { 
     
    464432                                echo $rowb["beznam"]; 
    465433                        echo "</td>"; 
    466  
    467434                        echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>"; 
    468435                                if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt");} 
    469436                        echo "</td>"; 
    470  
    471437                        echo "\n\t<td>".$bvnr; 
    472438                                if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle");} 
    473439                        echo "</td>"; 
    474  
    475440                        echo "\n\t<td>"; 
    476441                                if ($showkey) { 
     
    479444                                echo $bart; 
    480445                        echo "</td>"; 
    481  
    482446                        echo "\n\t<td>"; 
    483447                                echo "\n\t\t<p class='nwlink'>"; 
     
    494458                $b++; 
    495459        } 
    496  
    497460        if ($b == 0) { 
    498461                if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000 
Note: See TracChangeset for help on using the changeset viewer.