SINN#77704 -- SINNE en M2-besteding en Eigenaarschap - Registratie en Rapportage

svn path=/Customer/trunk/; revision=63992
This commit is contained in:
Jos Migo
2024-03-20 14:46:48 +00:00
parent 1939f8fea1
commit dc232af44d

View File

@@ -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