Files
Database/CND/CND_VIE.SRC
Peter Feij ccafc02205 WOMA#74000 Kolom Complexcode toevoegen
svn path=/Database/trunk/; revision=57001
2022-08-24 15:25:53 +00:00

453 lines
19 KiB
Plaintext

#ifdef CND
/*
* $Revision$
* $Id$
*/
-- CND_V_NEN2767_ALLE_GEBREKEN: hierin zitten alle meldingen (gebreken) die nu relevant voor de berekening kunnen zijn
-- dus gebreken die erkend zijn maar nog niet verwerkt of afgewezen.
-- Niet uit te sluiten valt dat er dubbele registraties zijn, dat wordt ontdubbeld in cnd_v_nen2767_per_srtgebrek
-- Het is daarmee niet aannemelijk dat je deze view nodig hebt, gebruik cnd_v_nen2767_per_srtgebrek.
-- Merk op: op alle 3 de aspecten in mld_kenmerkmelding zit geen outer join, omdat ze overal verplicht zijn;
-- zonder deze waarden is de conditiescore ook niet te berekenen overigens.
-- Full version, met ernst, intensiteit en omvang
CREATE_VIEW(cnd_v_nen2767_alle_gebreken_fl,0)
(
ins_deel_key,
mld_melding_key,
mld_stdmelding_key,
mld_melding_status,
ernst,
intensiteit,
omvang
)
AS
WITH
w_srtdisc_key AS (SELECT fac.getsetting ('cnd_gebreken_srtdisc_key') sdk FROM DUAL)
SELECT d.ins_deel_key,
m.mld_melding_key,
m.mld_stdmelding_key,
m.mld_melding_status,
km_ernst.mld_kenmerkmelding_waarde,
km_intensiteit.mld_kenmerkmelding_waarde,
ud_omvang.fac_usrdata_prijs
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline disc,
mld_melding_object mo,
ins_deel d,
mld_kenmerkmelding km_ernst,
mld_kenmerk k_ernst,
mld_srtkenmerk sk_ernst,
mld_kenmerkmelding km_intensiteit,
mld_kenmerk k_intensiteit,
mld_srtkenmerk sk_intensiteit,
mld_kenmerkmelding km_omvang,
mld_kenmerk k_omvang,
mld_srtkenmerk sk_omvang,
fac_usrdata ud_omvang,
w_srtdisc_key
WHERE disc.ins_srtdiscipline_key = w_srtdisc_key.sdk
AND sm.mld_stdmelding_code <> 'GEEN'
AND disc.ins_discipline_verwijder IS NULL
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND mo.mld_melding_key = m.mld_melding_key
AND mo.mld_melding_object_verwijder IS NULL
AND d.ins_deel_key = mo.ins_deel_key
AND km_ernst.mld_melding_key = m.mld_melding_key
AND k_ernst.mld_kenmerk_key = km_ernst.mld_kenmerk_key
AND k_ernst.mld_srtkenmerk_key = sk_ernst.mld_srtkenmerk_key
AND sk_ernst.mld_srtkenmerk_code = 'ERNST'
AND km_intensiteit.mld_melding_key = m.mld_melding_key
AND k_intensiteit.mld_kenmerk_key = km_intensiteit.mld_kenmerk_key
AND k_intensiteit.mld_srtkenmerk_key = sk_intensiteit.mld_srtkenmerk_key
AND sk_intensiteit.mld_srtkenmerk_code = 'INTENSITEIT'
AND km_omvang.mld_melding_key = m.mld_melding_key
AND k_omvang.mld_kenmerk_key = km_omvang.mld_kenmerk_key
AND k_omvang.mld_srtkenmerk_key = sk_omvang.mld_srtkenmerk_key
AND sk_omvang.mld_srtkenmerk_code = 'OMVANG'
AND ud_omvang.fac_usrdata_key = fac.safe_to_number (km_omvang.mld_kenmerkmelding_waarde)
AND m.mld_melding_status NOT IN (1, 6);
-- Smaller/faster version, zonder ernst, intensiteit en omvang
CREATE_VIEW(cnd_v_nen2767_alle_gebreken,0)
(
ins_deel_key,
mld_melding_key,
mld_stdmelding_key
)
AS
WITH
w_srtdisc_key AS (SELECT fac.getsetting ('cnd_gebreken_srtdisc_key') sdk FROM DUAL)
SELECT d.ins_deel_key,
m.mld_melding_key,
m.mld_stdmelding_key
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline disc,
mld_melding_object mo,
ins_deel d,
w_srtdisc_key
WHERE disc.ins_srtdiscipline_key = w_srtdisc_key.sdk
AND sm.mld_stdmelding_code <> 'GEEN'
AND disc.ins_discipline_verwijder IS NULL
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND mo.mld_melding_key = m.mld_melding_key
AND mo.mld_melding_object_verwijder IS NULL
AND d.ins_deel_key = mo.ins_deel_key
AND m.mld_melding_status NOT IN (1, 6);
-- Ontdubbel eventuele zelfde gebreken die op hetzelfde object zijn gemaakt, dus wanneer na elkaar
-- hetzelfde gebrek (stdmelding) is ingelegd, dan geldt de laatste (=hoogste melding_key)
CREATE_VIEW(cnd_v_nen2767_per_srtgebrek,0)
(
ins_deel_key,
mld_melding_key,
mld_stdmelding_key,
mld_melding_status,
ernst,
intensiteit,
omvang
)
AS
SELECT a.ins_deel_key,
a.mld_melding_key,
a.mld_stdmelding_key,
a.mld_melding_status,
a.ernst,
a.intensiteit,
a.omvang
FROM cnd_v_nen2767_alle_gebreken_fl a,
( SELECT a2.mld_stdmelding_key,
a2.ins_deel_key,
MAX (a2.mld_melding_key) AS mld_melding_key
FROM cnd_v_nen2767_alle_gebreken a2
GROUP BY a2.mld_stdmelding_key, a2.ins_deel_key) b
WHERE a.mld_melding_key = b.mld_melding_key
AND a.ins_deel_key = b.ins_deel_key;
CREATE_VIEW(cnd_v_nen2767_gebrek,0)
AS
WITH
w_srtdisc_key AS (SELECT fac.getsetting ('cnd_gebreken_srtdisc_key') sdk FROM DUAL)
SELECT mo.ins_deel_key,
m.mld_melding_key,
m.mld_stdmelding_key,
m.mld_melding_status,
m.mld_melding_datum
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline disc,
mld_melding_object mo,
w_srtdisc_key
WHERE disc.ins_srtdiscipline_key = w_srtdisc_key.sdk
AND disc.ins_discipline_verwijder IS NULL
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND mo.mld_melding_key = m.mld_melding_key
AND mo.mld_melding_object_verwijder IS NULL
AND m.mld_melding_status NOT IN (1,6);
CREATE_VIEW(cnd_v_nen2767_srtgebrek,0)
AS
SELECT a.ins_deel_key,
a.mld_melding_key,
a.mld_stdmelding_key,
a.mld_melding_status,
a.mld_melding_datum
FROM cnd_v_nen2767_gebrek a,
( SELECT a2.mld_stdmelding_key,
a2.ins_deel_key,
MAX (a2.mld_melding_key) AS mld_melding_key
FROM cnd_v_nen2767_gebrek a2
GROUP BY a2.mld_stdmelding_key, a2.ins_deel_key) b
WHERE a.mld_melding_key = b.mld_melding_key
AND a.ins_deel_key = b.ins_deel_key;
CREATE_VIEW(cnd_v_aggr_cond_score,0)
(
alg_locatie_key,
alg_gebouw_key,
ins_deel_key,
ins_deel_aantal,
ins_deel_mjb_score1,
kosten,
correctiefactor,
totale_vervangingswaarde,
correctie_vervangingswaarde
)
AS
SELECT l.alg_locatie_key,
g.alg_gebouw_key,
d.ins_deel_key,
MAX (d.ins_deel_aantal),
MAX (d.ins_deel_mjb_score1),
MAX (
COALESCE (sc.INS_SRTCONTROLE_KOSTEN, 0)
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN2, 0)
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN3, 0)
+ COALESCE (sc.INS_SRTCONTROLE_MATERIAAL, 0))
kosten,
cnd.nen2767_corr_cond_score (MAX (d.ins_deel_mjb_score1))
correctiefactor,
MAX (d.ins_deel_aantal)
* MAX (
COALESCE (sc.INS_SRTCONTROLE_KOSTEN, 0)
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN2, 0)
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN3, 0)
+ COALESCE (sc.INS_SRTCONTROLE_MATERIAAL, 0))
totale_vervangingswaarde,
MAX (d.ins_deel_aantal)
* MAX (
COALESCE (sc.INS_SRTCONTROLE_KOSTEN, 0)
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN2, 0)
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN3, 0)
+ COALESCE (sc.INS_SRTCONTROLE_MATERIAAL, 0))
* cnd.nen2767_corr_cond_score (MAX (d.ins_deel_mjb_score1))
correctie_vervangingswaarde
FROM ins_deel d,
ins_v_defined_inspect_xcp sc,
alg_ruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE d.ins_deel_verwijder IS NULL
AND ins_deel_mjb_score1 IS NOT NULL
AND sc.ins_deel_key = d.ins_deel_key
AND d.ins_alg_ruimte_type = 'R'
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
AND ins_scenario_key = 1
AND ctr_ismjob = 1
GROUP BY d.ins_deel_key, l.alg_locatie_key, g.alg_gebouw_key;
CREATE_VIEW(cnd_v_rap_conditiemetingen, 0)
(
mld_melding_key,
complexnummer,
complexnaam,
clusternummer,
clusternaam,
gebouwgroep,
hoofdrecept,
groeprecept,
subrecept,
identificatie,
gebreknr,
datum_tijd,
datum,
inspecteur,
status,
gebrek,
omschrijving,
ernst,
omvang,
intensiteit,
veiligheid_gezondheid,
cultuurhistorische_waarde,
gebruik_en_bedrijfsproces,
technische_vervolgschade,
toename_klachtenonderhoud,
beleving_esthetica,
foto
)
AS
SELECT m.mld_melding_key,
l.alg_locatie_code complexnummer,
l.alg_locatie_omschrijving complexnaam,
aog.alg_gebouw_code clusternummer,
aog.alg_gebouw_naam clusternaam,
aog.alg_gebouw_groep groep,
id.ins_discipline_omschrijving hoofdrecept,
isg.ins_srtgroep_omschrijving groeprecept,
isd.ins_srtdeel_omschrijving || ' (' || isd.ins_srtdeel_code || ')'
subrecept,
d.ins_deel_omschrijving identificatie,
m.mld_melding_key gebreknummer,
m.mld_melding_datum datum_tijd,
TO_CHAR (mld_melding_datum, 'DD-MM-YYYY') datum,
pf.prs_perslid_naam_full inspecteur,
s.mld_statuses_omschrijving status,
std.mld_stdmelding_omschrijving gebrek,
m.mld_melding_omschrijving omschrijving,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ERNST'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
ernst,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'OMVANG'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
omvang,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'INTENSITEIT'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
intensiteit,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT1'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
veiligheid_gezondheid,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT2'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
cultuurhistorische_waarde,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT3'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
gebruik_en_bedrijfsproces,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT4'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
technische_vervolgschade,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT5'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
toename_klachtenonderhoud,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT6'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key)
beleving_esthetica,
(SELECT k.mld_kenmerk_key
FROM mld_kenmerk k, mld_srtkenmerk sk
WHERE sk.mld_srtkenmerk_code = 'FOTO' AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key)
foto
FROM mld_melding m,
mld_melding_object mo,
ins_deel d,
ins_srtdeel isd,
ins_srtgroep isg,
ins_discipline id,
alg_v_allonrgoed_gegevens aog,
alg_locatie l,
mld_statuses s,
prs_v_perslid_fullnames_all pf,
mld_stdmelding std
WHERE m.mld_melding_key = mo.mld_melding_key
AND d.ins_deel_key = mo.ins_deel_key
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
AND isd.ins_srtgroep_key = isg.ins_srtgroep_key
AND isg.ins_discipline_key = id.ins_discipline_key
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
AND l.alg_locatie_key = aog.alg_locatie_key
AND s.mld_statuses_key = m.mld_melding_status
AND m.prs_perslid_key = pf.prs_perslid_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key;
REGISTERRUN('$Id$')
#endif // CND