source: trunk/info/info/alkis/alkisnamstruk.php @ 339

Revision 339, 10.2 KB checked in by frank.jaeger, 7 years ago (diff)

Rückbau von "substring(gml_id)" in Views und Programmen.
Namensänderung von Schlüsseltabellen von ax_* auf v_*.

Line 
1<?php
2/*      Modul: alkisnamstruk.php
3
4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
5        Namens- und Adressdaten fuer einen Eigentuemer aus ALKIS PostNAS
6
7        Version:
8        2013-04-08 deprecated "import_request_variables" ersetzt
9        2013-11-22 Namensbestandteil ("von") in Kompakt-Adresse vor den Namen setzen
10        2014-02-06 Redundante Adressen kommen vor. Nur eine davon anzeigen.
11        2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer
12        2014-09-10 Bei Relationen den Timestamp abschneiden
13        2014-09-30 RÃŒckbau substring(gml_id)
14
15        ToDo: Sortierung der GrundbÃŒcher zum Namen
16*/
17session_start();
18$cntget = extract($_GET);
19require_once("alkis_conf_location.php");
20if ($auth == "mapbender") {require_once($mapbender);}
21include("alkisfkt.php");
22if ($id == "j") {       $idanzeige=true;} else {$idanzeige=false;}
23$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
24if ($keys == "j") {$showkey=true;} else {$showkey=false;}
25
26?>
27<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
28<html>
29<head>
30        <meta name="author" content="b600352" >
31        <meta http-equiv="cache-control" content="no-cache">
32        <meta http-equiv="pragma" content="no-cache">
33        <meta http-equiv="expires" content="0">
34        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
35        <title>ALKIS Person und Adresse</title>
36        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
37        <link rel="shortcut icon" type="image/x-icon" href="ico/Eigentuemer_2.ico">
38        <script type="text/javascript">
39                function ALKISexport() {
40                        window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=person&gmlid=".$gmlid."'"; ?>);
41                }
42        </script>
43        <style type='text/css' media='print'>
44                .noprint {visibility: hidden;}
45        </style>
46</head>
47<body>
48
49<?php
50$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
51// Balken
52echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n";
53
54echo "\n<h2><img src='ico/Eigentuemer.ico' width='16' height='16' alt=''> Person</h2>\n";
55if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>\n";
56
57$sql="SELECT nachnameoderfirma, anrede, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad ";
58$sql.="FROM ax_person WHERE gml_id= $1;";
59
60$v = array($gmlid);
61$res = pg_prepare("", $sql);
62$res = pg_execute("", $v);
63
64if (!$res) {echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>\n";}
65if ($idanzeige) { linkgml($gkz, $gmlid, "Person", "ax_person"); }
66if ($row = pg_fetch_array($res)) {
67        $vor=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8");
68        $nam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8");
69        $geb=htmlentities($row["geburtsname"], ENT_QUOTES, "UTF-8");
70        $anrk=$row["anrede"];
71        $anr=anrede($anrk);
72        $nbest=$row["namensbestandteil"];
73        $aka=$row["akademischergrad"];
74
75        echo "<table>\n";
76                echo "\t<tr><td class='nhd'>Anrede:</td><td class='nam'>";
77                if ($showkey) {echo "<span class='key' title='Anredekennung'>(".$anrk.")</span> ";}
78                echo $anr."</td></tr>\n";
79                echo "\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>\n";
80                echo "\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>\n";
81                echo "\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."&nbsp;</td></tr>\n";
82                echo "\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>\n";
83                echo "\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$nbest."&nbsp;</td></tr>\n";
84                echo "\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>\n";
85        echo "\n</table>\n<hr>\n";
86
87        // A d r e s s e
88        echo "\n<h3><img src='ico/Strasse_mit_Haus.ico' width='16' height='16' alt=''> Adresse</h3>\n";
89        // Es können redundante Adressen vorhanden sein, z.B. aus Migration, temporÀr aus LBESAS. Die letzte davon anzeigen.
90
91        $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland
92        FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 ORDER BY a.gml_id DESC ;";
93
94        $v = array($gmlid);
95        $resa = pg_prepare("", $sqla);
96        $resa = pg_execute("", $v);
97        if (!$resa) {
98                echo "\n<p class='err'>Fehler bei Adressen</p>\n";
99                if ($debug > 2) {       
100                        echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>\n";
101                }
102        }
103
104        $j=0;
105        // Parameter $multiadress = j zeigt alle Adressen an
106        while($rowa = pg_fetch_array($resa)) {
107                $j++;
108                if ($multiadress == "j" OR $j == 1) {
109                        $gmla=$rowa["gml_id"];
110                        $plz=$rowa["plz"];
111                        $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
112                        $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
113                        $hsnr=$rowa["hausnummer"];
114                        $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
115                        if ($idanzeige) { linkgml($gkz, $gmla, "Adresse", "ax_adresse"); }
116
117                        echo "<table>\n";
118                                echo "\t<tr><td class='nhd'>PLZ:</td><td class='nam'>".$plz."</td></tr>\n";
119                                echo "\t<tr><td class='nhd'>Ort:</td><td class='nam'>".$ort."</td></tr>\n";
120                                echo "\t<tr><td class='nhd'>Strasse:</td><td class='nam'>".$str."</td></tr>\n";
121                                echo "\t<tr><td class='nhd'>Hausnummer:</td><td class='nam'>".$hsnr."</td></tr>\n";
122                                echo "\t<tr><td class='nhd'>Land:</td><td class='nam'>".$land."</td></tr>\n";
123                        echo "\n</table>\n<br>\n";
124
125                        // Name und Adresse Kompakt (im Rahmen) - Alles was man fuer ein Anschreiben braucht
126                        echo "<img src='ico/Namen.ico' width='16' height='16' alt='Brief' title='Anschrift'>"; // Symbol "Brief"
127                        echo "\n<div class='adr' title='Anschrift'>".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>";
128                        echo "\n".$str." ".$hsnr."<br>";
129                        echo "\n".$plz." ".$ort."</div>";
130                }
131        }
132        pg_free_result($resa);
133        if ($j == 0) {
134                echo "\n<p class='err'>Keine Adressen.</p>\n";
135        } elseif ($j > 1) {
136                echo "\n\t\t<p class='nwlink noprint'>";
137                echo "\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid;
138                if ($idanzeige) {echo "&amp;id=j";}
139                if ($showkey) {echo "&amp;showkey=j";}
140                if ($multiadress == "j") {
141                        echo "&amp;multiadress=n' title='mehrfache Adressen unterdr&uuml;cken'>erste Adresse ";
142                } else {
143                        echo "&amp;multiadress=j' title='Adressen ggf. mehrfach vorhanden'>alle Adressen ";
144                }
145                echo "\n\t\t\t</a>";
146                echo "\n\t\t</p>";
147        }
148
149        // *** G R U N D B U C H ***
150        echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>\n";
151        // person <benennt< namensnummer >istBestandteilVon>                Buchungsblatt
152        //                               >bestehtAusRechtsverhaeltnissenZu> namensnummer   (Nebenzweig/SonderfÀlle?)
153
154        $sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, b.bezeichnung AS beznam
155        FROM ax_person p JOIN ax_namensnummer n ON p.gml_id=n.benennt JOIN ax_buchungsblatt g ON g.gml_id=n.istbestandteilvon
156        LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk
157        WHERE p.gml_id= $1 ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;";
158        // buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander
159
160        $v = array($gmlid);
161        $resg = pg_prepare("", $sqlg);
162        $resg = pg_execute("", $v);
163
164        if (!$resg) {
165                echo "\n<p class='err'>Fehler bei Grundbuch</p>\n";
166                if ($debug > 2) {
167                        echo "\n<p class='err'>SQL=".$sqlg."</p>\n";
168                }
169        }
170        $j=0;
171        echo "<table class='eig'>";
172        echo "\n<tr>";
173                echo "\n\t<td class='head'>Bezirk</td>";
174                echo "\n\t<td class='head'>Blattart</td>";
175                echo "\n\t<td class='head'>Blatt</td>";
176                echo "\n\t<td class='head'>Namensnummer</td>";
177                echo "\n\t<td class='head'>Anteil</td>";
178                echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>";
179        echo "\n</tr>";
180
181        while($rowg = pg_fetch_array($resg)) {
182                $gmln=$rowg["gml_n"];
183                $gmlg=$rowg["gml_g"];
184                $namnum=kurz_namnr($rowg["lfd"]);
185                $zae=$rowg["zaehler"];
186                $blattkey=$rowg["blattart"];
187                $blattart=blattart($blattkey);
188
189                echo "\n<tr>";
190
191                        echo "\n\t<td class='gbl'>"; // GB-Bezirk"
192                                if ($showkey) {
193                                        echo "<span class='key'>".$rowg["bezirk"]."</span> ";
194                                }
195                                echo $rowg["beznam"];
196                        echo "</td>";
197
198                        echo "\n\t<td class='gbl'>"; // Blattart
199                                if ($showkey) {
200                                        echo "<span class='key'>".$blattkey."</span> ";
201                                }
202                                echo $blattart;
203                        echo "</td>";
204
205                        echo "\n\t<td class='gbl'>"; // Blatt
206                                echo "<span class='wichtig'>".$rowg["nr"]."</span>";
207                                if ($idanzeige) {
208                                        linkgml($gkz, $gmlg, "Grundbuchblatt", "");
209                                }
210                        echo "</td>";
211
212                        echo "\n\t<td class='gbl'>"; // Namensnummer
213                                If ($namnum == "") {
214                                        echo "&nbsp;";
215                                } else {
216                                        echo $namnum;
217                                }
218                                if ($idanzeige) {
219                                        linkgml($gkz, $gmln, "Namensnummer", "ax_namensnummer");
220                                }
221                        echo "</td>";
222
223                        echo "\n\t<td class='gbl'>"; // Anteil
224                                If ($zae == "") {
225                                        echo "&nbsp;";
226                                } else {
227                                        echo $zae."/".$rowg["nenner"]." Anteil";
228                                }
229                        echo "</td>";
230
231                        echo "\n\t<td class='gbl'>";
232                                echo "\n\t\t<p class='nwlink noprint'>";
233                                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg;
234                                                if ($idanzeige) {echo "&amp;id=j";}
235                                                if ($showkey)   {echo "&amp;showkey=j";}
236                                                echo "' title='Bestandsnachweis'>";
237                                                echo $blattart;
238                                        echo "\n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
239                                echo "\n\t\t</p>";
240                        echo "\n\t</td>";
241
242                echo "\n</tr>";
243                // +++ >bestehtAusRechtsverhaeltnissenZu> namensnummer ?
244                // z.B. eine Namennummer "Erbengemeinschaft" zeigt auf Namensnummern mit EigentÃŒmern
245                $i++;
246        }
247        pg_free_result($resg);
248        echo "</table>";
249        if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>\n";}
250} else {
251        echo "\n\t<p class='err'>Fehler! Kein Treffer f&uuml;r\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."'>".$gmlid."</a>\n</p>\n\n";
252}
253?>
254
255<form action=''>
256        <div class='buttonbereich noprint'>
257        <hr>
258                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
259                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
260                <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="32" height="16" alt="Export"></a>&nbsp;
261        </div>
262</form>
263
264<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
265
266</body>
267</html>
Note: See TracBrowser for help on using the repository browser.