diff --git a/SINN/sinn.sql b/SINN/sinn.sql index 9e5efc9de..dc99e5839 100644 --- a/SINN/sinn.sql +++ b/SINN/sinn.sql @@ -923,29 +923,21 @@ AS ; -- Bedrijf EXTERN - Voor aanduiding 'Eigenaar/Huurder van Gebouw(onderdeel)' in vastgoedketen -CREATE OR REPLACE VIEW sinn_v_eigenaar_huurder +CREATE OR REPLACE VIEW SINN_V_EIGENAAR_VERHUURDER ( - KEY, + PRS_AFDELING_KEY, NAAM, CODE ) AS - SELECT - a.prs_afdeling_key, - a.prs_afdeling_omschrijving, - a.prs_afdeling_upper - FROM - prs_v_afdeling a, - prs_bedrijf b, - prs_kenmerklink km - WHERE - a.prs_bedrijf_key = b.prs_bedrijf_key - AND b.prs_bedrijf_key = 61 -- Extern - AND a.niveau = 1 - AND a.prs_afdeling_key = km.prs_link_key AND km.prs_kenmerklink_niveau = 'A' - AND prs_kenmerk_key = 1000 -- Vinkbox 'Eigenaar/Huurder van Gebouw(onderdeel)' - ORDER BY a.prs_afdeling_omschrijving - ; + SELECT a.prs_afdeling_key, + a.prs_afdeling_omschrijving, + a.prs_afdeling_upper + FROM prs_v_afdeling a, prs_bedrijf b + WHERE a.prs_bedrijf_key = b.prs_bedrijf_key + AND b.prs_bedrijf_key = 61 -- Extern EV (eigenaren en verhuurderspartijen van SINNE + AND a.niveau = 1 + ORDER BY a.prs_afdeling_omschrijving; -- Rapportage Veiligheid en Gezondheid - Ongeval Kind CREATE OR REPLACE VIEW SINN_V_MLD_ONGEVAL_KIND @@ -1099,12 +1091,44 @@ AS AND m.prs_perslid_key = p.prs_perslid_key(+) ; +-- Bronview gekoppelde afdelingen aan ruimtes +---- Tbv rapportage gebouwbeheer - M2-bepalingen +CREATE OR REPLACE VIEW SINN_V_ALG_ONROERENDGOED_ORG +( + ALG_RUIMTE_KEY, + BVO_M2, + PRS_AFDELING_KEY, + PRS_AFDELING_OMSCHRIJVING, + EXTERNE_EV, -- is het een EV-partij (eigenaar/verhuurder - uit domeinview sinn_v_eigenaar_verhuurder) + PRS_RUIMTEAFDELING_BEZETTING, + PRS_RUIMTEAFDELING_M2 + ) +AS + SELECT r.alg_ruimte_key, + r.alg_ruimte_bruto_vloeropp, + a.prs_afdeling_key, + a.prs_afdeling_omschrijving, + DECODE(v.prs_afdeling_key, NULL, 'nee', 'ja') + externe_ev, + ra.prs_ruimteafdeling_bezetting, + ROUND(r.alg_ruimte_bruto_vloeropp * (ra.prs_ruimteafdeling_bezetting/100), 2) + prs_ruimteafdeling_m2 + FROM alg_ruimte r, prs_ruimteafdeling ra, prs_afdeling a, sinn_v_eigenaar_verhuurder v + WHERE r.alg_ruimte_key = ra.alg_ruimte_key + AND ra.prs_afdeling_key = a.prs_afdeling_key + AND a.prs_afdeling_key = v.prs_afdeling_key (+) + AND ra.prs_ruimteafdeling_verwijder IS NULL + AND ra.prs_ruimteafdeling_ingangsdatum <= TRUNC(SYSDATE) + AND COALESCE(ra.prs_ruimteafdeling_einddatum, TRUNC(SYSDATE)) <= TRUNC(SYSDATE) ; + -- Rapportage Gebouwbeheer CREATE OR REPLACE VIEW SINN_V_ALG_ONROERENDGOED ( KOEPEL, + ALG_LOCATIE_KEY, LOCATIE, LOCATIE_CODE, + ALG_GEBOUW_KEY, GEBOUW, -- gegevens uit gebouwkaart GEBRUIKSRECHT, @@ -1115,100 +1139,132 @@ CREATE OR REPLACE VIEW SINN_V_ALG_ONROERENDGOED DOV, SLG, BSO, + VSO, DOV_LRK, SLG_LRK, BSO_LRK, + VSO_LRK, -- VERDIEPING, + ALG_RUIMTE_KEY, RUIMTENR, RUIMTE_OMSCHRIJVING, RUIMTEFUNCTIE, BVO_M2, - GEBRUIKSRECHT_RUIMTE, + -- kenmerken ruimte + GEBRUIKSRECHT_RUIMTE, -- KAN KOMEN TE VERVALLEN ? VLOERSOORT, - M2_BSO, - M2_SLG, + DOV_R, + SLG_R, + BSO_R, + VSO_R, + -- M2 verdeelsleutel opvangsoorten + AANTAL_OPVANGSOORT_R, M2_DOV, - M2_OVERIG + M2_SLG, + M2_BSO, + M2_VSO, + M2_OVERIG, + -- Externe partijen + EXTERNE_EV_R, -- welke externe eigenaren/verhuurders zitten op deze ruimte? (afdeling-koppeling) + EXTERNE_EV_M2 -- en hoeveel M2 hebben zij ) AS SELECT d.alg_district_omschrijving, + l.alg_locatie_key, l.alg_locatie_omschrijving, l.alg_locatie_code, + v.alg_gebouw_key, v.alg_gebouw_code || ' - ' || v.alg_gebouw_naam gebouw, - km.gebruiksrecht, - km.eigenaar_verhuurder_1, - km.eigenaar_verhuurder_2, - km.eigenaar_verhuurder_3, - km.eigenaarschap_toelichting, - km.dov, - km.slg, - km.bso, - km.dov_lrk, - km.slg_lrk, - km.bso_lrk, + kmg.gebruiksrecht, + kmg.eigenaar_verhuurder_1, + kmg.eigenaar_verhuurder_2, + kmg.eigenaar_verhuurder_3, + kmg.eigenaarschap_toelichting, + kmg.dov, + kmg.slg, + kmg.bso, + kmg.vso, + kmg.dov_lrk, + kmg.slg_lrk, + kmg.bso_lrk, + kmg.vso_lrk, v.alg_verdieping_omschrijving || ' - ' || v.alg_verdieping_code verdieping, + v.alg_ruimte_key, v.alg_ruimte_nr, v.alg_ruimte_omschrijving, sr.alg_srtruimte_omschrijving, r.alg_ruimte_bruto_vloeropp, - sinn_get_kenmerk('ALG',1106, r.alg_ruimte_key) gebruiksrecht_ruimte, - sinn_get_kenmerk('ALG',1006, r.alg_ruimte_key) vloersoort, - mm.m2_bso, - mm.m2_slg, - mm.m2_dov, - mm.m2_overig + kmr.gebruiksrecht_ruimte, -- DEZE KAN KOMEN TE VERVALLEN!!!!! + kmr.vloersoort, + kmr.dov_r, + kmr.slg_r, + kmr.bso_r, + kmr.vso_r, + -- M2 verdeelsleutel opvangsoorten + kmr.aantal_opvangsoorten_r, + CASE WHEN kmr.dov_r = 1 THEN r.alg_ruimte_bruto_vloeropp/kmr.aantal_opvangsoorten_r ELSE 0 END + m2_dov, + CASE WHEN kmr.slg_r = 1 THEN r.alg_ruimte_bruto_vloeropp/kmr.aantal_opvangsoorten_r ELSE 0 END + m2_slg, + CASE WHEN kmr.bso_r = 1 THEN r.alg_ruimte_bruto_vloeropp/kmr.aantal_opvangsoorten_r ELSE 0 END + m2_bso, + CASE WHEN kmr.vso_r = 1 THEN r.alg_ruimte_bruto_vloeropp/kmr.aantal_opvangsoorten_r ELSE 0 END + m2_vso, + CASE WHEN kmr.aantal_opvangsoorten_r = 0 THEN r.alg_ruimte_bruto_vloeropp ELSE 0 END + m2_overig, + -- M2 externe partijen + ra.externe_ev_r, + ra.externe_ev_m2 FROM alg_v_onroerendgoed_gegevens v, alg_locatie l, alg_district d, (SELECT g.alg_gebouw_key, - sinn_get_kenmerk('ALG',1011, g.alg_gebouw_key) gebruiksrecht, - sinn_get_kenmerk('ALG',1103, g.alg_gebouw_key) eigenaar_verhuurder_1, - sinn_get_kenmerk('ALG',1104, g.alg_gebouw_key) eigenaar_verhuurder_2, - sinn_get_kenmerk('ALG',1105, g.alg_gebouw_key) eigenaar_verhuurder_3, - sinn_get_kenmerk('ALG',1012, g.alg_gebouw_key) eigenaarschap_toelichting, - sinn_get_kenmerk('ALG',1040, g.alg_gebouw_key) DOV, - sinn_get_kenmerk('ALG',1041, g.alg_gebouw_key) SLG, - sinn_get_kenmerk('ALG',1042, g.alg_gebouw_key) BSO, - sinn_get_kenmerk('ALG',1035, g.alg_gebouw_key) DOV_LRK, - sinn_get_kenmerk('ALG',1120, g.alg_gebouw_key) SLG_LRK, - sinn_get_kenmerk('ALG',1121, g.alg_gebouw_key) BSO_LRK - FROM alg_gebouw g ) km, + flx.getdomeinwaarde(18, flx.getflex('ALG',1011, g.alg_gebouw_key, 'G')) gebruiksrecht, + flx.getdomeinwaarde(41, flx.getflex('ALG',1103, g.alg_gebouw_key, 'G')) eigenaar_verhuurder_1, + flx.getdomeinwaarde(41, flx.getflex('ALG',1104, g.alg_gebouw_key, 'G')) eigenaar_verhuurder_2, + flx.getdomeinwaarde(41, flx.getflex('ALG',1105, g.alg_gebouw_key, 'G')) eigenaar_verhuurder_3, + flx.getflex('ALG',1012, g.alg_gebouw_key, 'G') eigenaarschap_toelichting, + flx.getflex('ALG',1040, g.alg_gebouw_key, 'G') DOV, + flx.getflex('ALG',1041, g.alg_gebouw_key, 'G') SLG, + flx.getflex('ALG',1042, g.alg_gebouw_key, 'G') BSO, + flx.getflex('ALG',1360, g.alg_gebouw_key, 'G') VSO, + flx.getflex('ALG',1035, g.alg_gebouw_key, 'G') DOV_LRK, + flx.getflex('ALG',1120, g.alg_gebouw_key, 'G') SLG_LRK, + flx.getflex('ALG',1121, g.alg_gebouw_key, 'G') BSO_LRK, + 'nvt?' vso_lrk + FROM alg_gebouw g ) kmg, -- kenmerken gebouw alg_ruimte r, + (SELECT r.alg_ruimte_key, + flx.getdomeinwaarde(41, flx.getflex('ALG',1106, r.alg_ruimte_key, 'R')) gebruiksrecht_ruimte, + flx.getdomeinwaarde(17, flx.getflex('ALG',1006, r.alg_ruimte_key, 'R')) vloersoort, + flx.getflex('ALG',1341, r.alg_ruimte_key, 'R') DOV_R, + flx.getflex('ALG',1342, r.alg_ruimte_key, 'R') SLG_R, + flx.getflex('ALG',1343, r.alg_ruimte_key, 'R') BSO_R, + flx.getflex('ALG',1380, r.alg_ruimte_key, 'R') VSO_R, + COALESCE(flx.getflex('ALG',1341, r.alg_ruimte_key, 'R') + + flx.getflex('ALG',1342, r.alg_ruimte_key, 'R') + + flx.getflex('ALG',1343, r.alg_ruimte_key, 'R') + + flx.getflex('ALG',1380, r.alg_ruimte_key, 'R'), 0) aantal_opvangsoorten_r + FROM alg_ruimte r ) kmr, -- kenmerken ruimte alg_srtruimte sr, - (SELECT m.alg_ruimte_key, sum(m2_dov) m2_dov, sum(m2_slg) m2_slg, sum(m2_bso) m2_bso, sum(m2_overig) m2_overig - FROM - (SELECT r.alg_ruimte_key, r.alg_ruimte_bruto_vloeropp, a.prs_afdeling_omschrijving, ra.prs_ruimteafdeling_bezetting, - CASE WHEN SUBSTR(a.prs_afdeling_omschrijving,1,3) = 'DOV' THEN ROUND(((ra.prs_ruimteafdeling_bezetting/100) * r.alg_ruimte_bruto_vloeropp),2) - ELSE NULL - END m2_dov, - CASE WHEN SUBSTR(a.prs_afdeling_omschrijving,1,3) = 'SLG' THEN ROUND(((ra.prs_ruimteafdeling_bezetting/100) * r.alg_ruimte_bruto_vloeropp),2) - ELSE NULL - END m2_slg, - CASE WHEN SUBSTR(a.prs_afdeling_omschrijving,1,3) = 'BSO' THEN ROUND(((ra.prs_ruimteafdeling_bezetting/100) * r.alg_ruimte_bruto_vloeropp),2) - ELSE NULL - END m2_bso, - CASE WHEN SUBSTR(a.prs_afdeling_omschrijving,1,3) NOT IN ('DOV', 'SLG', 'BSO') THEN ROUND(((ra.prs_ruimteafdeling_bezetting/100) * r.alg_ruimte_bruto_vloeropp),2) - ELSE NULL - END m2_overig - FROM alg_ruimte r, prs_ruimteafdeling ra, prs_afdeling a - WHERE r.alg_ruimte_key = ra.alg_ruimte_key - AND ra.prs_afdeling_key = a.prs_afdeling_key - AND ra.prs_ruimteafdeling_verwijder IS NULL - AND (r.alg_ruimte_bruto_vloeropp IS NOT NULL OR r.alg_ruimte_bruto_vloeropp > 0 ) - ) m - GROUP BY m.alg_ruimte_key ) mm + (SELECT v.alg_ruimte_key, sum(v.prs_ruimteafdeling_m2) externe_ev_m2, + LISTAGG (v.prs_afdeling_omschrijving || ' (' || v.prs_ruimteafdeling_m2 || ' m2)' || DECODE(v.externe_ev, 'nee', ' !!!!', ''), CHR(10)) + WITHIN GROUP (ORDER BY v.prs_afdeling_omschrijving) + AS externe_ev_r + FROM sinn_v_alg_onroerendgoed_org v + GROUP BY alg_ruimte_key) ra -- ruimte_afdelingen gekoppeld WHERE v.alg_locatie_key = l.alg_locatie_key AND l.alg_district_key = d.alg_district_key AND v.alg_type IN ('R') - AND v.alg_gebouw_key = km.alg_gebouw_key + AND v.alg_gebouw_key = kmg.alg_gebouw_key AND v.alg_ruimte_key = r.alg_ruimte_key AND r.alg_ruimte_verwijder IS NULL + AND r.alg_ruimte_key = kmr.alg_ruimte_key (+) AND r.alg_srtruimte_key = sr.alg_srtruimte_key (+) - AND r.alg_ruimte_key = mm.alg_ruimte_key (+) - ORDER BY d.alg_district_omschrijving, l.alg_locatie_code, v.alg_gebouw_code, v.alg_ruimte_nr -; + AND r.alg_ruimte_key = ra.alg_ruimte_key (+) + ORDER BY d.alg_district_omschrijving, l.alg_locatie_code, v.alg_gebouw_code, v.alg_verdieping_code, v.alg_ruimte_nr ; -- RIE - INSPECTIES --- -- 1. Basislijst uitgevoerde inspecties