Index: trunk/info/info/alkisn/alkishaus.php
===================================================================
--- trunk/info/info/alkisn/alkishaus.php	(revision 422)
+++ trunk/info/info/alkisn/alkishaus.php	(revision 425)
@@ -4,5 +4,5 @@
 
 	Version:
-	2016-02-24 Version fuer norGIS-ALKIS-Import
+	2016-02-24 Version fÃŒr norGIS-ALKIS-Import
 	....
 	2020-12-01 Darstellung der Datenerhebung, Klammern um SchlÃŒsselwerte
@@ -10,4 +10,6 @@
 	2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF']
 	2020-12-15 Input-Validation und Strict Comparisation (===)
+	2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÃ€che). Gemeinde in Adresse
+
 ToDo:
 	- Template im WMS auf Ebene GebÃ€ude hierhin verknÃŒpfen.
@@ -53,8 +55,9 @@
 
 $erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); }
+$dbg=$debug; // CONF in Arbeits-Variable
 
 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten.
-// Manuell an die URL anfÃŒgen, wirkt nur temporÃ€r und wird nicht in Links weiter gereicht.
-if ($nodebug === "j") {$debug=0;} 
+// Wirkt temporÃ€r und wird nicht in Links weiter gereicht.
+if ($nodebug === "j") {$dbg=0;} 
 
 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'");
@@ -83,5 +86,12 @@
 if (!$resg) {
 	echo "\n<p class='err'>Fehler bei Geb&auml;ude.<br>".pg_last_error()."</p>";
-	if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+if ($dbg > 0) {
+	$zeianz=pg_num_rows($resg);
+	if ($zeianz > 1){
+		echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Geb&auml;ude-Objekt!</p>";
+		if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sqlg), ENT_QUOTES, "UTF-8")."</p>";}
+	}
 }
 
@@ -164,15 +174,19 @@
 
 // HAUPTgebÃ€ude
-$sqll ="SELECT 'm' AS ltyp, lh.gml_id AS gmllag, sh.lage, sh.bezeichnung, lh.hausnummer, '' AS laufendenummer FROM ax_gebaeude gh
+$sqll ="SELECT 'm' AS ltyp, lh.gml_id AS gmllag, sh.lage, sh.bezeichnung, lh.hausnummer, '' AS laufendenummer, ph.bezeichnung AS gemeinde
+FROM ax_gebaeude gh
 JOIN ax_lagebezeichnungmithausnummer lh ON lh.gml_id=ANY(gh.zeigtauf)
-JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage
-WHERE gh.gml_id= $1 AND gh.endet IS NULL AND lh.endet IS NULL AND sh.endet IS NULL";
+JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage 
+LEFT JOIN ax_gemeinde ph ON lh.land=ph.land AND lh.regierungsbezirk=ph.regierungsbezirk AND lh.kreis=ph.kreis AND lh.gemeinde=ph.gemeinde ".UnqKatAmt("lh","ph")
+."WHERE gh.gml_id= $1 AND gh.endet IS NULL AND lh.endet IS NULL AND sh.endet IS NULL";
+
 // oder NEBENgebÃ€ude
 $sqll.=" UNION 
-SELECT 'p' AS ltyp, ln.gml_id AS gmllag, sn.lage, sn.bezeichnung, ln.pseudonummer AS hausnummer, ln.laufendenummer
+SELECT 'p' AS ltyp, ln.gml_id AS gmllag, sn.lage, sn.bezeichnung, ln.pseudonummer AS hausnummer, ln.laufendenummer, pn.bezeichnung AS gemeinde
 FROM ax_gebaeude gn
 JOIN ax_lagebezeichnungmitpseudonummer ln ON ln.gml_id=gn.hat
-JOIN ax_lagebezeichnungkatalogeintrag sn ON ln.kreis=sn.kreis AND ln.gemeinde=sn.gemeinde AND ln.lage=sn.lage
-WHERE gn.gml_id= $1 AND gn.endet IS NULL AND ln.endet IS NULL AND sn.endet IS NULL ";
+JOIN ax_lagebezeichnungkatalogeintrag sn ON ln.kreis=sn.kreis AND ln.gemeinde=sn.gemeinde AND ln.lage=sn.lage 
+LEFT JOIN ax_gemeinde pn ON ln.land=pn.land AND ln.regierungsbezirk=pn.regierungsbezirk AND ln.kreis=pn.kreis AND ln.gemeinde=pn.gemeinde ".UnqKatAmt("ln","pn")
+."WHERE gn.gml_id= $1 AND gn.endet IS NULL AND ln.endet IS NULL AND sn.endet IS NULL ";
 
 $sqll.="ORDER BY bezeichnung, hausnummer ;";
@@ -183,5 +197,5 @@
 if (!$resl) {
 	echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>";
-	if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 $zhsnr=0;
@@ -193,4 +207,5 @@
 	$hsnr=$rowl["hausnummer"];
 	$hlfd=$rowl["laufendenummer"];
+	$gemeinde=$rowl["gemeinde"];
 	$gmllag=$rowl["gmllag"];
 
@@ -206,5 +221,5 @@
 		echo "'>".$snam."&nbsp;".$hsnr;
 		if ($ltyp === "p") {echo ", lfd.Nr ".$hlfd;}
-	echo "</a><br>";
+	echo "</a>, ".$gemeinde."<br>";
 } // Ende Loop Lagezeilen m.H.
 if ($zhsnr > 0) {echo "\n\t</td>\n\t<td>&nbsp;</td>\n</tr>";}
@@ -324,5 +339,5 @@
 			if (!$resw) {
 				echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>";
-				if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";}
+				if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";}
 			}
 			$zw=0;
@@ -433,5 +448,5 @@
 if (!$rese) {
 	echo "\n<p class='err'>Fehler bei Datenerhebung.<br>".pg_last_error()."</p>";
-	if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqle."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqle."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 while($rowe = pg_fetch_assoc($rese)) { // Schleife weil array-Feld, meist aber leer
@@ -469,6 +484,6 @@
 $sqlf ="SELECT f.gml_id, round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, 
 st_within(g.wkb_geometry,f.wkb_geometry) as drin, o.gemarkungsnummer, o.bezeichnung, f.flurnummer, f.zaehler, f.nenner 
-FROM ax_gebaeude g, ax_flurstueck f LEFT JOIN ax_gemarkung o ON f.land=o.land AND f.gemarkungsnummer=o.gemarkungsnummer
-WHERE g.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL 
+FROM ax_gebaeude g, ax_flurstueck f LEFT JOIN ax_gemarkung o ON f.land=o.land AND f.gemarkungsnummer=o.gemarkungsnummer ".UnqKatAmt("f","o")
+."WHERE g.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL 
 AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true ORDER BY schnittflae DESC;";
 
@@ -478,5 +493,5 @@
 if (!$resf) {
 	echo "\n<p class='err'>Fehler bei FS-Verschneidung.</p>";
-	if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 
@@ -535,14 +550,12 @@
 echo "\n<tr>\n\t<td class='fla sum'>".$gfla."</td>\n\t<td>Geb&auml;udefl&auml;che</td>\n\t<td></td>\n</tr>";
 echo "\n</table>"; // Ende FlurstÃŒcke
+
+echo "<div class='buttonbereich noprint'>\n<hr>"
+	."\n\t<a title='zur&uuml;ck' href='javascript:history.back()'><img src='ico/zurueck.png' width='16' height='16' alt='zur&uuml;ck'></a>&nbsp;";
+if ($PrntBtn==true){echo "\n\t<a title='Drucken' href='javascript:window.print()'><img src='ico/print.png' width='16' height='16' alt='Drucken'></a>&nbsp;";}
+echo "\n</div>";
+
+footer($gmlid, selbstverlinkung()."?", "");
 ?>
-
-<div class='buttonbereich noprint'>
-<hr>
-	<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
-	<a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
-</div>
-
-<?php footer($gmlid, selbstverlinkung()."?", ""); ?>
-
 </body>
 </html>
