-- $Id$
--
-- Script containing customer specific sql statements for the FACILITOR database

DEFINE thisfile = 'OOZR.SQL'
DEFINE dbuser   = '^OOZR'
DEFINE custid   = 'OOZR'

SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;

SELECT adm.scriptspoolfile ('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;

WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF

------ payload begin -----

CREATE OR REPLACE VIEW OOZR_V_AFDELING_BRINCODE
(
   AFDELING_KEY,
   NAAM,
   NAAM_UPPER,
   AFDELING_OMSCHRIJVING,
   KOSTENPLAATS,
   AFDELINGNAAM,
   ORGANISATIE,
   NIVEAU,
   BRINCODE
)
AS
     SELECT DISTINCT dd.prs_afdeling_key Afdeling_key,
                     dd.prs_afdeling_naam Naam,
                     UPPER (dd.prs_afdeling_naam) Naam_Upper,
                     dd.prs_afdeling_omschrijving Afdeling_omschrijving,
                     k.prs_kostenplaats_nr Kostenplaats,
                     d.prs_afdeling_naam1 Afdelingnaam,
                     b.prs_bedrijf_naam Organisatie,
                     (d.niveau + 1) Niveau,
                     prs_kenmerklink_waarde Brincode
       FROM prs_afdeling dd,
            prs_kostenplaats k,
            prs_v_aanwezigafdeling d,
            prs_bedrijf b,
            prs_kenmerklink pkl --Toegevoegd om de afdelings brincode weer te kunnen geven
      WHERE     k.prs_kostenplaats_key(+) = dd.prs_kostenplaats_key
            AND d.prs_afdeling_key = dd.prs_afdeling_parentkey
            AND b.prs_bedrijf_key = d.prs_bedrijf_key
            AND d.niveau = 1
            AND dd.prs_afdeling_verwijder IS NULL
            AND dd.PRS_AFDELING_KEY = pkl.PRS_LINK_KEY --Relatie van prs_afdeling naar prs_kenmerklink
            AND pkl.prs_kenmerk_key = 1000 --Alle records waarvan de PRS_kenmerk_key 1000 is(brincode)
   ORDER BY Naam_upper;

CREATE OR REPLACE VIEW OOZR_V_CAD_OBJECTEN
(
   ALG_RUIMTE_KEY,
   WAARDE
)
AS
   (  SELECT ins_alg_ruimte_key alg_ruimte_key,
             ins_srtdeel_omschrijving || ' ' || TO_CHAR (COUNT ( * )) waarde
        FROM ins_deel insd, ins_srtdeel isd
       WHERE     insd.ins_srtdeel_key = isd.ins_srtdeel_key
             AND ins_deel_verwijder IS NULL
             AND ins_deel_parent_key IS NULL
    GROUP BY ins_alg_ruimte_key, ins_srtdeel_omschrijving);

CREATE OR REPLACE VIEW OOZR_V_CAD_VLOERAFWERKING
(
   ALG_RUIMTE_KEY,
   WAARDE
)
AS
   SELECT r.alg_ruimte_key, va.alg_onrgoedkenmerk_waarde
     FROM alg_ruimte r,
          (SELECT rr.alg_ruimte_key, ok.alg_onrgoedkenmerk_waarde
             FROM alg_onrgoedkenmerk ok, alg_v_aanwezigruimte rr
            WHERE ok.alg_kenmerk_key = 1060
                  AND rr.alg_ruimte_key = ok.alg_onrgoed_key) va
    WHERE va.alg_ruimte_key = r.alg_ruimte_key;

CREATE OR REPLACE VIEW OOZR_V_CAD_VLOERONDERHOUD
(
   ALG_RUIMTE_KEY,
   WAARDE
)
AS
   SELECT r.alg_ruimte_key,
          DECODE (va.alg_onrgoedkenmerk_waarde, 1, 'Ja', 'Nee')
             vloeronderhoud
     FROM alg_ruimte r,
          (SELECT rr.alg_ruimte_key, ok.alg_onrgoedkenmerk_waarde
             FROM alg_onrgoedkenmerk ok, alg_v_aanwezigruimte rr
            WHERE ok.alg_kenmerk_key = 1080
                  AND rr.alg_ruimte_key = ok.alg_onrgoed_key) va
    WHERE va.alg_ruimte_key(+) = r.alg_ruimte_key;

CREATE OR REPLACE VIEW OOZR_V_OVERZICHT_AFDELINGEN
(
   PRS_AFDELING_KEY,
   PRS_AFDELING_NAAM,
   UPPERNAAM,
   PRS_AFDELING_OMSCHRIJVING,
   PRS_KOSTENPLAATS_NR,
   AFDELINGNAAM2,
   PRS_BEDRIJF_NAAM,
   NIVEAU,
   BRINCODE
)
AS
     SELECT dd.prs_afdeling_key,
            dd.prs_afdeling_naam,
            UPPER (dd.prs_afdeling_naam) uppernaam,
            dd.prs_afdeling_omschrijving,
            k.prs_kostenplaats_nr,
            d.prs_afdeling_naam1 AS afdelingnaam2,
            b.prs_bedrijf_naam,
            (d.niveau + 1) niveau,
            prs_kenmerklink_waarde Brincode
       FROM prs_afdeling dd,
            prs_kostenplaats k,
            prs_v_aanwezigafdeling d,
            prs_bedrijf b,
            prs_kenmerk pk,
            prs_kenmerklink pkl
      WHERE     k.prs_kostenplaats_key(+) = dd.prs_kostenplaats_key
            AND d.prs_afdeling_key = dd.prs_afdeling_parentkey
            AND b.prs_bedrijf_key = d.prs_bedrijf_key
            AND d.niveau = 1
            AND dd.prs_afdeling_verwijder IS NULL
            AND pk.prs_kenmerk_key = pkl.prs_kenmerk_key
            AND pkl.prs_kenmerk_key = 1000
   ORDER BY uppernaam;        

CREATE OR REPLACE VIEW OOZR_V_RAPP_GEBOUWDOSSIER
(
   HTML_FOTO,
   REGIO,
   DISTRICT,
   LOCATIE,
   HTML_GEBOUW,
   BOUWJAAR,
   AANT_RUIMTES_MEDEGEBRUIK,
   AANT_RUIMTES_ONDERWIJS,
   AANT_RUIMTES_LEEG,
   HTML_RUIMTE
)
AS
  SELECT DECODE (
            (SELECT alg_onrgoedkenmerk_waarde
               FROM alg_onrgoedkenmerk gk
              WHERE alg_kenmerk_key = 1084
                    AND r.alg_gebouw_key = gk.alg_onrgoed_key),
            NULL,
            'Geen foto',
               '<img  src="https://oozr.facilitorlabs.nl/api2/buildings/'
            || alg_gebouw_key
            || '/attachments/1084/'
            || (SELECT alg_onrgoedkenmerk_waarde
                  FROM alg_onrgoedkenmerk gk
                 WHERE alg_kenmerk_key = 1084
                       AND r.alg_gebouw_key = gk.alg_onrgoed_key)
            || '" height="60">')
            Foto,
         rg.alg_regio_omschrijving,
         d.alg_district_omschrijving,
         r.alg_locatie_omschrijving,
            '<a class="details" onclick=''FcltMgr.openDetail("'
         || 'appl/ALG/alg_show_gebouw.asp?'
         || 'bld_key='
         || r.alg_gebouw_key
         || '")''>'
         || HTF.escape_sc (r.alg_gebouw_omschrijving)
         || '</a>',
         bouwjaar.alg_onrgoedkenmerk_waarde bouwjaar,
         COUNT (mede_nw.alg_ruimte_key) aant_ruimtes_medegebruik,
         COUNT (onderwijs.alg_ruimte_key) aant_ruimtes_onderwijs,
         COUNT (leegstand.alg_ruimte_key) aant_ruimtes_leeg,       
            '<a class="details" onclick=''FcltMgr.openDetail("'
         || 'appl/alg/alg_ruimte_search_list.asp?'
         || 'gebouwkey='
         || r.alg_gebouw_key
         || '")''>'
         || HTF.escape_sc (COUNT (onderwijs.alg_ruimte_key))
         || '</a>'
    FROM alg_v_ruimte_gegevens_all r,
         alg_regio rg,
         alg_district d,
         (SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde
            FROM alg_onrgoedkenmerk
           WHERE     alg_onrgoed_niveau = 'G'
                 AND alg_kenmerk_key = 1002
                 AND alg_onrgoedkenmerk_verwijder IS NULL) bouwjaar,
         (SELECT r.*
            FROM alg_ruimte r
           WHERE alg_srtruimte_key = 992) mede_nw,
         (SELECT alg_ruimte_key
            FROM alg_ruimte ar
           WHERE ar.alg_srtruimte_key = 993 AND ar.alg_ruimte_verwijder IS NULL)
         onderwijs,
           (SELECT alg_ruimte_key
            FROM alg_ruimte ar
           WHERE ar.alg_srtruimte_key = 1001 AND ar.alg_ruimte_verwijder IS NULL)
         leegstand
   WHERE     r.alg_district_key = d.alg_district_key
         AND d.alg_regio_key = rg.alg_regio_key
         AND bouwjaar.alg_onrgoed_key(+) = r.alg_gebouw_key
         AND onderwijs.alg_ruimte_key(+) = r.alg_ruimte_key
         AND leegstand.alg_ruimte_key(+) = r.alg_ruimte_key     
         AND mede_nw.alg_ruimte_key(+) = r.alg_ruimte_key
GROUP BY rg.alg_regio_omschrijving,
         d.alg_district_omschrijving,
         r.alg_locatie_omschrijving,
         alg_gebouw_omschrijving,
         bouwjaar.alg_onrgoedkenmerk_waarde,    
         r.alg_gebouw_key;
            
BEGIN
   DBMS_UTILITY.COMPILE_SCHEMA (USER, FALSE);
END;
/


------ payload end   ------

SET DEFINE OFF

BEGIN
   adm.systrackscriptId ('$Id$',
                         0);
END;
/

COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile