Fehler bei Amtsgerichte
"; #if ($debug >= 3) {echo "\n".$sql."
";} return 0; } $cnt = 0; while($row = pg_fetch_array($res)) { // Loop AG $anr=$row["stelle"]; $ag=$row["ag"]; zeile_ag ($ag, $anr, $aktuell); $cnt++; } // Foot if($cnt == 0){ echo "\nKein Amtsgericht aus Liste ".$$liste_ag.".
"; } elseif ($cnt >= $linelimit) { echo "\n".$cnt." Amtsgerichte ... und weitere
"; } elseif ($cnt > 1) { echo "\n".$cnt." Amtsgerichte
"; } return 0; } function ListGBBez($agkey) { // Grundbuch-Bezirke zu einem Amtsgericht auflisten. // Auch wenn Blätter da sind, kann es eine Sackgasse sein. // Manchmal haben die Blätter keine Flurstücke im Filter-Bereich global $debug; $linelimit=100; // Bezirke/AG // Head ListAG("'".$agkey."'", true); // hier nur für 1 // Body $sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; $sql.="WHERE a.stelle = $1 AND a.stellenart = 1000 "; // Diese Subquery stellt sicher, dass nur Bezirke aufgelistet werden, die auch Blätter enthalten: $sql.="AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land and b.bezirk=g.bezirk LIMIT 1) IS NULL "; $sql.="ORDER BY g.bezeichnung LIMIT $2 ;"; $v = array($agkey, $linelimit); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) { echo "\nFehler bei Grundbuch-Bezirk
"; #if ($debug >= 3) {echo "\n".$sql."
";} return 0; } $cnt = 0; while($row = pg_fetch_array($res)) { // Loop BEZIRK $gnam=$row["bezeichnung"]; $gnr=$row["bezirk"]; zeile_gbbez($gnam, $gnr, false); $cnt++; } // Foot if($cnt == 0){ echo "\nKein Bezirk mit Blättern.
"; } elseif ($cnt >= $linelimit) { echo "\n".$cnt." Bezirke ... und weitere
"; } elseif($cnt > 1) { echo "\n".$cnt." Bezirke
"; // im Limit } return; } function ag_bez_head($gbbez, $bezaktuell) { // Zu einem Grundbuchbezirks-Schlüssel die Zeilen AG und Bezirk ausgeben // Parameter = Schlüssel des Bezirks #global $debug; $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 LIMIT 1;"; $v=array($gbbez); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\nFehler bei Amtsgericht und Grundbuchbezirk.
"; #if ($debug >= 3) {echo "\n".$sql."
";} } $row = pg_fetch_array($res); if ($row) { $gnam=$row["bezeichnung"]; // GB-Bezirk Bezeichnung $ag=$row["ag"]; // AG Bezeichnung $anr=$row["stelle"]; // AG Key zeile_ag($ag, $anr, false); // Amtsgericht zeile_gbbez($gnam, $gbbez, $bezaktuell); // Bezirk } else { echo "\n"; echo " Bezirk '".$gbbez."' ist unbekannt.
"; echo "\nFehler bei Grundbuch-Bezirk
"; return 1; } $cnt=0; $gwag=""; while($row = pg_fetch_array($res)) { // Loop BEZIRK $anr=$row["stelle"]; // Gruppierung AG if ($gwag != $anr) { $gwag = $anr; $ag=$row["ag"]; zeile_ag($ag, $anr, false); } $gnam=$row["bezeichnung"]; $gnr=$row["bezirk"]; zeile_gbbez ($gnam, $gnr, false); $cnt++; } // Foot if($cnt == 0){ echo "\nKein Grundbuchbezirk.
"; } elseif ($cnt >= $linelimit) { echo "\n".$cnt." Bezirke ... und weitere
"; } elseif ($cnt == 1) { return $gnr; // Wenn eindeutig, gleich weiter } elseif ($cnt > 1) { echo "\n".$cnt." Bezirke
"; // im Limit } return; } function EinBezirk($showParent) { // Kennzeichen bestehend nur aus GB-Bezirk-Schlüssel wurde eingegeben global $gemeinde, $debug, $zgbbez, $auskpath; $linelimit=300; // max. Blatt je Bezirk // Dies Limit ist nicht ausreichend für alle Blätter eines Bezirks, aber ... // Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter. // Es nutzt also nichts, hier tausende Nummern aufzulisten. // +++ Blätter-Funktion einführen analog Modul _eig // Head if ($showParent) { ag_bez_head($zgbbez, true); // AG und BEZ ausgeben } // Body $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b "; $sql.="WHERE b.bezirk= $1 ORDER BY b.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;"; $v=array($zgbbez, $linelimit); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\nFehler bei Bezirk.
"; #if ($debug >= 3) {echo "\n".$sql."
";} } $cntbl=0; // Counter Blatt/Bezirk while($row = pg_fetch_array($res)) { // Loop BLATT $blatt=$row["blatt"]; $blattgml=$row["gml_id"]; zeile_blatt($zgbbez, $gnam, $blattgml, $blatt, false, "", false); $cntbl++; } // Foot if($cntbl == 0) { echo "\nKein Blatt im Bezirk.
"; } elseif($cntbl >= $linelimit) { echo "\n".$cntbl." Blätter ... und weitere
"; // +++ Hier oft überschritten! Blätter-Funktion einführen echo "\nGeben sie ein: '".$zgbbez."-999A'
wobei '999A' = gesuchtes GB-Blatt
".$cntbl." Blätter
"; // im Limit } return; } function gml_blatt() { // Kennzeichen "Bezirk + Blatt" eingegeben. Dazu die gml_id des Blattes ermitteln. global $debug, $zgbbez, $zblatt, $zblattn, $zblattz; $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b "; $sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung "; if ($zblattz == "") { // Ohne Buchstabenerweiterung: Formate '123','000123 ','0000123' $sql.="IN ('".$zblattn."','".str_pad($zblattn, 6, "0", STR_PAD_LEFT)." ','".str_pad($zblattn, 7, "0", STR_PAD_LEFT)."');"; } else { // Mit Buchstabenerweiterung: '000123A' $sql.="='".str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz."';"; } $v=array($zgbbez); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\nFehler bei Blatt (Kennzeichen).
"; return; } $cntbl=0; // Counter Blatt while($row = pg_fetch_array($res)) { $bl_gml=$row["gml_id"]; $zblatt=$row["blatt"]; // das tatsaechliche Format (mit/ohne fuehrende 0) $cntbl++; } if($cntbl == 0) { echo "\nGrundbuchblatt '".$zgbbez."-".$zblatt."' nicht gefunden.
"; } elseif ($cntbl == 1) { return $bl_gml; } return; } function EinBlatt($showParent) { // Kennzeichen Bezirk + Blatt wurde eingegeben oder verlinkt global $debug, $gemeinde, $zgbbez, $zblatt, $blattgml, $gbbeznam; // Head if ($showParent) { ag_bez_head($zgbbez, false); // AG + BEZ zeile_blatt ($zgbbez, $gbbeznam, $blattgml, $zblatt, false, "", true); } // Body // 2013-12-12 Limit von ursprünglich 200 weit hoch gesetzt GB_Buchung_FS(1000, $zgbbez."-".$zblatt); // Blatt -> Buchung -> Flurstueck (Limitiert) // ++ besser Limit wieder runter und "Blättern"-Funktion einführen return; } function gml_buchungsstelle() { // Kennzeichen "Bezirk + Blatt + BVNR" wurde eingegeben. // Dazu die gml_id der Buchungsstelle ermitteln, um "function EinGrundstueck" benutzen zu können. global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr; // Blatt -> B u c h u n g s s t e l l e $sql ="SELECT s.gml_id FROM ax_buchungsstelle s "; $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von "; $sql.="JOIN ax_buchungsblatt b ON b.gml_id=v.beziehung_zu "; $sql.="WHERE v.beziehungsart='istBestandteilVon' "; $sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung "; if ($zblattz == "") { // Ohne Buchstabenerweiterung //Formate '123','000123 ','0000123' $sql.="IN ('".$zblattn."','".str_pad($zblattn, 6, "0", STR_PAD_LEFT)." ','".str_pad($zblattn, 7, "0", STR_PAD_LEFT)."')"; } else { // Mit Buchstabenerweiterung: '000123A' $sql.="='".str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz."'"; } $sql.=" AND s.laufendenummer= $2 ;"; $v=array($zgbbez, $zbvnr); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\nFehler bei Buchungsstelle (Kennzeichen).
"; return; } $zbs=0; while($row = pg_fetch_array($res)) { $bs_gml=$row["gml_id"]; $zbs++; } if($zbs == 0) { echo "\nBuchung ".$zgbbez."-".$zblattn.$zblattz."-".$zbvnr." nicht gefunden.
"; return; } else { return $bs_gml; } } function EinGrundstueck($showParent) { // Die gml_id der Buchungsstelle (BVNR, Grundstück) ist bekannt = $buchunggml // Die gebuchten Flurstücke und dienende/herrschenden Buchungen werden ausgegeben. global $debug, $gemeinde, $epsg, $buchunggml, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter; // NoLimit? // Head if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben if ($zgbbez.$zblatt != "") { ag_bez_head($zgbbez, false); // AG + BEZ zeile_blatt ($zgbbez, $gnam, "", $zblatt, false, "", false); // $gnam leer lassen Knoten "Bezirk" steht drüber } else { echo "Kennzeichen Bezirk und Blatt nicht gesetzt
"; } // ++ suchen! zeile_buchung($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz, false, true); } // SQL-Bausteine // dienend $1 gml_id von // BuchungsstelleFehler bei Buchungsstelle (gml, direkt).
"; if ($debug >= 3) { echo "\n'".$sql."'
\nmit $1 ='".$buchunggml."'
Kein Flurstück direkt
"; } elseif($zfs1 > 1) { echo "\n".$zfs1." Flurstücke
"; } if($zfs1 > 0) { // wenn's was zu trennen gibt echo "Fehler bei Buchungsstelle (gml, Recht an).
"; if ($debug >= 3) { echo "\n'".$sql."'
\nmit $1 ='".$buchunggml."'
Kein Recht an Flst.
"; } elseif($zfs2 > 1) { echo "\n".$zfs2." Rechte an Flurst.
"; } return; } // =========== // Start hier! // =========== if(isset($epsg)) { $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]); } else { $epsg=$gui_epsg; // aus Conf } if ($gemeinde == "") { $gfilter = 0; // ungefiltert } elseif(strpos($gemeinde, ",") === false) { $gfilter = 1; // Einzelwert } else { $gfilter = 2; // Liste } // Auch wenn redundant: Das Kennzeichen für Anzeige und weitere Links zerlegen $kennztyp=ZerlegungGBKennz($gbkennz); // Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet? // Dann hat das Prioritaet, also *nicht* nach $gbkennz suchen. if ($buchunggml != "") { // gml der Buchungsstelle $trans="Flurstücke zur Buchungsstelle"; // Link EinGrundstueck(true); } elseif($blattgml != "") { // gml des GB-Blattes $trans="GB-Blatt mit Buchungen und Flst."; EinBlatt(true); } elseif($ag != "") { // Key des Amtsgerichtes $trans="GB-Bezirke zum Amtsgericht"; ListGBBez($ag); } else { // Eingabe im Formular switch ($kennztyp) { case 0: // keine Eingabe $trans="Liste der Amtsgerichte"; ListAG($ag_liste, false); break; case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke $trans="Bezirke suchen \"".$gbkennz."\""; $beznr=SuchGBBezName(); if ($beznr > 0) { // eindeutig $zgbbez=$beznr; $trans="Bezirk gefunden, Blätter dazu"; EinBezirk(false); // gleich weiter }; break; case 2: // Eingabe Bezirk-Nummer -> Liste der Blätter $trans="Blätter im GB-Bezirk"; EinBezirk(true); break; case 3: // Eingabe Blatt -> Liste der Buchungen $trans="Buchungen auf GB-Blatt"; $blattgml=gml_blatt(); // gml_id zum Blatt suchen if ($blattgml != "") { // gefunden if (EinBlatt(true) == 1) { // darauf genau eine Buchung $trans="GB-Blatt und 1 Buchung"; $buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen EinGrundstueck(false); } } break; case 4: // Eingabe Buchung (Grundstück) -> Liste der Flurstücke $buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen if ($buchunggml != "") { // .. wurde geliefert $trans="Flurstücke zur Buchungsstelle"; // Eingabe EinGrundstueck(true); // mit Backlink } else{ $trans="Suche Buchungsstelle"; } break; case 9: // Fehler $trans="fehlerhafte Eingabe"; echo "\nBitte ein gültiges Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll
"; break; } } // Titel im Kopf anzeigen echo " "; ?>