Ignore:
Timestamp:
11/09/18 14:17:35 (5 years ago)
Author:
frank.jaeger
Message:

Anpassung der ALKIS-Auskunft (PHP) an die Full-Schema-Version des ALKIS-Importers 3.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkisn/alkisbestnw.php

    r405 r412  
    1313        2018-04-23 Blatt und EigentÃŒmer in eine Tabelle. 
    1414        2018-05-03 Anpassung an GrundstÃŒcksnachweis, kein Export fÃŒr fiktives Blatt 
     15        2018-11-09 Umstellung Full-Schema 
    1516*/ 
    1617session_start(); 
     
    5354 
    5455// G R U N D B U C H 
    55 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS blatt, g.blattart, wb.v AS blattartv, wb.d AS blattartd,  
    56 b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev FROM ax_buchungsblatt g  
     56$sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS blatt, g.blattart, wb.beschreibung AS blattartv, wb.dokumentation AS blattartd,  
     57b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.beschreibung AS stellev FROM ax_buchungsblatt g  
    5758LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
    58 LEFT JOIN ax_dienststelle d ON b.land=d.land AND b.stelle=d.stelle  
    59 LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' 
    60 LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
     59LEFT JOIN ax_dienststelle d ON b.land=d.land AND b.gehoertzu_stelle=d.stelle  
     60LEFT JOIN ax_blattart_buchungsblatt wb ON g.blattart = wb.wert 
     61LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert 
    6162WHERE g.gml_id= $1 AND g.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL;"; 
    6263// .. AND d.stellenart=1000  
     
    168169// Blatt ->  B u c h u n g s s t e l l e 
    169170// aktuelles ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle  
    170 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.v as bart, b.d 
    171 FROM ax_buchungsstelle s LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' and b.bezeichnung='buchungsart' 
     171$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner,  
     172s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.beschreibung as bart, b.dokumentation 
     173FROM ax_buchungsstelle s LEFT JOIN ax_buchungsart_buchungsstelle b ON s.buchungsart = b.wert 
    172174WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);"; 
    173175$v=array($gmlid); // Rel. istBestandteilVon 
     
    187189        $bartkey=$row["buchungsart"]; // SchlÃŒsselwert 
    188190        $bart=$row["bart"]; // BuchungsART Text dazu 
    189         $bartstory=htmlentities($row["d"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
     191        $bartstory=htmlentities($row["dokumentation"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
    190192        if ($row["zaehler"] == "") { 
    191193                $anteil = ""; 
     
    210212 
    211213                // Mit "UNION" um die FÀlle mit JOIN ÃŒber die Arrays "an" und "zu" unterscheiden zu können 
    212                 $sql="SELECT uni.*, wb.v AS bart FROM " 
     214                $sql="SELECT uni.*, wb.beschreibung AS bart FROM " 
    213215                ."(SELECT sda.gml_id, sda.buchungsart, sda.laufendenummer AS lfd, sda.beschreibungdesumfangsderbuchung AS udb, sda.nummerimaufteilungsplan AS nrap, sda.beschreibungdessondereigentums AS sond, 'an' as anzu " 
    214216                ."FROM ax_buchungsstelle sha JOIN ax_buchungsstelle sda ON sda.gml_id=ANY(sha.an) " 
     
    217219                ."FROM ax_buchungsstelle shz JOIN ax_buchungsstelle sdz ON sdz.gml_id=ANY(shz.zu) " 
    218220                ."WHERE shz.gml_id= $1 AND shz.endet IS NULL AND sdz.endet IS NULL " 
    219                 .") AS uni LEFT JOIN alkis_wertearten wb ON cast(uni.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' " 
     221                .") AS uni LEFT JOIN ax_buchungsart_buchungsstelle wb ON uni.buchungsart = wb.wert " 
    220222                ."ORDER BY uni.lfd;"; 
    221223        //      Testfall suchen: SELECT gml_id, zu, durch FROM ax_buchungsstelle WHERE NOT zu IS NULL OR NOT durch IS NULL; 
     
    242244                        ."FROM ax_buchungsblatt b JOIN ax_buchungsstelle s ON b.gml_id=s.istbestandteilvon " 
    243245                        ."LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk " 
    244                         ."LEFT JOIN alkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' " 
     246                        ."LEFT JOIN ax_blattart_buchungsblatt wb ON b.blattart = wb.wert " 
    245247                        ."WHERE s.gml_id= $1 AND b.endet IS NULL AND s.endet IS NULL AND z.endet IS NULL ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    246248                        $v=array($gml_bsan); 
     
    359361// Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt 
    360362// Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt 
    361 $sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, wa.v AS blattartv,  
    362 sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, wb.v AS bart, wb.d AS bartd, bz.bezeichnung AS beznam, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev  
     363$sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, wa.beschreibung AS blattartv,  
     364sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, wb.beschreibung AS bart, wb.dokumentation AS bartd, bz.bezeichnung AS beznam, d.bezeichnung, d.stelle, d.stellenart, wd.beschreibung AS stellev  
    363365FROM ax_buchungsstelle sf JOIN ax_buchungsstelle sb ON (sf.gml_id=ANY(sb.an) OR sf.gml_id=ANY(sb.zu))  
    364366JOIN ax_buchungsblatt bb ON bb.gml_id=sb.istbestandteilvon  
    365367LEFT JOIN ax_buchungsblattbezirk bz ON bb.land=bz.land AND bb.bezirk=bz.bezirk  
    366 LEFT JOIN ax_dienststelle d ON bz.land=d.land AND bz.stelle=d.stelle  
    367 LEFT JOIN alkis_wertearten wa ON cast(bb.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 
    368 LEFT JOIN alkis_wertearten wb ON cast(sb.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
    369 LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
     368LEFT JOIN ax_dienststelle d ON bz.land=d.land AND bz.gehoertzu_stelle=d.stelle  
     369LEFT JOIN ax_blattart_buchungsblatt wa ON bb.blattart = wa.wert 
     370LEFT JOIN ax_buchungsart_buchungsstelle wb ON sb.buchungsart = wb.wert 
     371LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert 
    370372WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL AND bz.endet IS NULL AND d.endet IS NULL  
    371373ORDER BY cast(sf.laufendenummer AS integer), bz.bezeichnung, bb.buchungsblattnummermitbuchstabenerweiterung, cast(sb.laufendenummer AS integer);"; 
Note: See TracChangeset for help on using the changeset viewer.