SINN#68565 -- opleveren rapportageviews gebouwbeheer en kindongeval

svn path=/Customer/trunk/; revision=54793
This commit is contained in:
Jos Migo
2022-02-02 07:38:33 +00:00
parent 10ef3a9a1a
commit d4b834ef55

View File

@@ -52,7 +52,6 @@ AS
v_kenmerk_waarde mld_kenmerkmelding.mld_kenmerkmelding_waarde%TYPE;
v_kenmerkdomein_key fac_kenmerkdomein.fac_kenmerkdomein_key%TYPE;
v_kenmerk_niveau ins_kenmerk.ins_kenmerk_niveau%TYPE;
BEGIN
CASE p_module
WHEN 'MLD'
@@ -70,6 +69,53 @@ BEGIN
AND km.mld_kenmerk_key = p_kenmerk_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key;
WHEN 'CNT'
THEN
SELECT cnt_srtkenmerk_kenmerktype,
sk.fac_kenmerkdomein_key,
kc.cnt_kenmerkcontract_waarde
INTO v_kenmerk_type,
v_kenmerkdomein_key,
v_kenmerk_waarde
FROM cnt_kenmerkcontract kc,
cnt_kenmerk k,
cnt_srtkenmerk sk
WHERE kc.cnt_contract_key = p_link_key
AND kc.cnt_kenmerk_key = p_kenmerk_key
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key;
WHEN 'ALG'
THEN
SELECT alg_kenmerk_kenmerktype,
k.fac_kenmerkdomein_key,
aogk.alg_onrgoedkenmerk_waarde
INTO v_kenmerk_type,
v_kenmerkdomein_key,
v_kenmerk_waarde
FROM alg_onrgoedkenmerk aogk, alg_kenmerk k
WHERE aogk.alg_onrgoed_key = p_link_key
AND aogk.alg_kenmerk_key = p_kenmerk_key
AND aogk.alg_kenmerk_key = k.alg_kenmerk_key;
WHEN 'INS'
THEN
SELECT k.ins_kenmerk_niveau
INTO v_kenmerk_niveau
FROM ins_kenmerk k
WHERE ins_kenmerk_key = p_kenmerk_key;
IF v_kenmerk_niveau = 'C' THEN
SELECT sk.ins_srtkenmerk_kenmerktype,
sk.fac_kenmerkdomein_key,
ikds.ins_kmdeelsrtcontr_waarde
INTO v_kenmerk_type,
v_kenmerkdomein_key,
v_kenmerk_waarde
FROM ins_kmdeelsrtcontr ikds, ins_kenmerk k, ins_srtkenmerk sk
WHERE ikds.ins_deelsrtcontrole_key = p_link_key
AND ikds.ins_kmdeelsrtcontr_verwijder IS NULL
AND ikds.ins_kenmerk_key = p_kenmerk_key
AND ikds.ins_kenmerk_key = k.ins_kenmerk_key
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
ELSE
SELECT sk.ins_srtkenmerk_kenmerktype,
sk.fac_kenmerkdomein_key,
@@ -83,7 +129,7 @@ BEGIN
AND ikd.ins_kenmerk_key = p_kenmerk_key
AND ikd.ins_kenmerk_key = k.ins_kenmerk_key
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
END IF;
END CASE;
RETURN sinn_get_kenmerkwaarde (v_kenmerk_type,
@@ -897,58 +943,137 @@ AS
ORDER BY a.prs_afdeling_omschrijving
;
-- Rapportage Veiligheid en Gezondheid
CREATE OR REPLACE VIEW SINN_V_MLD_ONGEVALLEN
-- Rapportage Veiligheid en Gezondheid - Ongeval Kind
CREATE OR REPLACE VIEW SINN_V_MLD_ONGEVAL_KIND
(
MLD_MELDING_KEY,
MLD_MELDING_NR,
DATUM_GEMELD,
DATUM_ONGEVAL,
MLD_STDMELDING_OMSCHRIJVING,
MLD_MELDING_ONDERWERP,
MLD_MELDING_OMSCHRIJVING,
MLD_MELDING_OPMERKING,
MLD_STATUS,
ALG_LOCATIE_OMSCHRIJVING,
ALG_GEBOUW_NAAM,
-- Kenmerkvelden uit formulier
GEMELD_DOOR,
GROEP,
OPVANGSOORT,
DATUM_ONGEVAL,
TIJDSTIP_ONGEVAL,
INITIALEN_KIND,
LEEFTIJD_KIND,
SOORT_ONGEVAL,
PLAATS_ONGEVAL,
BETROKKENE,
LETSEL_1,
LETSEL_2,
LETSEL_3,
TE_VOORKOMEN
BETROKKENE_WIE,
PLAATS_ONGEVAL,
PLAATS_ONGEVAL_ANDERS,
SOORT_ONGEVAL,
SOORT_ONGEVAL_OMSCHREVEN,
LETSEL_KIND,
LETSEL_SOORT_1,
LETSEL_SOORT_2,
LETSEL_SOORT_3,
LETSEL_AAN_1,
LETSEL_AAN_2,
CONTACT_OUDERS,
CONTACT_OUDERS_WIE,
CONTACT_OUDERS_WAT,
IMPACT_ONGEVAL,
TE_VOORKOMEN,
MAATREGELEN_GETROFFEN,
MAATREGEL_1,
MAATREGEL_1_EFFECT,
MAATREGEL_2,
MAATREGEL_2_EFFECT,
MAATREGEL_3,
MAATREGEL_3_EFFECT,
MAATREGEL_4,
MAATREGEL_4_EFFECT
)
AS
SELECT m.mld_melding_key,
sd.ins_srtdiscipline_prefix || m.mld_melding_key
mld_melding_nr,
m.mld_melding_datum,
sinn_get_kenmerk('MLD',146 , m.mld_melding_key)
datum_ongeval,
sm.mld_stdmelding_omschrijving,
m.mld_melding_onderwerp,
m.mld_melding_omschrijving,
m.mld_melding_opmerking,
st.mld_statuses_omschrijving,
l.alg_locatie_omschrijving,
v.alg_gebouw_naam,
sinn_get_kenmerk('MLD',192, m.mld_melding_key) -- 192 opvangsoort
-- Kenmerkvelden uit formulier
sinn_get_kenmerk('MLD', 155 , m.mld_melding_key)
gemeld_door,
sinn_get_kenmerk('MLD', 157 , m.mld_melding_key)
groep,
sinn_get_kenmerk('MLD', 192, m.mld_melding_key)
opvangsoort,
sinn_get_kenmerk('MLD',164, m.mld_melding_key) -- 164 leeftijd kind
leeftijd_kind,
sinn_get_kenmerk('MLD',196, m.mld_melding_key) -- 196 soort ongeval
soort_ongeval,
sinn_get_kenmerk('MLD',194, m.mld_melding_key) -- 196 plaats ongeval
sinn_get_kenmerk('MLD', 146 , m.mld_melding_key)
datum_ongeval,
sinn_get_kenmerk('MLD', 199 , m.mld_melding_key)
tijdstip_ongeval,
sinn_get_kenmerk('MLD', 161 , m.mld_melding_key)
initialen_kind,
sinn_get_kenmerk('MLD', 164 , m.mld_melding_key)
leeftijd_kind,
sinn_get_kenmerk('MLD', 136 , m.mld_melding_key)
betrokkene,
sinn_get_kenmerk('MLD', 137 , m.mld_melding_key)
betrokkene_wie,
sinn_get_kenmerk('MLD', 194 , m.mld_melding_key)
plaats_ongeval,
sinn_get_kenmerk('MLD',136, m.mld_melding_key) -- 136 betrokkene
betrokkene,
sinn_get_kenmerk('MLD',168, m.mld_melding_key) -- 168 letsel_1
letsel_1,
sinn_get_kenmerk('MLD',302, m.mld_melding_key) -- 302 letsel_2
letsel_2,
sinn_get_kenmerk('MLD',303, m.mld_melding_key) -- 303 letsel_3
letsel_3,
sinn_get_kenmerk('MLD',198, m.mld_melding_key) -- 198 te voorkomen
te_voorkomen
sinn_get_kenmerk('MLD', 205 , m.mld_melding_key)
plaats_ongeval_anders,
sinn_get_kenmerk('MLD', 196 , m.mld_melding_key)
soort_ongeval,
sinn_get_kenmerk('MLD', 197 , m.mld_melding_key)
soort_ongeval_omschreven,
sinn_get_kenmerk('MLD', 341 , m.mld_melding_key)
letsel_kind,
sinn_get_kenmerk('MLD', 168 , m.mld_melding_key)
letsel_soort_1,
sinn_get_kenmerk('MLD', 302 , m.mld_melding_key)
letsel_soort_2,
sinn_get_kenmerk('MLD', 303 , m.mld_melding_key)
letsel_soort_3,
sinn_get_kenmerk('MLD', 167 , m.mld_melding_key)
letsel_aan_1,
sinn_get_kenmerk('MLD', 381 , m.mld_melding_key)
letsel_aan_2,
sinn_get_kenmerk('MLD', 144 , m.mld_melding_key)
contact_ouders,
sinn_get_kenmerk('MLD', 142 , m.mld_melding_key)
contact_ouders_wie,
sinn_get_kenmerk('MLD', 143 , m.mld_melding_key)
contact_ouders_wat,
sinn_get_kenmerk('MLD', 160 , m.mld_melding_key)
impact_ongeval,
sinn_get_kenmerk('MLD', 198 , m.mld_melding_key)
te_voorkomen,
sinn_get_kenmerk('MLD', 178 , m.mld_melding_key)
maatregelen_getroffen,
sinn_get_kenmerk('MLD', 169 , m.mld_melding_key)
maatregel_1,
sinn_get_kenmerk('MLD', 149 , m.mld_melding_key)
maatregel_1_effect,
sinn_get_kenmerk('MLD', 170 , m.mld_melding_key)
maatregel_2,
sinn_get_kenmerk('MLD', 150 , m.mld_melding_key)
maatregel_2_effect,
sinn_get_kenmerk('MLD', 171 , m.mld_melding_key)
maatregel_3,
sinn_get_kenmerk('MLD', 151 , m.mld_melding_key)
maatregel_3_effect,
sinn_get_kenmerk('MLD', 172 , m.mld_melding_key)
maatregel_4,
sinn_get_kenmerk('MLD', 152 , m.mld_melding_key)
maatregel_4_effect
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
alg_locatie l,
alg_v_allonrgoed_gegevens v,
mld_statuses st
@@ -957,8 +1082,120 @@ AS
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys
AND m.mld_melding_status = st.mld_statuses_key
AND md.ins_discipline_key = 36
AND m.mld_stdmelding_key = 42;
AND md.ins_discipline_key = 36
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_stdmelding_key = 42 ; -- Voor ONGEVAL KIND
-- Rapportage Gebouwbeheer
CREATE OR REPLACE VIEW SINN_V_ALG_ONROERENDGOED
(
KOEPEL,
LOCATIE,
LOCATIE_CODE,
GEBOUW,
-- gegevens uit gebouwkaart
GEBRUIKSRECHT,
EIGENAAR_VERHUURDER_1,
EIGENAAR_VERHUURDER_2,
EIGENAAR_VERHUURDER_3,
EIGENAARSCHAP_TOELICHTING,
DOV,
SLG,
BSO,
DOV_LRK,
SLG_LRK,
BSO_LRK,
--
VERDIEPING,
RUIMTENR,
RUIMTE_OMSCHRIJVING,
RUIMTEFUNCTIE,
BVO_M2,
GEBRUIKSRECHT_RUIMTE,
VLOERSOORT,
M2_BSO,
M2_SLG,
M2_DOV,
M2_OVERIG
)
AS
SELECT d.alg_district_omschrijving,
l.alg_locatie_omschrijving,
l.alg_locatie_code,
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,
v.alg_verdieping_omschrijving || ' - ' || v.alg_verdieping_code
verdieping,
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
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,
alg_ruimte r,
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
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_ruimte_key = r.alg_ruimte_key AND r.alg_ruimte_verwijder IS NULL
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
;
------ payload end ------