Changeset 377 for trunk/info/info/alkis/alkisfkt.php
- Timestamp:
- 12/05/16 10:57:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisfkt.php
r376 r377 1 1 <?php 2 2 /* Modul: alkisfkt.php 3 4 3 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 5 4 Functions 6 5 7 6 Version: 8 2016-02-24 Version fuer norGIS-ALKIS-Import, "function linkgml" raus. Case-EntschlÃŒsselung raus. 9 2016-03-03 Hinweis auf Datenfehler wenn "ax_person" fehlt in function "eigentuemer" 10 2016-03-14 Kleine Korrekturen 11 2016-11-29 Gemeinsam genutzte Datenbanken ermöglichen (Filter Gemeinde) 7 2010-12-17 Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 8 2011-11-01 *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 9 2011-11-02 Parameter debug in function eigentuemer 10 2011-11-17 Variable ($debug, $idanzeige, $showkey) von Parameter nach global. Die heiÃen in allen Programmteilen gleich. 11 2014-01-22 Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle 12 2014-02-06 Korrektur EigentÃŒmerart 13 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 14 2014-09-15 Bei Relationen den Timestamp abschneiden 15 2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 16 2014-12-30 class='fsnr' 17 2015-12-09 Austausch .ico durch .png 12 18 */ 13 19 14 20 function footer($gmlid, $link, $append) { 15 21 // Einen Seitenfuss ausgeben. 22 // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen. 16 23 // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 17 // Den URL-Parameter "&showkey=j/n" umschalten lassen. 18 // $append wird angehaengt wenn gefuellt. Anwendung: &eig=j bei FS-NW, <yp=m/p/o bei Lage 19 global $gkz, $showkey, $hilfeurl, $auth; 20 21 echo "\n<div class='confbereich noprint'>" 22 ."\n<table class='outer'>\n<tr>"; 24 25 // Der Parameter $append wird angehaengt wenn gefuellt 26 // Anwendung: &eig=j bei FS-NW, <yp=m/p/o bei Lage 27 global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl; 28 29 $customer=$_SESSION["mb_user_name"]; 30 echo "\n<div class='confbereich noprint'>"; 31 echo "\n<table class='outer'>\n<tr>"; 23 32 24 33 // Spalte 1: Info Benutzerkennung 25 if ($auth == "mapbender") { 26 $customer=$_SESSION["mb_user_name"]; 27 echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>"; 28 } else { 29 echo "\n\t<td> </td>"; 30 } 34 echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>"; 31 35 32 36 // Spalte 2: Umschalter 33 37 echo "\n\t<td title='Konfiguration'>"; 34 38 $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&gmlid=".$gmlid.$append; 35 36 if ($showkey) { // Umschalten SchlÃŒssel ein/aus 37 echo $mylink."&showkey=n' title='Verschlüsselungen ausblenden'>Schlüssel aus</a>"; 39 if ($showkey) {$mykey = "&showkey=j";} else {$mykey = "&showkey=n";} 40 if ($idumschalter) { // fuer Entwicklung ODER Test 41 if ($idanzeige) {$myid = "&id=j";} else {$myid = "&id=n";} 42 43 // Umschalter nur ausgeben, wenn in conf gesetzt 44 if ($idanzeige) { // Umschalten ID ein/aus 45 echo $mylink.$mykey."&id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>"; 46 echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID aus</a>"; 47 } else { 48 echo $mylink.$mykey."&id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>"; 49 echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID ein</a>"; 50 } 51 echo " | "; 52 } else { // keinen ID-Umschalter 53 $myid = ""; 54 } 55 56 if ($showkey) { // // Umschalten SchlÃŒssel ein/aus 57 echo $mylink.$myid."&showkey=n' title='Verschlüsselungen ausblenden'>Schlüssel aus</a>"; 38 58 } else { 39 echo $mylink. "&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein</a>";59 echo $mylink.$myid."&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein</a>"; 40 60 } 41 61 echo "\n\t</td>"; 42 62 43 63 // Spalte 3 44 echo "\n\t<td title='Hilfe'>" 45 ."\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>"46 ."\n</tr>\n</table>\n</div>\n";64 echo "\n\t<td title='Hilfe'>"; 65 echo "\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>"; 66 echo "\n</tr>\n</table>\n</div>\n"; 47 67 return 0; 48 68 } 49 69 50 function ber_bs_hinw($gmls) { 51 // Unter einem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen 52 // In FS-Nachweis wird nur der EigentÃŒmer des direkt gebuchten GrundstÃŒcks angezeigt. 53 // Den Erbbauberechtigten sieht man erst in der Grundbuch-Auskunft. 54 global $debug, $showkey; 55 56 // Buchungstelle dien. >an> Buchungstelle herr. 57 $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.v " 58 ."FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " 59 ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) " 60 ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " 61 ."GROUP BY sh.buchungsart, a.v;"; 62 63 $v = array($gmls); // id dienende BS 64 $resan = pg_prepare("", $sql); 65 $resan = pg_execute("", $v); 66 if (!$resan) { 67 echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>\n"; 68 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 69 } 70 $an=0; 71 while($rowan = pg_fetch_array($resan)) { 72 $an++; 73 if ($an == 1) {echo "\n\t<br>\n\t<p class='nwlink' title='Andere Grundstücke mit Rechten an diesem.'>Berechtigte Buchungen:<br><b>";} 74 if ($an > 1) {echo",<br>";} // kann es gemischste Buchungsarten geben? 75 echo $rowan["anz"]." ".htmlentities($rowan["v"], ENT_QUOTES, "UTF-8"); 76 if ($showkey) {echo " <span class='key'>(".$rowan["buchungsart"].")</span>";} 77 } 78 if ($an == 0) { 79 echo "<br><p class='nwlink' title='Kein anderes Grundstück hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 80 } else { 81 echo "</b></p>"; 82 } 83 pg_free_result($resan); 70 function linkgml($gkz, $gml, $typ, $tabelle) { 71 // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php 72 // tabelle = nur angeben fÃŒr Tabellen, die Relationen-Spalten besitzen, sonst leer 73 $kurzid=substr($gml, 12, 4); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich 74 // PostNAS 0.8: Timestamp abschneiden 75 echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' "; 76 echo "href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."&tabelle=".$tabelle."'>"; 77 echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''>".$kurzid."</a>"; 78 return 0; 84 79 } 85 80 … … 90 85 $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 91 86 $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe 92 $kurz=rtrim($kurz); // Leerzeichen hinten93 // echo "/n<p class='dbg'> lang='".$lang."'</p>/n<p class='dbg'> kurz='".$kurz."'</p>";94 87 return $kurz; 95 88 } 96 89 97 function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus , $bartkey, $bartstory) {90 function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { 98 91 /* Bestandsnachweis - Flurstuecksdaten 99 92 Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. 100 93 Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 101 94 Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 102 Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */103 global $debug, $gkz, $ showkey, $filtkreis, $filtgem;95 Table-Tag und Kopfzeile im aufrufenden Programm. */ 96 global $debug, $gkz, $idanzeige, $showkey; 104 97 105 98 // F L U R S T U E C K … … 107 100 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id 108 101 LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 109 WHERE f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL AND s.gml_id= $1 "; 110 if ($filtgem == '' ) { // ungefiltert 111 $v=array($gml_bs); 112 } else { 113 $sql.="AND f.kreis = $2 AND f.gemeinde = $3 "; // ZustÀndiges Gebiet 114 $v=array($gml_bs, $filtkreis, $filtgem); 115 } 116 $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 102 WHERE s.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 103 104 $v = array($gml_bs); 117 105 $resf = pg_prepare("", $sql); 118 106 $resf = pg_execute("", $v); … … 121 109 if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben 122 110 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 123 } else {124 $bvnr="";125 111 } 126 112 $altlfdnr=""; … … 137 123 echo "\n<tr>"; // eine Zeile je Flurstueck 138 124 // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS 139 if($lfdnr == $altlfdnr) { // gleiches Grundstueck 140 echo "\n\t<td> </td>" 141 ."\n\t<td> </td>" 142 ."\n\t<td> </td>"; 143 } else { // Sprungmarke, BVNR 144 echo "\n\t<td>" 145 ."<a id='bvnr".$lfdnr."'></a><span class='wichtig'>".$bvnr."</span>" /// ++++ FEHLER?? $bvnr 146 ."</td>"; 147 148 echo "\n\t<td title ='".$bartstory."'>"; // Buchungsart 149 if ($showkey) {echo "<span class='key'>".$bartkey."</span> ";} // Schluessel 125 if($lfdnr == $altlfdnr) { // gleiches Grundstueck 126 echo "\n\t<td> </td>"; 127 echo "\n\t<td> </td>"; 128 echo "\n\t<td> </td>"; 129 } else { 130 echo "\n\t<td>"; 131 echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke 132 echo "<span class='wichtig'>".$bvnr."</span>"; // BVNR 133 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} 134 echo "</td>"; 135 136 echo "\n\t<td>"; // Buchungsart 137 // if ($showkey) {echo "<span class='key'>".$???."</span> ";} // Schluessel 150 138 echo $ba; // entschluesselt 151 echo "</td>" 152 ."\n\t<td> </td>"; // Anteil139 echo "</td>"; 140 echo "\n\t<td> </td>"; // Anteil 153 141 $altlfdnr=$lfdnr; 154 142 } 155 143 //Sp. 4-7 aus Flurstueck 156 144 echo "\n\t<td>"; 157 if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 158 echo $rowf["bezeichnung"]."</td>" 159 ."\n\t<td>".$flur."</td>" 160 ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>" 161 ."</td>" 162 ."\n\t<td class='fla'>".$flae."</td>"; 163 164 echo "\n\t<td><p class='nwlink noprint'>" 165 ."<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$rowf["gml_id"]."&eig=n"; 145 if ($showkey) { 146 echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> "; 147 } 148 echo $rowf["bezeichnung"]."</td>"; 149 echo "\n\t<td>".$flur."</td>"; 150 echo "\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>"; 151 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück", "ax_flurstueck");} 152 echo "</td>"; 153 echo "\n\t<td class='fla'>".$flae."</td>"; 154 155 echo "\n\t<td><p class='nwlink noprint'>"; 156 echo "<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$rowf["gml_id"]."&eig=n"; 157 if ($idanzeige) {echo "&id=j";} 166 158 if ($showkey) {echo "&showkey=j";} 167 echo "' title='Flurstücksnachweis'>Flurstück " 168 ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"169 ."</a>"170 ."</p></td>"171 ."\n</tr>";159 echo "' title='Flurstücksnachweis'>Flurstück "; 160 echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 161 echo "</a>"; 162 echo "</p></td>"; 163 echo "\n</tr>"; 172 164 173 165 $j++; … … 178 170 if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";} 179 171 } */ 172 180 173 pg_free_result($resf); 181 174 return $j; … … 192 185 // Schleife 1: N a m e n s n u m m e r 193 186 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 194 global $debug, $gkz, $ showkey;187 global $debug, $gkz, $idanzeige, $showkey; 195 188 196 189 // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal) … … 203 196 } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 204 197 205 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn.v AS adrv, we.v AS eiartv 206 FROM ax_namensnummer n 207 LEFT JOIN alkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft' 208 LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' 209 WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 198 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 199 $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 210 200 211 201 $v = array($gmlid); // 16 Stellen bei Relationen … … 214 204 215 205 if (!$resn) { 216 echo " \n<p class='err'>Fehler bei Eigentümer</p>\n";206 echo "<p class='err'>Fehler bei Eigentümer</p>\n"; 217 207 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 218 208 } 219 209 220 echo "\n <table class='eig'>";210 echo "\n\n<table class='eig'>"; 221 211 $n=0; // Z.NamNum. 222 212 223 213 while($rown = pg_fetch_array($resn)) { 224 214 $gmlnn=$rown["gml_id"]; 225 $namnum=kurz_namnr($rown["lfd"]); 226 $rechtsg=$rown["adr"]; 227 echo "\n<tr>" 228 ."\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>" // Sp. 1 229 .$namnum." " // VOR die Tabelle: "EigentÃŒmer" 230 ."</p>\n\t</td>" 231 . "\n\t<td>"; // Sp. 2 215 echo "\n<tr>"; 216 echo "\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>"; // Sp. 1 217 // VOR die Tabelle: "EigentÃŒmer" 218 $namnum=kurz_namnr($rown["lfd"]); 219 echo $namnum." "; 220 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer", "ax_namensnummer");} 221 echo "</p>\n\t</td>"; 222 223 echo "\n\t<td>"; // Sp. 2 224 $rechtsg=$rown["adr"]; 232 225 if ($rechtsg != "" ) { 233 226 if ($rechtsg == 9999) { // sonstiges 234 227 echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 235 228 } else { 236 echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities( $rown["adrv"], ENT_QUOTES, "UTF-8")."</p>";229 echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 237 230 } 238 231 } … … 247 240 // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 248 241 242 249 243 // Schleife 2: P e r s o n 250 244 // Beziehung: ax_person <benennt< ax_namensnummer 251 252 // $sqlp="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad " 253 // ."FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 254 // $v = array($gmlnn); 255 256 // 03.03.16: 257 $sqlp="SELECT gml_id, nachnameoderfirma, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad " 258 ."FROM ax_person WHERE gml_id= $1 AND endet IS NULL;"; 259 $gmlpers=$rown["benennt"]; 260 $v = array($gmlpers); // gml_id von ax_person 245 $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 246 $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 247 248 $v = array($gmlnn); 261 249 $resp = pg_prepare("", $sqlp); 262 250 $resp = pg_execute("", $v); 251 263 252 if (!$resp) { 264 253 echo "\n\t<p class='err'>Fehler bei Person</p>\n"; 265 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gml pers."'</p>";}254 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";} 266 255 } 267 256 268 257 $i=0; // cnt Person 269 while($rowp = pg_fetch_array($resp)) { // Schleife weglassen? nn >benennt> Person ist KEINArray!270 $diePerson=""; //++ Anrede?258 while($rowp = pg_fetch_array($resp)) { // ++ Schleife? nn >benennt> Person ist kein Array! 259 $diePerson=""; 271 260 if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} 272 261 $diePerson.=$rowp["nachnameoderfirma"]; … … 277 266 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 278 267 279 if ($i > 0) { // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 268 // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 269 if ($i > 0) { 280 270 echo "\n<tr>\n\t<td> </td>\n\t<td>"; 281 271 } 282 272 // Spalte 2 = Angaben 283 $eiartkey=$rown["eigentuemerart"]; // Key284 $eiart= $rown["eiartv"]; // Value273 $eiartkey=$rown["eigentuemerart"]; 274 $eiart=eigentuemerart($eiartkey); 285 275 echo "\n\t\t<p class='geig' title='Eigentümerart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; 286 276 287 277 // Spalte 3 = Link 288 278 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 279 if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo " ";} 289 280 if ($showkey AND $eiartkey != '') { // oft leer 290 281 echo "<span class='key'>(".$eiartkey.")</span> "; 291 282 } 292 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp[0]; 283 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp["gml_id"]; 284 if ($idanzeige) {echo "&id=j";} 293 285 if ($showkey) {echo "&showkey=j";} 294 echo $lnknach."' title='vollständiger Name und Adresse eines Eigentümers'>".$eiart 295 ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>"296 ."\n\t</td>\n</tr>";286 echo $lnknach."' title='vollständiger Name und Adresse eines Eigentümers'>".$eiart; 287 echo " <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>"; 288 echo "\n\t</td>\n</tr>"; 297 289 298 290 if ($mitadresse) { 299 291 // Schleife 3: A d r e s s e (OPTIONAL) 300 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "301 ."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 LIMIT 2;";292 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland 293 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 LIMIT 2;"; 302 294 $gmlp=$rowp["gml_id"]; // Person 303 295 $v = array($gmlp); … … 327 319 echo "\n<tr>\n\t<td> </td>"; //Sp. 1 328 320 echo "\n\t<td><p class='gadr'>"; //Sp. 2 329 if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 330 if ($plz.$ort != "") {echo $plz." ".$ort;} 331 if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 332 echo "</p></td>\n\t<td>"; // Sp. 3 333 echo " </td>\n</tr>"; 321 if ($str.$hsnr != "") { 322 echo $str." ".$hsnr."<br>"; 323 } 324 if ($plz.$ort != "") { 325 echo $plz." ".$ort; 326 } 327 if ($land != "" and $land != "DEUTSCHLAND") { 328 echo ", ".$land; 329 } 330 echo "</p></td>"; 331 echo "\n\t<td>"; // Sp. 3 332 if ($idanzeige) { 333 echo "<p class='nwlink noprint'>"; 334 linkgml($gkz, $gmla, "Adresse", "ax_adresse"); 335 echo "</p>"; 336 } else { 337 echo " "; 338 } 339 echo "</td>\n</tr>"; 334 340 } else { // manchmal dopplete Angaben (_straÃe / _str.) 335 341 echo "\n<tr>\n\t<td> </td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td> </td>\n</tr>"; … … 348 354 $nenner=str_replace(".", ",", $rown["nenner"]); 349 355 $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht)."; 350 echo "\n<tr>\n\t<td> </td>" // Sp. 1351 ."\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>"352 ."\n\t<td> </td>\n</tr>"; // Sp. 3356 echo "\n<tr>\n\t<td> </td>"; // Sp. 1 357 echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>"; 358 echo "\n\t<td> </td>\n</tr>"; // Sp. 3 353 359 } 354 360 } // End Loop Person 355 if ($i == 0) { // Kine Parson. Kommt vor hinter Zeile "Erbengemeinschaft", ist dann KEIN Fehler356 if ($ rechtsg != 9999) {357 echo "\n<p class=' err'>(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)</p>";358 } else{359 if ($debug > 1) { // nur bei Entwicklung360 echo "\n\t\t<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";361 if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann KEIN Fehler 362 if ($debug > 1) { // nur bei Entwicklung 363 echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 364 if ($rechtsg != 9999) { 365 echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>"; 366 // if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";} 361 367 } 362 368 } 363 echo "</td>\n\t<td> </td>\n< /tr>";369 echo "</td>\n\t<td> </td>\n<tr>"; 364 370 } 365 371 $n++; // cnt NamNum 366 372 } // End Loop NamNum 367 echo "\n</table> ";373 echo "\n</table>\n"; 368 374 if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler 369 if ($debug > 1) { 370 echo "\n<p class='dbg'>keine Namensnummern zum Blatt</p>"; 371 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 372 } 375 if ($debug > 1) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 376 // if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 373 377 } 374 378 pg_free_result($resn); 375 379 return $n; 376 } // End function eigentuemer 377 380 } // End Function eigentuemer 381 382 // ** Functions zum E n t s c h l u e s s e l n ** 383 384 // Entschluesslung ax_person.anrede 385 function anrede($key) { 386 switch ($key) { 387 case 1000: $wert = "Frau"; break; 388 case 2000: $wert = "Herr"; break; 389 case 3000: $wert = "Firma"; break; 390 default: $wert = ""; break; 391 } 392 return $wert; 393 } 394 395 // Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft 396 function rechtsgemeinschaft($key) { 397 switch ($key) { 398 case 1000: $wert = "Erbengemeinschaft"; break; 399 case 2000: $wert = "GÃŒtergemeinschaft"; break; 400 case 3000: $wert = "BGB-Gesellschaft"; break; 401 case 9999: $wert = "Sonstiges"; break; // dann: beschriebDerRechtsgemeinschaft 402 default: $wert = ""; break; 403 } 404 return $wert; 405 } 406 407 // Entschluesslung AX_Namensnummer.eigentuemerart 408 function eigentuemerart($key) { 409 // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst. 410 // FÃŒr seltene Werte in der Datenbank nachschlagen. 411 // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22. 412 // Hier Verwendung fÃŒr Text zum Link. 413 // FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function. 414 global $debug; 415 switch ($key) { 416 case 1000: $wert = "Natürliche Person"; break; // singular fuer Link-Text 417 case 2000: $wert = "Juristische Person"; break; // singl. 418 case 3000: $wert = "Körperschaft"; break; // singl. 419 case 4000: $wert = "Kirchliches Eigentum"; break; 420 case 4100: $wert = "Evangelische Kirche"; break; 421 case 4200: $wert = "Katholische Kirche"; break; 422 case 5100: $wert = "Bundesrepublik Deutschland"; break; 423 case 5400: $wert = "Kreis"; break; 424 case 5500: $wert = "Gemeinde"; break; 425 case 5920: $wert = "Land"; break; // "Eigenes Bundesland" 426 case "": $wert = "Person"; break; // falls (noch) nicht gefuellt 427 default: // Datenbank-Abfrage 428 $sql="SELECT bezeichner FROM v_namnum_eigart WHERE wert= $1 ;"; 429 $v=array($key); 430 $res=pg_prepare("", $sql); 431 $res=pg_execute("", $v); 432 if ($res) { 433 $row=pg_fetch_array($res); 434 $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8"); 435 if ($wert == "") {$wert="** Eigentümerart '".$key."' nicht gefunden **";} 436 } else { 437 echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n"; 438 $wert="** Unbekannte Eigentümerart '".$key."' **"; 439 } 440 pg_free_result($res); 441 break; 442 } 443 return $wert; 444 } 445 446 // Entschluesslung ax_buchungsblatt.blattart 447 function blattart($key) { 448 switch ($key) { 449 case 1000: $wert = "Grundbuchblatt"; break; 450 // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt. 451 case 2000: $wert = "Katasterblatt"; break; 452 // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt. 453 case 3000: $wert = "Pseudoblatt"; break; 454 // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt 455 // (z.B. Ãbernahme von Flurbereinigungsverfahren, Umlegungsverfahren). 456 case 5000: $wert = "Fiktives Blatt"; break; 457 // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes. 458 // Es bildet um die Miteigentumsanteile eine fachliche Klammer. 459 default: $wert = "** Unbekannter Wert '".$key."'"; break; 460 } 461 return $wert; 462 } 463 // Entschluesslung ax_dienststelle.stellenart 464 function dienststellenart($key) { 465 switch ($key) { 466 case 1000: $wert = "Grundbuchamt"; break; 467 case 1100: $wert = "Katasteramt"; break; 468 case 1200: $wert = "Finanzamt"; break; 469 case 1300: $wert = "Flurbereinigungsbehörde"; break; 470 case 1400: $wert = "Forstamt"; break; 471 case 1500: $wert = "Wasserwirtschaftsamt"; break; 472 case 1600: $wert = "StraÃenbauamt"; break; 473 case 1700: $wert = "Gemeindeamt"; break; 474 case 1900: $wert = "Kreis- oder Stadtverwaltung"; break; 475 case 2000: $wert = "Wasser- und Bodenverband"; break; 476 case 2100: $wert = "Umlegungsstelle"; break; 477 case 2200: $wert = "Landesvermessungsverwaltung"; break; 478 case 2300: $wert = "ÖbVI"; break; 479 case 2400: $wert = "Bundeseisenbahnvermögen"; break; 480 case 2500: $wert = "Landwirtschaftskammer"; break; 481 default: $wert = "** Unbekannter Wert '".$key."'"; break; 482 } 483 return $wert; 484 } 378 485 ?>
Note: See TracChangeset
for help on using the changeset viewer.