Ignore:
Timestamp:
09/10/14 12:08:18 (10 years ago)
Author:
frank.jaeger
Message:

Umstellung von PostNAS 0.7 auf PostNAS 0.8, ohne Tabelle "alkis_beziehungen".

File:
1 edited

Legend:

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

    r315 r330  
    33 
    44        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    5         Bestandsnachweis fuer ein Grundbuch aus ALKIS PostNAS 
     5        Bestandsnachweis fÃŒr ein Grundbuch aus ALKIS PostNAS 
    66 
    77        Version: 
    8         2011-11-17  Parameter der Functions geÀndert 
    9         2011-11-22  Feldname land in ax_buchungsblattbezirk geÀndert 
    10         2011-11-30  import_request_variables 
    11         2012-07-24  Export CSV 
    12         2013-04-08  deprecated "import_request_variables" ersetzt 
    13  
    14         ToDo: 
    15         Zahler fuer Anzahl GB und FS in der Liste (ausgeben wenn > 10) 
     8        2011-11-17 Parameter der Functions geÀndert 
     9        2011-11-22 Feldname land in ax_buchungsblattbezirk geÀndert 
     10        2011-11-30 import_request_variables 
     11        2012-07-24 Export CSV 
     12        2013-04-08 deprecated "import_request_variables" ersetzt 
     13        2014-09-10 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     14        2014-09-10 Bei Relationen den Timestamp abschneiden 
     15 
     16        ToDo: ZÀhler fuer Anzahl FS in der Liste 
    1617*/ 
    1718session_start(); 
     
    5152 
    5253// G R U N D B U C H 
    53 // Direkter JOIN zwischen den "ax_buchungsblattbezirk" und "ax_dienststelle". 
    54 // Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle". 
    55 //      Bei JOIN ueber alkis_beziehungen entgegen Dokumentation keine Verbindung gefunden. 
    56 $sql ="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt 
    57 $sql.="b.gml_id, b.bezirk, b.bezeichnung AS beznam, "; // Bezirk 
    58 $sql.="a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart "; // Amtsgericht 
    59 $sql.="FROM ax_buchungsblatt g "; 
    60 $sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ 
    61 $sql.="LEFT JOIN ax_dienststelle a ON b.land = a.land AND b.stelle = a.stelle "; 
    62 $sql.="WHERE g.gml_id= $1 "; 
    63 $sql.="AND a.stellenart=1000;"; // Amtsgericht 
     54$sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart,  
     55b.gml_id, b.bezirk, b.bezeichnung AS beznam, a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart  
     56FROM ax_buchungsblatt g LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
     57LEFT JOIN ax_dienststelle a ON b.land=a.land AND b.stelle=a.stelle  
     58WHERE g.gml_id= $1 AND a.stellenart=1000 AND g.endet IS NULL AND a.endet IS NULL;"; 
    6459 
    6560$v = array($gmlid); 
     
    7267} 
    7368if ($row = pg_fetch_array($res)) { 
    74         $blattkey=$row["blattart"]; // Schluessel 
     69        $blattkey=$row["blattart"]; 
    7570        $blattart=blattart($blattkey); 
    7671        echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; // Balken 
    7772        echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>"; 
    78         echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennzeichen im Rahmen 
     73        echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennz. im Rahmen 
    7974                if ($blattkey == 1000) { 
    8075                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     
    10297 
    10398                echo "\n\n\t</td>\n\t<td>"; 
    104                 if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt");} 
     99                if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt", "");} 
    105100        echo "\n\t</td>\n</tr>\n</table>"; 
    106101} 
     
    111106        echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
    112107        $n = eigentuemer($con, $gmlid, true, ""); // MIT Adressen. 
    113         if ($n == 0) { // keine Namensnummer, kein Eigentuemer 
     108        if ($n == 0) { // keine NamensNr, kein Eigentuemer 
    114109                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 
    115110                echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>"; 
    116                 linkgml($gkz, $gmlid, "Buchungsblatt"); 
     111                linkgml($gkz, $gmlid, "Buchungsblatt", ""); 
    117112        } 
    118113} 
    119114 
    120115// Vorab pruefen, ob Sonderfall "Rechte an .." vorliegt. 
    121 if ($blattkey == 1000) { // Grundbuchblatt 
    122         $sql ="SELECT count(z.laufendenummer) AS anzahl "; 
    123         $sql.="FROM alkis_beziehungen v "; 
    124         $sql.="JOIN ax_buchungsstelle s ON v.beziehung_von=s.gml_id "; // Blatt 
    125         $sql.="JOIN alkis_beziehungen x ON x.beziehung_von=s.gml_id ";  
    126         $sql.="JOIN ax_buchungsstelle z ON x.beziehung_zu=z.gml_id "; // andere B-Stelle 
    127         $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' AND (x.beziehungsart='an' OR x.beziehungsart='zu');"; 
    128         $v=array($gmlid); 
     116if ($blattkey == 1000) { // GB-Blatt  <istBestandteilVon<  sh=herrschend  >an>  sd=dienend 
     117        $sql="SELECT count(sd.laufendenummer) AS anzahl 
     118        FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (substring(sd.gml_id,1,16)=ANY(sh.an) OR substring(sd.gml_id,1,16)=ANY(sh.zu))  
     119        WHERE sh.istbestandteilvon= $1 AND sd.endet IS NULL AND sh.endet IS NULL;"; 
     120 
     121        $v=array($gmlid); // GB-Blatt 
    129122        $res=pg_prepare("", $sql); 
    130123        $res=pg_execute("", $v); 
     
    166159 
    167160// Blatt ->  B u c h u n g s s t e l l e 
    168 // ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle  
    169 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, "; 
    170 $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart "; 
    171 $sql.="FROM ax_buchungsstelle s "; 
    172 $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von ";  
    173 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert "; 
    174 $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' "; 
    175 $sql.="ORDER BY s.laufendenummer;"; 
     161// aktuelles ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle  
     162$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart  
     163FROM ax_buchungsstelle s LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart=b.wert  
     164WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);"; 
    176165 
    177166$v=array($gmlid); 
     
    184173} 
    185174$i=0; 
     175$fscnt=0; 
    186176while($row = pg_fetch_array($res)) { 
    187177        $lfdnr  = $row["lfd"]; 
     
    196186        } 
    197187        // F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle 
    198    $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, true); // return = Anzahl der FS 
    199  
     188        $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, true); // return=Anzahl der FS 
     189        $fscnt=$fscnt + $j; 
    200190        if ($j == 0) { //  k e i n e  Flurstuecke gefunden (Miteigentumsnteil usw.) 
    201191                // Bei "normalen" Grundstuecken wurden Flurstuecksdaten gefunden und ausgegeben. 
    202192                // Bei Miteigentumsanteil, Erbbaurecht usw. muss nach weiteren Buchungsstellen gesucht werden: 
    203                 //  Buchungsstelle >an/zu> (andere)Buchungsstelle >istBestandTeilVon>  "FiktivesBlatt (ohne) Eigentuemer" 
     193                //  Buchungsstelle >an/zu> (andere)Buchungsstelle >istBestandTeilVon> "FiktivesBlatt (ohne) Eigentuemer" 
    204194 
    205195                // andere Buchungsstellen 
    206                 //  ax_buchungsstelle  >zu>  ax_buchungsstelle (des gleichen Blattes) 
    207                 //  ax_buchungsstelle  >an>  ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 
    208  
    209                 // aktuelles Blatt (herrschendes GB) hat Recht "an" fiktives Blatt (dienendes GB-Blatt) 
    210                 // a n d e r e  Buchungsstelle 
    211                 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, "; 
    212                 $sql.="v.beziehungsart, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner AS bart "; 
    213                 $sql.="FROM ax_buchungsstelle s "; 
    214                 $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_zu ";  
    215                 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert "; 
    216                 $sql.="WHERE v.beziehung_von= $1 "; // id buchungsstelle (fiktives Blatt) 
    217                 $sql.="AND (v.beziehungsart='an' OR v.beziehungsart='zu') "; 
    218                 $sql.="ORDER BY s.laufendenummer;"; 
     196                //  ax_buchungsstelle >zu> ax_buchungsstelle (des gleichen Blattes) 
     197                //  ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 
     198                //  sh=herrschend          sd=dienend 
     199                $sql ="SELECT sd.gml_id, sd.buchungsart, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, b.bezeichner AS bart "; 
     200                $sql.="FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu)) ";  
     201                $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON sd.buchungsart=b.wert "; 
     202                $sql.="WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL ORDER BY sd.laufendenummer;"; 
     203 
    219204                $v=array($gml_bs); 
    220205                $resan=pg_prepare("", $sql); 
    221206                $resan=pg_execute("", $v); 
    222                 //$resan=pg_query($con,$sql); 
    223207                if (!$resan) { 
    224208                        echo "<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>\n"; 
    225                         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";} 
     209                        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    226210                } 
    227                 $a=0; // count: andere BS 
     211                $a=0; // count 
    228212                $altbvnr=""; // Gruppenwechsel 
    229213                while($rowan = pg_fetch_array($resan)) { 
     
    235219                        // dienendes Grundbuch 
    236220                        $sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, z.bezeichnung AS beznam "; 
    237                         $sql.="FROM ax_buchungsblatt  b "; 
    238                         $sql.="JOIN alkis_beziehungen v ON b.gml_id=v.beziehung_zu "; 
     221                        $sql.="FROM ax_buchungsblatt b JOIN ax_buchungsstelle s ON substring(b.gml_id,1,16)=s.istbestandteilvon "; 
    239222                        $sql.="LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk "; 
    240                         $sql.="WHERE v.beziehung_von= $1 "; 
    241                         $sql.="AND v.beziehungsart='istBestandteilVon' "; 
    242                         $sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
     223                        $sql.="WHERE s.gml_id= $1 AND b.endet IS NULL ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    243224                        $v=array($gml_bsan); 
    244225                        $fbres=pg_prepare("", $sql); 
    245226                        $fbres=pg_execute("", $v); 
    246                         //$fbres=pg_query($con,$sql); 
    247227                        if (!$fbres) { 
    248228                                echo "<p class='err'>Fehler bei fiktivem Blatt.</p>\n"; 
    249                                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}                    
     229                                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}                      
    250230                        } 
    251231                        $b=0; 
     
    271251                                                echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke 
    272252                                                echo "<span class='wichtig'>".$bvnr."</span>"; // Sp.1 Erbbau BVNR 
    273                                                 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");} 
     253                                                if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} 
    274254                                                $altbvnr = $bvnr; // Gruppenwechsel merken 
    275255                                        } 
     
    290270                                        echo $fbblatt; // Sp.6 BVNR 
    291271                                        if ($idanzeige) { 
    292                                                 linkgml($gkz, $fbgml, "Buchungsblatt"); 
     272                                                linkgml($gkz, $fbgml, "Buchungsblatt", ""); 
    293273                                        } 
    294274                                echo "</td>"; 
     
    296276                                        echo str_pad($lfdnran, 4, "0", STR_PAD_LEFT); 
    297277                                        if ($idanzeige) { 
    298                                                 linkgml($gkz, $gml_bsan, "Buchungsstelle"); 
     278                                                linkgml($gkz, $gml_bsan, "Buchungsstelle", "ax_buchungsstelle"); 
    299279                                        } 
    300280 
     
    307287                                echo "</td>"; 
    308288                                echo "\n\t<td>";  // Sp.8 Link ("an" oder "zu" ?) 
    309                                         echo "<p class='nwlink'>".$rowan["beziehungsart"]; 
     289                                        echo "<p class='nwlink'>an/zu"; //.$rowan["beziehungsart"] Feld gibt es nicht mehr 
    310290                                        echo " <a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml; 
    311291                                                if ($idanzeige) {echo "&amp;id=j";} 
     
    320300                        // 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 
    321301                        // Buchungsart wird nur in erster Zeile ausgegeben, hier leer 
    322                    $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false); // return = Anzahl der FS 
    323                                     
    324                         // +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt?? 
     302                        $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false); // return=Anz.FS 
     303                        $fscnt=$fscnt + $aj; 
     304                        // +++ Gibt es Sondereigentum beim fiktiven Blatt? 
    325305                        if ($rowan["nrap"] != "") { 
    326306                                echo "\n<tr>"; 
     
    339319                                echo "\n\t<td><span class='wichtig'>".$bvnr."</span>"; 
    340320                                if ($idanzeige) { 
    341                                         linkgml($gkz, $gml_bs, "Buchungsstelle"); 
     321                                        linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle"); 
    342322                                } 
    343323                                echo "</td>"; 
     
    349329        } 
    350330        $i++;  
    351         if ($row["nrap"] != "") { // Nummer im Aufteilungsplan 
     331        if ($row["nrap"] != "") { // Nr im Auft.Plan 
    352332                echo "\n<tr>"; 
    353333                        echo "\n\t<td class='nrap' colspan=8>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td>"; 
     
    358338                        echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>"; 
    359339                echo "\n</tr>"; 
    360         } 
    361 } // Ende Buchungsstelle 
     340        } // Ende Buchungsstelle/BVNR 
     341} // Ende Loop 
    362342echo "\n</table>"; 
    363343 
    364344if ($i == 0) { 
    365345        echo "\n<p class='err'>Keine Buchung gefunden.</p>\n"; 
    366         linkgml($gkz, $gmlid, "Buchungsblatt"); 
    367 } 
    368         // b e r e c h t i g t e  Grundbuecher (Buchungsblatt)  
    369         // mit Recht "an"/"zu" dem aktuellen fiktiven GB 
    370  
    371         // bf              vf          sf       vs   sb                 vb            bb 
    372         // Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt 
    373         // Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt 
    374         $sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, "; 
    375         $sql.="vs.beziehungsart, "; 
    376         $sql.="sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, ";  // berechtigte Buchungsstelle 
    377         $sql.=" bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart "; // Bezirk, Amtsgericht 
    378         $sql.="FROM alkis_beziehungen vf ";     // Verbindung fiktiv 
    379         $sql.="JOIN ax_buchungsstelle sf ON sf.gml_id = vf.beziehung_von ";     // Stelle fiktiv 
    380         $sql.="JOIN alkis_beziehungen vs ON sf.gml_id = vs.beziehung_zu ";      // Verbindung Stellen 
    381         $sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von ";     // Stelle berechtigt 
    382         $sql.="JOIN alkis_beziehungen vb ON sb.gml_id = vb.beziehung_von ";     // Verbindung berechtigt 
    383         $sql.="JOIN ax_buchungsblatt  bb ON bb.gml_id = vb.beziehung_zu ";      // Blatt berechtigt 
    384         $sql.="LEFT JOIN ax_buchungsblattbezirk bz ON bb.land = bz.land AND bb.bezirk = bz.bezirk "; 
    385 //      $sql.="LEFT JOIN ax_dienststelle ag ON bz.\"gehoertzu|ax_dienststelle_schluessel|land\" = ag.land AND bz.stelle=ag.stelle "; 
    386         $sql.="LEFT JOIN ax_dienststelle ag ON bz.land = ag.land AND bz.stelle=ag.stelle ";      
    387         $sql.="LEFT JOIN ax_buchungsstelle_buchungsart ba ON sb.buchungsart = ba.wert "; 
    388         $sql.="WHERE vf.beziehung_zu= $1 "; 
    389         $sql.="AND  vf.beziehungsart='istBestandteilVon' "; 
    390         $sql.="AND (vs.beziehungsart='an' OR vs.beziehungsart='zu') "; 
    391         $sql.="AND  vb.beziehungsart= 'istBestandteilVon' "; 
    392         $sql.="ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;"; 
    393  
    394         $v = array($gmlid); 
    395         $resb = pg_prepare("", $sql); 
    396         $resb = pg_execute("", $v); 
    397         if (!$resb) { 
    398                 echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter:'<br>".$sql."</p>\n"; 
    399                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    400         } 
    401         $b=0; // count: Blaetter 
    402         while($rowb = pg_fetch_array($resb)) { 
    403                 if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
    404                         echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n"; 
    405                         echo "\n<table class='outer'>"; 
    406                         echo "\n<tr>"; // Tabelle Kopf 
    407                                 echo "\n\t<td class='head'>Land</td>"; 
    408                                 echo "\n\t<td class='head'>Dienststelle</td>"; 
    409                                 echo "\n\t<td class='head'>Bezirk</td>"; 
    410                                 echo "\n\t<td class='head'>Blatt</td>"; 
    411                                 echo "\n\t<td class='head'>BVNR</td>"; // Neu 
    412                                 echo "\n\t<td class='head'>Buchungsart</td>"; // Neu 
    413                                 echo "\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>"; 
    414                         echo "\n</tr>"; 
    415                 } 
    416                 $gml_b=$rowb["gml_id"];         // id des berechtigten Blattes 
    417                 $gml_s=$rowb["gml_s"];          // id der berechtigten Buchungsstelle 
    418                 $blart=$rowb["blattart"]; 
    419                 $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt 
    420                 $bart=$rowb["bart"];                    // Buchungsart entschluesselt 
    421                 $lfdnr=$rowb["lfdnr"]; 
    422                 $bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    423  
    424                 echo "\n<tr>"; 
    425                         echo "\n\t<td>".$rowb["land"]."</td>"; 
    426                         echo "\n\t<td>"; // Amtsgericht 
    427                                 echo dienststellenart($rowb["stellenart"])." "; 
    428                                 if ($showkey) { 
    429                                         echo "<span class='key'>".$rowb["stelle"]."</span> "; 
    430                                 } 
    431                                 echo $rowb["bezeichnung"]; 
    432                         echo "</td>"; 
    433                         echo "\n\t<td>"; 
    434                                 if ($showkey) { 
    435                                         echo "<span class='key'>".$rowb["bezirk"]."</span> "; 
    436                                 } 
    437                                 echo $rowb["beznam"]; 
    438                         echo "</td>"; 
    439                         echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>"; 
    440                                 if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt");} 
    441                         echo "</td>"; 
    442                         echo "\n\t<td>".$bvnr; 
    443                                 if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle");} 
    444                         echo "</td>"; 
    445                         echo "\n\t<td>"; 
    446                                 if ($showkey) { 
    447                                         echo "<span class='key'>".$buch."</span> "; 
    448                                 } 
    449                                 echo $bart; 
    450                         echo "</td>"; 
    451                         echo "\n\t<td>"; 
    452                                 echo "\n\t\t<p class='nwlink'>"; 
    453                         //      echo $rowb["beziehungsart"]." "; // "an"/"zu" ? 
    454                                 echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b."#bvnr".$lfdnr; 
    455                                         if ($idanzeige) {echo "&amp;id=j";} 
    456                                         if ($showkey)   {echo "&amp;showkey=j";} 
    457                                         echo "' title='Nachweis des berechtigten Blattes ".$rowb["beziehungsart"]." ".$blattart."'>"; 
    458                                         echo blattart($blart); 
    459                                         echo " \n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>"; 
    460                                 echo "\n\t\t</p>"; 
    461                         echo "</td>"; 
     346        linkgml($gkz, $gmlid, "Buchungsblatt", ""); 
     347} else { 
     348        if ($i > 5 and $fscnt > 5) { // nur wenn nicht auf einen Blick zu erkennen 
     349                echo "\n<p class='dbg'>".$i." Buchungen mit ".$fscnt." Flurst&uuml;cken</p>\n"; 
     350        } 
     351} 
     352 
     353// b e r e c h t i g t e  Grundbuecher (Buchungsblatt)  
     354// mit Recht "an"/"zu" dem aktuellen fiktiven GB 
     355 
     356// bf              vf          sf       vs   sb                 vb            bb 
     357// Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt 
     358// Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt 
     359$sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart,  
     360sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart  
     361FROM ax_buchungsstelle sf JOIN ax_buchungsstelle sb ON (substring(sf.gml_id,1,16)=ANY(sb.an) OR substring(sf.gml_id,1,16)=ANY(sb.zu))  
     362JOIN ax_buchungsblatt bb ON substring(bb.gml_id,1,16)=sb.istbestandteilvon  
     363LEFT JOIN ax_buchungsblattbezirk bz ON bb.land=bz.land AND bb.bezirk=bz.bezirk  
     364LEFT JOIN ax_dienststelle ag ON bz.land=ag.land AND bz.stelle=ag.stelle  
     365LEFT JOIN ax_buchungsstelle_buchungsart ba ON sb.buchungsart=ba.wert  
     366WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;"; 
     367 
     368$v = array($gmlid); 
     369$resb = pg_prepare("", $sql); 
     370$resb = pg_execute("", $v); 
     371if (!$resb) { 
     372        echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter.</p>\n"; 
     373        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     374} 
     375$b=0; // count: Blaetter 
     376while($rowb = pg_fetch_array($resb)) { 
     377        if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
     378                echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n"; 
     379                echo "\n<table class='outer'>"; 
     380                echo "\n<tr>"; // Tabelle Kopf 
     381                        echo "\n\t<td class='head'>Land</td>"; 
     382                        echo "\n\t<td class='head'>Dienststelle</td>"; 
     383                        echo "\n\t<td class='head'>Bezirk</td>"; 
     384                        echo "\n\t<td class='head'>Blatt</td>"; 
     385                        echo "\n\t<td class='head'>BVNR</td>"; // Neu 
     386                        echo "\n\t<td class='head'>Buchungsart</td>"; // Neu 
     387                        echo "\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>"; 
    462388                echo "\n</tr>"; 
    463                 $b++; 
    464         } 
    465         if ($b == 0) { 
    466                 if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000 
    467                         echo "<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>"; 
    468                 } 
    469         } else { 
    470                 echo "\n</table>"; 
    471         } 
    472  
     389        } 
     390        $gml_b=$rowb["gml_id"]; // id des berechtigten Blattes 
     391        $gml_s=$rowb["gml_s"]; // id der berechtigten Buchungsstelle 
     392        $blart=$rowb["blattart"]; 
     393        $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt 
     394        $bart=$rowb["bart"]; // Buchungsart entschluesselt 
     395        $lfdnr=$rowb["lfdnr"]; 
     396        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
     397 
     398        echo "\n<tr>"; 
     399                echo "\n\t<td>".$rowb["land"]."</td>"; 
     400                echo "\n\t<td>"; // Amtsgericht 
     401                        echo dienststellenart($rowb["stellenart"])." "; 
     402                        if ($showkey) { 
     403                                echo "<span class='key'>".$rowb["stelle"]."</span> "; 
     404                        } 
     405                        echo $rowb["bezeichnung"]; 
     406                echo "</td>"; 
     407                echo "\n\t<td>"; 
     408                        if ($showkey) { 
     409                                echo "<span class='key'>".$rowb["bezirk"]."</span> "; 
     410                        } 
     411                        echo $rowb["beznam"]; 
     412                echo "</td>"; 
     413                echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>"; 
     414                        if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt", "");} 
     415                echo "</td>"; 
     416                echo "\n\t<td>".$bvnr; 
     417                        if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle", "ax_buchungssstelle");} 
     418                echo "</td>"; 
     419                echo "\n\t<td>"; 
     420                        if ($showkey) { 
     421                                echo "<span class='key'>".$buch."</span> "; 
     422                        } 
     423                        echo $bart; 
     424                echo "</td>"; 
     425                echo "\n\t<td>"; 
     426                        echo "\n\t\t<p class='nwlink'>"; 
     427                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b."#bvnr".$lfdnr; 
     428                                if ($idanzeige) {echo "&amp;id=j";} 
     429                                if ($showkey)   {echo "&amp;showkey=j";} 
     430                                echo "' title='Nachweis des berechtigten Blattes an ".$blattart."'>"; // oder "zu" statt "an" 
     431                                echo blattart($blart); 
     432                                echo " \n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>"; 
     433                        echo "\n\t\t</p>"; 
     434                echo "</td>"; 
     435        echo "\n</tr>"; 
     436        $b++; 
     437} 
     438if ($b == 0) { 
     439        if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000 
     440                echo "<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>"; 
     441        } 
     442} else { 
     443        echo "\n</table>"; 
     444} 
    473445?> 
    474446 
Note: See TracChangeset for help on using the changeset viewer.