" // 1 row only
."\n"; // outer linke Spalte - Daten
// Rahmen mit Kennzeichen GB
if ($blattkeyber == 1000) {
echo "\n\t";
} else {
echo "\n\t"; // dotted
}
echo "\n\t"
."\n\t\tBezirk | "
."\n\t\t".$blattartber." | "
."\n\t\tLfd-Nr, | "
."\n\t\tBuchungsart | "
."\n\t ";
echo "\n\t"
."\n\t\t";
if ($showkey) {echo "".$rowan["bezirk"]." ";}
echo $beznam." | "
."\n\t\t".$rowan["blatt"]." | "
."\n\t\t".$rowan["lfd"]." | "
."\n\t\t";
if ($showkey) {echo "".$rowan["buchungsart"]." ";}
echo $rowan["bart"]
." | "
."\n\t "
."\n\t ";
if ($rowan["zaehler"] <> "") {
echo "\n\t".$rowan["zaehler"]."/".$rowan["nenner"]." Anteil am Flurstück ";
}
echo "\n";
echo "\n"; // outer rechte Spalte
if ($idanzeige) {
linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle");
echo " ";
linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", "");
}
echo "\n\t "
."\n\t";
if ($showkey) {echo "".$blattkeyber." ";}
echo "\n\t\t".$blattartber
." "
."";
echo "\n\t "
."\n\t | "
."\n"
."\n ";
if ($blattkeyber != 1000) {
echo "\nBlattart: ".$blattartber." (".$blattkeyber."). ";
}
if ($nrpl != "") {
echo "\n Nummer ".$nrpl." im Aufteilungsplan. ";
}
if ($sond != "") {
echo "\nVerbunden mit dem Sondereigentum ".$sond." ";
}
if ($eig == "j") {
$n = eigentuemer($rowan["g_gml"], true, ""); // mit Adresse
}
$an++;
}
pg_free_result($resber);
return;
}
function kurz_namnr($lang) {
// Namensnummer kürzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden
$kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende)
$kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang)
$kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang
$kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe
$kurz=rtrim($kurz); // Leerzeichen hinten
// echo "/n lang='".$lang."' /n kurz='".$kurz."' ";
return $kurz;
}
function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $bartkey, $bartstory) {
/* Bestandsnachweis - Flurstuecksdaten
Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben.
Die Funktion wird je einmal aufgerufen für die Buchungen direkt auf dem GB (Normalfall).
Weiterere Aufrufe ggf. bei Erbbaurecht für die mit "an" verknuepften Buchungsstellen.
Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */
global $debug, $gkz, $showkey, $filtkreis, $filtgem, $trclass; // $zpaar
// F L U R S T U E C K
$sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche
FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id
LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer
WHERE f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL AND s.gml_id= $1 ";
if ($filtgem == '' ) { // ungefiltert
$v=array($gml_bs);
} else {
$sql.="AND f.kreis = $2 AND f.gemeinde = $3 "; // Zuständiges Gebiet
$v=array($gml_bs, $filtkreis, $filtgem);
}
$sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
$resf = pg_prepare("", $sql);
$resf = pg_execute("", $v);
if (!$resf) {echo "\nFehler bei Flurstück ";}
if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben
$bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
} else {
$bvnr="";
}
$altbvnr="";
$j=0;
while($rowf = pg_fetch_array($resf)) {
$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
$fskenn=$rowf["zaehler"];
if ($rowf["nenner"] != "") { // Bruch
$fskenn.="/".$rowf["nenner"];
}
$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²";
echo "\n |
";
}
$gmlnn=$rown["gml_id"];
$namnum=kurz_namnr($rown["lfd"]);
$rechtsg=$rown["adr"];
echo "\n"
."\n\t\n\t\t " // Sp. 1
.$namnum." " // VOR die Tabelle: "Eigentümer"
." \n\t | "
. "\n\t"; // Sp. 2
if ($rechtsg != "" ) {
if ($rechtsg == 9999) { // sonstiges
echo "\n\t\t ".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")." ";
} else {
echo "\n\t\t".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")." ";
}
}
//if ($rown["anlass"] > 0 ) {echo "Anlass=".$rown["anlass"]." ";} // TEST:
// Schleife Ebene 2: andere Namensnummern
// Beziehung ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer
// Die Relation 'Namensnummer' besteht aus Rechtsverhältnissen zu 'Namensnummer' sagt aus,
// dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.
// Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer,
// die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.
// Schleife 2: P e r s o n
// Beziehung: ax_person Fehler bei Person";
if ($debug > 2) {echo "\nSQL= ".$sqlp." $1=gml= '".$gmlpers."' ";}
}
$i=0; // cnt Person
while($rowp = pg_fetch_array($resp)) { // Schleife weglassen? nn >benennt> Person ist KEIN Array!
$diePerson=""; //++ Anrede?
if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";}
$diePerson.=$rowp["nachnameoderfirma"];
if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];}
if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];}
if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];}
if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];}
$diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
if ($i > 0) { // Spalte 1 enthält die Namensnummer, nur in Zeile 0
echo "\n\n\t | \n\t";
}
// Spalte 2 = Angaben
$eiartkey=$rown["eigentuemerart"]; // Key
$eiart=$rown["eiartv"]; // Value
echo "\n\t\t ".$diePerson." \n\t | ";
// Spalte 3 = Link
echo "\n\t\n\t\t ";
if ($showkey AND $eiartkey != '') { // oft leer
echo "".$eiartkey." ";
}
echo "\n\t\t\t".$eiart
." \n\t\t "
."\n\t | \n ";
if ($mitadresse) {
// Schleife 3: A d r e s s e (OPTIONAL)
$sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "
."FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL ORDER BY a.beginnt DESC LIMIT 2;";
$gmlp=$rowp["gml_id"]; // Person
$v = array($gmlp);
$resa = pg_prepare("", $sqla);
$resa = pg_execute("", $v);
if (!$resa) {
echo "\n\tFehler bei Adressen ";
if ($debug > 2) {echo "\nSQL= ".$sqla." $1=gml= '".$gmlp."' ";}
}
$j=0;
while($rowa = pg_fetch_array($resa)) {
$j++;
if ($j == 1) { // erste ("jüngste") Adresse anzeigen
$gmla=$rowa["gml_id"];
$plz=$rowa["plz"]; // integer
if($plz == 0) {
$plz="";
} else {
$plz=str_pad($plz, 5, "0", STR_PAD_LEFT);
}
$ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
$str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
$hsnr=$rowa["hausnummer"];
$land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
echo "\n\n\t | "; //Sp. 1
echo "\n\t"; //Sp. 2
if ($str.$hsnr != "") {echo $str." ".$hsnr." ";}
if ($plz.$ort != "") {echo $plz." ".$ort;}
if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;}
echo " | \n\t"; // Sp. 3
echo " | \n ";
} else { // manchmal doppelte Angaben
echo "\n\n\t | \n\tweitere Adresse | \n\t | \n ";
}
}
pg_free_result($resa);
}
// 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
$i++; // cnt Person
// Anteil als eigene Tab-Zeile:
$zaehler=$rown["zaehler"];
if ($zaehler != "") {
$zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht
$nenner=str_replace(".", ",", $rown["nenner"]);
$comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht).";
echo "\n\n\t | " // Sp. 1
."\n\t".$zaehler."/".$nenner." Anteil | "
."\n\t | \n "; // Sp. 3
}
} // End Loop Person
if ($i == 0) { // Keine Person. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler
if ($rechtsg != 9999) {
echo "\n(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand) ";
} else {
if ($debug > 1) { // nur bei Entwicklung
echo "\n\t\tRechtsgemeinschaft = '".$rechtsg."' ";
}
}
echo " | \n\t | \n
";
}
$n++; // cnt NamNum
} // End Loop NamNum
if($n > 0) {
echo "\n
";
} else { // $n == 0, bei "Fiktives Blatt" KEIN Fehler
if ($debug > 1) {
echo "\nFehler bei Werteliste aus alkis_wertearten.
";
if ($debug > 2) {echo "\n