Files
Database/MLD/MLD_VIE.SRC
2012-05-06 12:54:48 +00:00

865 lines
36 KiB
Plaintext

#ifdef MLD // 13-03-96 AH
/*
* $Revision$
* $Id$
*/
CREATE_VIEW(MLD_discipline, 0)
AS
SELECT * FROM ALL_discipline WHERE ins_discipline_module = 'MLD';
DEFINIEER_VIEW_AANWEZIG(MLD_discipline, ins_discipline_verwijder,
MLD_v_aanwezigdiscipline,0);
DEFINIEER_VIEW_AANWEZIG(mld_oorzaak,
mld_oorzaak_verwijder,
mld_v_aanwezigoorzaak,
0);
DEFINIEER_VIEW_AANWEZIG(mld_meldbron,
mld_meldbron_verwijder,
mld_v_aanwezigmeldbron,
0);
DEFINIEER_VIEW_AANWEZIG(mld_standaardopdr,
mld_standaardopdr_verwijder,
mld_v_aanwezigstandaardopdr,
0);
/* LET OP (FSN#21553)
* Deze twee views lijken qua naam een tabel, maar is het technisch niet
* Hij levert de statustekst in de juiste taal op, van een specifieke statuscode
* Voorheen was dit een tabel met deze naam, en werd deze initieel gevuld. Dit is
* hiermee dus vanwege de i18n veranderd.
*/
CREATE_VIEW(mld_statuses, 0)
AS
SELECT fac_code2label_code mld_statuses_key,
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) mld_statuses_omschrijving
FROM fac_locale_xsl fl, fac_code2label fs
WHERE fl.fac_locale_xsl_label = fac_code2label_label
AND fac_code2label_domein = 'melding'
AND fac_locale_xsl_lang = lcl.getuserlanguage ();
CREATE_VIEW(mld_statusopdr, 0)
AS
SELECT fac_code2label_code mld_statusopdr_key,
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) mld_statusopdr_omschrijving
FROM fac_locale_xsl fl, fac_code2label fs
WHERE fl.fac_locale_xsl_label = fac_code2label_label
AND fac_code2label_domein = 'opdracht'
AND fac_locale_xsl_lang = lcl.getuserlanguage ();
/*
View met alle sleutels van de gemeenschappelijke sequence
prs_s_prs_uitvoerende_keys
*/
CREATE_VIEW(mld_v_aanweziguitvoerende,0)
( mld_alluitvoerende_keys,
prs_bedrijf_key,
prs_perslid_key,
prs_srtperslid_key,
mld_type) AS
SELECT prs_v_uitvoerendebedrijf.prs_bedrijf_key,
prs_v_uitvoerendebedrijf.prs_bedrijf_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
'B'
FROM prs_v_uitvoerendebedrijf
WHERE prs_bedrijf_key>0
UNION
SELECT prs_v_aanwezigperslid.prs_perslid_key,
TO_NUMBER(NULL),
prs_v_aanwezigperslid.prs_perslid_key,
prs_v_aanwezigperslid.prs_srtperslid_key,
'P'
FROM prs_v_aanwezigperslid
WHERE prs_perslid_key >0
UNION
SELECT prs_v_aanwezigsrtperslid.prs_srtperslid_key,
prs_v_aanwezigsrtperslid.prs_bedrijf_key,
TO_NUMBER(NULL),
prs_v_aanwezigsrtperslid.prs_srtperslid_key,
'S'
FROM prs_v_aanwezigsrtperslid;
/*
View met alle sleutels van de uitvoerenden
type: 'B' = bedrijf
'P' = perslid
//'S' = srtperslid bij bedrijf
*/
/* PF: op eigen houtje aangepast, achterhaalde onzin eruitgehaald */
CREATE_VIEW(mld_v_uitvoerende,0) (mld_uitvoerende_key, naam, type) AS
SELECT B.prs_bedrijf_key,
B.prs_bedrijf_naam,
'B'
FROM prs_bedrijf B
UNION ALL
SELECT P.prs_perslid_key,
p.prs_perslid_naam||DECODE(p.prs_perslid_voorletters,null,'',', '||p.prs_perslid_voorletters)||DECODE(p.prs_perslid_tussenvoegsel,null,'',' '||p.prs_perslid_tussenvoegsel)||DECODE(p.prs_perslid_voornaam,null,'',' ('||p.prs_perslid_voornaam||')'),
'P'
FROM prs_perslid P;
/*
* View voor de form mld_215.fmb
*/
CREATE_VIEW(mld_v_onroerendgoed_locatie,0) ( alg_onroerendgoed_keys,
alg_onrgoed_omschrijving,
alg_locatie_key,
alg_gebouw_key,
alg_terreinsector_key,
type ) AS
SELECT ALG_O.alg_onroerendgoed_keys,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_key,
to_number(NULL),
'G'
FROM alg_v_onroerendgoed ALG_O, alg_v_aanweziggebouw ALG_G
WHERE ALG_O.alg_gebouw_key = ALG_G.alg_gebouw_key
UNION
SELECT ALG_O.alg_onroerendgoed_keys,
ALG_T.alg_terreinsector_omschrijving,
ALG_T.alg_locatie_key,
to_number(NULL),
ALG_T.alg_terreinsector_key,
'T'
FROM alg_v_onroerendgoed ALG_O, alg_v_aanwezigterreinsector ALG_T
WHERE ALG_O.alg_terreinsector_key = ALG_T.alg_terreinsector_key;
CREATE_VIEW(mld_v_ins_discipline, 0) AS
SELECT * FROM MLD_v_aanwezigdiscipline;
CREATE_VIEW(mld_v_stdmelding_gegevens, 0) AS
SELECT mld_sm.mld_stdmelding_key, mld_sm.mld_ins_discipline_key, mld_d.ins_discipline_omschrijving,
mld_sm.mld_stdmelding_omschrijving, mld_sm.mld_stdmelding_upper, mld_sm.mld_stdmelding_urgentie,
NVL (ks1.prs_kostensoort_oms, ks2.prs_kostensoort_oms) prs_kostensoort_oms
FROM mld_stdmelding mld_sm, mld_v_ins_discipline mld_d, prs_kostensoort ks1, prs_kostensoort ks2
WHERE mld_sm.mld_ins_discipline_key = mld_d.ins_discipline_key
AND mld_sm.prs_kostensoort_key = ks1.prs_kostensoort_key(+)
AND mld_d.prs_kostensoort_key = ks2.prs_kostensoort_key(+);
DEFINIEER_VIEW_AANWEZIG(mld_melding_object, mld_melding_object_verwijder,
mld_v_aanwezigmelding_object,0);
DEFINIEER_VIEW_AANWEZIG(mld_kenmerkmelding, mld_kenmerkmelding_verwijder,
mld_v_aanwezigkenmerkmelding, 0);
CREATE_VIEW(mld_v_stdmelding_kenmerk, 0)
( mld_kenmerk_key
, mld_srtkenmerk_key
, mld_stdmelding_key
, mld_kenmerk_niveau
, mld_kenmerk_verplicht
, mld_kenmerk_toonbaar
, mld_kenmerk_uniek
, mld_kenmerk_locatiekolom
, mld_kenmerk_volgnummer
, mld_srtkenmerk_omschrijving
, mld_srtkenmerk_dimensie
, mld_srtkenmerk_kenmerktype
, mld_srtkenmerk_lengte
, mld_srtkenmerk_dec
, mld_srtkenmerk_nmin
, mld_srtkenmerk_nmax
, fac_kenmerkdomein_key
, mld_stdmelding_omschrijving
, mld_stdmelding_upper
, mld_discipline_key
, mld_discipline_omschrijving
)
AS SELECT MLD_K.mld_kenmerk_key
, MLD_K.mld_srtkenmerk_key
, MLD_K.mld_stdmelding_key
, MLD_K.mld_kenmerk_niveau
, MLD_K.mld_kenmerk_verplicht
, MLD_K.mld_kenmerk_toonbaar
, MLD_K.mld_kenmerk_uniek
, MLD_K.mld_kenmerk_locatiekolom
, MLD_K.mld_kenmerk_volgnummer
, MLD_SK.mld_srtkenmerk_omschrijving
, MLD_SK.mld_srtkenmerk_dimensie
, MLD_SK.mld_srtkenmerk_kenmerktype
, MLD_SK.mld_srtkenmerk_lengte
, MLD_SK.mld_srtkenmerk_dec
, MLD_SK.mld_srtkenmerk_nmin
, MLD_SK.mld_srtkenmerk_nmax
, MLD_SK.fac_kenmerkdomein_key
, MLD_SM.mld_stdmelding_omschrijving
, MLD_SM.mld_stdmelding_upper
, INS_D.ins_discipline_key
, INS_D.ins_discipline_omschrijving
FROM mld_kenmerk MLD_K
, mld_srtkenmerk MLD_SK
, mld_stdmelding MLD_SM
, ins_discipline INS_D
WHERE MLD_K.mld_srtkenmerk_key = MLD_SK.mld_srtkenmerk_key
AND MLD_K.mld_kenmerk_niveau = 'S'
AND MLD_SM.mld_stdmelding_key = MLD_K.mld_stdmelding_key
AND MLD_SM.mld_ins_discipline_key = INS_D.ins_discipline_key
UNION
SELECT MLD_K.mld_kenmerk_key
, MLD_K.mld_srtkenmerk_key
, MLD_K.mld_stdmelding_key
, MLD_K.mld_kenmerk_niveau
, MLD_K.mld_kenmerk_verplicht
, MLD_K.mld_kenmerk_toonbaar
, MLD_K.mld_kenmerk_uniek
, MLD_K.mld_kenmerk_locatiekolom
, MLD_K.mld_kenmerk_volgnummer
, MLD_SK.mld_srtkenmerk_omschrijving
, MLD_SK.mld_srtkenmerk_dimensie
, MLD_SK.mld_srtkenmerk_kenmerktype
, MLD_SK.mld_srtkenmerk_lengte
, MLD_SK.mld_srtkenmerk_dec
, MLD_SK.mld_srtkenmerk_nmin
, MLD_SK.mld_srtkenmerk_nmax
, MLD_SK.fac_kenmerkdomein_key
, MLD_SM.mld_stdmelding_omschrijving
, MLD_SM.mld_stdmelding_upper
, MLD_D.ins_discipline_key
, MLD_D.ins_discipline_omschrijving
FROM mld_kenmerk MLD_K
, mld_srtkenmerk MLD_SK
, mld_stdmelding MLD_SM
, mld_v_aanwezigdiscipline MLD_D
WHERE MLD_K.mld_srtkenmerk_key = MLD_SK.mld_srtkenmerk_key
AND MLD_K.mld_kenmerk_niveau = 'D'
AND MLD_SM.mld_ins_discipline_key = MLD_D.ins_discipline_key
AND ( MLD_D.ins_discipline_key = MLD_K.mld_stdmelding_key
OR MLD_K.mld_stdmelding_key IS NULL);
DEFINIEER_VIEW_AANWEZIG(mld_adres, mld_adres_verwijder,
mld_v_aanwezigadres, 0);
CREATE_VIEW(mld_v_afleveradres, 0) AS
SELECT * FROM mld_v_aanwezigadres WHERE mld_adres_afleveradres = 1;
CREATE_VIEW(mld_v_factuuradres, 0) AS
SELECT * FROM mld_v_aanwezigadres WHERE mld_adres_factuuradres = 1;
DEFINIEER_VIEW_AANWEZIG(mld_kenmerkopdr, mld_kenmerkopdr_verwijder,
mld_v_aanwezigkenmerkopdr, 0);
CREATE_VIEW(mld_v_qvw_algemeen, 0) (mld_melding_key,
meldingnummer,
alg_district_omschrijving,
locatie,
locatie_omschrijving,
alg_locatie_key,
gebouw,
gebouw_naam,
verdieping,
ruimtenr,
ruimte_omschrijving,
melding_ordernr,
kostensoortgroep,
kostensoort,
kostenplaats,
kostenplaats_oms,
melder,
afdeling,
afdeling_omschrijving,
prs_bedrijf_key,
invoerder,
soortmelding,
ins_discipline_key,
productgroep,
subproductgroep,
subproductgroepgroep,
status,
sla_werkdgn,
plan_uitvoertijd,
datum,
afgemeld,
doorlooptijd_werkdgn,
omschrijving,
opmerking,
opdracht_volgnummer,
opdracht_status,
opdracht_duur_gepland,
opdracht_datum,
opdracht_afgemeld,
opdracht_doorlooptijd,
opdracht_omschrijving,
opdracht_opmerking,
opdracht_uitvoerende,
opdracht_contract,
opdracht_contactpersoon,
opdracht_uren,
opdracht_correctie,
opdracht_materiaal,
opdracht_uurtarief,
opdracht_kosten
)
AS
SELECT mld_melding_key, meldingnummer, alg_district_omschrijving, locatie, locatie_omschrijving, alg_locatie_key, gebouw, gebouw_naam, verdieping, ruimte, ruimte_omschrijving,
melding_ordernr, kostensoortgroep, kostensoort, kostenplaats, kostenplaats_oms, melder, afdeling, afdeling_omschrijving,prs_bedrijf_key, invoerder,
soortmelding, ins_discipline_key, productgroep, subproductgroep, subproductgroepgroep, status, sla_werkdgn, plan_uitvoertijd, datum,
afgemeld, doorlooptijd_werkdgn, SUBSTR (omschrijving, 1, 512), SUBSTR (opmerking, 1, 512),
opdracht_volgnummer, opdracht_status, opdracht_duur_gepland, opdracht_datum, opdracht_afgemeld,
opdracht_doorlooptijd, SUBSTR (opdracht_omschrijving, 1, 512), SUBSTR (opdracht_opmerking, 1, 512),
opdracht_uitvoerende, opdracht_contract, opdracht_contactpersoon, opdracht_uren, opdracht_correctie,
opdracht_materiaal, opdracht_uurtarief, opdracht_kosten
FROM (SELECT m.mld_melding_key, sd.ins_srtdiscipline_prefix||m.mld_melding_key meldingnummer, alg_district_omschrijving, alg_locatie_code locatie,
alg_locatie_omschrijving locatie_omschrijving, l.alg_locatie_key,
og.alg_gebouw_code gebouw, og.alg_gebouw_naam gebouw_naam,
og.alg_verdieping_code verdieping, og.alg_ruimte_nr ruimte, og.alg_ruimte_omschrijving ruimte_omschrijving,
m.mld_melding_ordernr melding_ordernr,
(select ksg.prs_kostensoortgrp_oms
from prs_kostensoortgrp ksg, prs_kostensoort ks
where ksg.PRS_KOSTENSOORTGRP_KEY = ks.PRS_KOSTENSOORTGRP_KEY
and ks.PRS_KOSTENSOORT_KEY = (select coalesce (sm.PRS_KOSTENSOORT_KEY, disc.PRS_KOSTENSOORT_KEY)
from mld_stdmelding sm, mld_discipline disc
where sm.MLD_INS_DISCIPLINE_KEY=disc.INS_DISCIPLINE_KEY
and sm.MLD_STDMELDING_KEY = s.mld_stdmelding_key)) kostensoortgroep,
(select ks.prs_kostensoort_oms
from prs_kostensoort ks
where ks.PRS_KOSTENSOORT_KEY = (select coalesce (sm.PRS_KOSTENSOORT_KEY, disc.PRS_KOSTENSOORT_KEY)
from mld_stdmelding sm, mld_discipline disc
where sm.MLD_INS_DISCIPLINE_KEY=disc.INS_DISCIPLINE_KEY
and sm.MLD_STDMELDING_KEY = s.mld_stdmelding_key)) kostensoort,
(SELECT k.prs_kostenplaats_nr
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key) kostenplaats,
(SELECT k.prs_kostenplaats_omschrijving
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key) kostenplaats_oms,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = m.prs_perslid_key) melder,
(SELECT prs_afdeling_naam
FROM prs_afdeling afd, prs_perslid pp
WHERE afd.prs_afdeling_key = pp.prs_afdeling_key
AND pp.prs_perslid_key = m.prs_perslid_key) afdeling,
(SELECT prs_afdeling_omschrijving
FROM prs_afdeling afd, prs_perslid pp
WHERE afd.prs_afdeling_key = pp.prs_afdeling_key
AND pp.prs_perslid_key = m.prs_perslid_key) afdeling_omschrijving,
(SELECT prs_bedrijf_key
FROM prs_v_afdeling pva, PRS_PERSLID pp
WHERE pva.prs_afdeling_key = pp.prs_afdeling_key
AND pp.prs_perslid_key = m.prs_perslid_key) prs_bedrijf_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = mld.getmeldinguser(m.mld_melding_key)) invoerder,
sd.ins_srtdiscipline_omschrijving soortmelding,
md.ins_discipline_key ins_discipline_key,
md.ins_discipline_omschrijving productgroep,
s.mld_stdmelding_omschrijving subproductgroep,
s.mld_stdmelding_groep subproductgroepgroep,
(SELECT mld_statuses_omschrijving
FROM mld_statuses sta
WHERE sta.mld_statuses_key = m.mld_melding_status) status,
fac.count_work_days(m.mld_melding_datum, mld_melding_einddatum) sla_werkdgn,
m.mld_melding_uitvoertijd plan_uitvoertijd,
TO_CHAR (m.mld_melding_datum, 'YYYY-MM-DD') datum,
COALESCE (TO_CHAR (mld.getmeldingstatusdate(m.mld_melding_key,5), 'YYYY-MM-DD'),
TO_CHAR (mld.getmeldingstatusdate(m.mld_melding_key,1), 'YYYY-MM-DD')
)
afgemeld,
TO_CHAR(fac.count_work_days_incltime (
m.mld_melding_datum,
COALESCE (mld.getmeldingstatusdate(m.mld_melding_key,5), mld.getmeldingstatusdate(m.mld_melding_key,1), SYSDATE)
))
doorlooptijd_werkdgn,
m.mld_melding_omschrijving omschrijving,
m.mld_melding_opmerking opmerking,
o.mld_opdr_bedrijfopdr_volgnr opdracht_volgnummer,
(SELECT mld_statusopdr_omschrijving
FROM mld_statusopdr sta
WHERE sta.mld_statusopdr_key = o.mld_statusopdr_key) opdracht_status,
fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum) opdracht_duur_gepland, TO_CHAR (o.mld_opdr_datumbegin, 'YYYY-MM-DD') opdracht_datum,
TO_CHAR (mld.getopdrachtstatusdate(o.mld_opdr_key,6), 'YYYY-MM-DD') opdracht_afgemeld,
fac.count_work_days (o.mld_opdr_datumbegin, mld.getopdrachtstatusdate(o.mld_opdr_key,6)) opdracht_doorlooptijd,
o.mld_opdr_omschrijving opdracht_omschrijving, o.mld_opdr_opmerking opdracht_opmerking,
(SELECT naam
FROM mld_v_uitvoerende u
WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys) opdracht_uitvoerende, NULL opdracht_contract,
NULL opdracht_contactpersoon,
REPLACE (TO_CHAR (o.mld_opdr_uren, '9999990.99'), '.', ',') opdracht_uren,
REPLACE (TO_CHAR (o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon),
'9999990.99'
),
'.',
','
) opdracht_correctie,
REPLACE (TO_CHAR (o.mld_opdr_materiaal, '9999990.99'), '.', ',') opdracht_materiaal,
REPLACE (TO_CHAR (o.mld_opdr_uurloon, '9999990.99'), '.', ',') opdracht_uurtarief,
REPLACE (TO_CHAR (o.mld_opdr_kosten, '9999990.99'), '.', ',') opdracht_kosten
FROM mld_melding m,
mld_stdmelding s,
alg_locatie l,
alg_district d,
alg_v_allonrgoed_gegevens og,
mld_discipline md,
ins_srtdiscipline sd,
mld_opdr o
WHERE s.mld_stdmelding_key = m.mld_stdmelding_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
AND md.ins_discipline_key = s.mld_ins_discipline_key
AND l.alg_district_key = d.alg_district_key
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND m.mld_melding_key = o.mld_melding_key(+)
AND m.mld_melding_datum >= TO_DATE ('01-01-2000', 'DD-MM-YYYY'));
---- KTO views + rapportages
CREATE_VIEW(mld_v_kto_vragen, 0)
(
vraag1,
vraag2,
vraag3,
vraag4,
vraag5
)
AS SELECT
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag1')
) vraag1,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag2')
) vraag2,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag3')
) vraag3,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag4')
) vraag4,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag5')
) vraag5
FROM dual;
CREATE_VIEW(mld_v_kto_antwoorden, 0)
(
mld_melding_key,
cijfer1,
cijfer2,
cijfer3,
cijfer4,
cijfer5,
opm1,
opm2,
opm3,
opm4,
opm5
)
AS
SELECT
kto.mld_melding_key,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer1')
) cijfer1,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer2')
) cijfer2,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer3')
) cijfer3,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer4')
) cijfer4,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer5')
) cijfer5,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht1')
) toelicht1,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht2')
) toelicht2,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht3')
) toelicht3,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht4')
) toelicht4,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht5')
) toelicht5
FROM mld_melding kto
WHERE kto.mld_melding_kto_type IS NOT NULL
AND kto.mld_melding_kto_key IS NOT NULL;
CREATE_VIEW(mld_v_kto_geg, 0)
(
KTO_KEY,
KTO_TYPE,
KTO_REFKEY,
KTO_UITNODIGING_DATUM,
KTO_INVUL_DATUM,
KTO_RESPONSE_TIJD,
INS_SRTDISCIPLINE_KEY,
RES_ACTIVITEIT_KEY,
INS_DISCIPLINE_KEY,
MLD_STDMELDING_KEY,
INS_SRTDISCIPLINE_OMSCHRIJVING,
RES_ACTIVITEIT_OMSCHRIJVING,
MLD_VAKGROEP_OMSCHRIJVING,
RES_RUIMTECATEGORIE,
BES_CATALOGUS,
MLD_STDMELDING_OMSCHRIJVING,
ALG_REGIO_OMSCHRIJVING,
ALG_DISTRICT_OMSCHRIJVING,
ALG_LOCATIE_CODE,
ALG_LOCATIE_OMSCHRIJVING,
CIJFER1,
CIJFER2,
CIJFER3,
CIJFER4,
CIJFER5,
OPM1,
OPM2,
OPM3,
OPM4,
OPM5
)
AS
-- Alle meldingen (alias m) waarvan KTO-uitnodiging is verstuurd met eventuele bijbehorende kto-melding (alias kto)
-- Let op: 2e kolom staat hard 'BMR', en niet overnemen van kto.mld_melding_kto_type, omdat je dat zonder KTO-melding al wilt weten
SELECT kto.mld_melding_key kto_key,
'M',
kto.mld_melding_kto_key,
m.mld_melding_kto_verstuurd,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - m.mld_melding_kto_verstuurd kto_response_tijd,
sd.ins_srtdiscipline_key,
NULL res_activiteit_key,
d.ins_discipline_key,
s.mld_stdmelding_key,
sd.ins_srtdiscipline_omschrijving,
NULL res_activiteit_omschrijving,
d.ins_discipline_omschrijving mld_vakgroep_omschrijving,
NULL res_ruimtecategorie,
NULL bes_catalogus,
s.mld_stdmelding_omschrijving,
r.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, mld_melding m, ins_tab_discipline d, mld_stdmelding s, ins_srtdiscipline sd,
alg_locatie l, alg_district di, alg_regio r,
mld_v_kto_antwoorden kto_a
WHERE m.mld_melding_kto_verstuurd IS NOT NULL
AND m.mld_melding_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'M') = 'M'
AND s.mld_stdmelding_key = m.mld_stdmelding_key
AND d.ins_discipline_key = s.mld_ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key (+)
AND l.alg_district_key = di.alg_district_key (+)
AND di.alg_regio_key = r.alg_regio_key (+)
UNION ALL
SELECT kto.mld_melding_key kto_key,
'R',
kto.mld_melding_kto_key,
rrr.res_rsv_ruimte_kto_verstuurd kto_uitnodiging_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - rrr.res_rsv_ruimte_kto_verstuurd kto_response_tijd,
NULL ins_srtdiscipline_key,
a.res_activiteit_key,
d.ins_discipline_key,
rrr.res_rsv_ruimte_key,
NULL ins_srtdiscipline_omschrijving,
a.res_activiteit_omschrijving,
NULL mld_vakgroep_omschrijving,
d.ins_discipline_omschrijving res_ruimtecategorie,
NULL bes_catalogus,
NULL mld_stdmelding_omschrijving,
rg.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, res_rsv_ruimte rrr, res_ruimte_opstelling ro, res_ruimte rr, ins_tab_discipline d, res_activiteit a,
alg_ruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l, alg_district di, alg_regio rg,
mld_v_kto_antwoorden kto_a
WHERE rrr.res_rsv_ruimte_kto_verstuurd IS NOT NULL
AND a.res_activiteit_key = rrr.res_activiteit_key
AND rrr.res_rsv_ruimte_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'R') = 'R'
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_discipline_key = d.ins_discipline_key
AND r.alg_ruimte_key = (SELECT MIN(rar.alg_ruimte_key) FROM res_alg_ruimte rar WHERE rar.res_ruimte_key = rr.res_ruimte_key)
AND v.alg_verdieping_key = r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND l.alg_locatie_key = g.alg_locatie_key
AND di.alg_district_key = l.alg_district_key
AND rg.alg_regio_key = di.alg_regio_key
UNION ALL
SELECT kto.mld_melding_key kto_key,
'B',
kto.mld_melding_kto_key,
b.bes_bestelling_kto_verstuurd kto_uitnodiging_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - b.bes_bestelling_kto_verstuurd kto_response_tijd,
NULL ins_srtdiscipline_key,
NULL res_activiteit_key,
d.ins_discipline_key,
b.bes_bestelling_key,
NULL ins_srtdiscipline_omschrijving,
NULL res_activiteit_omschrijving,
NULL mld_vakgroep_omschrijving,
NULL res_ruimtecategorie,
d.ins_discipline_omschrijving bes_catalogus,
NULL mld_stdmelding_omschrijving,
r.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, bes_bestelling b, bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg, bes_discipline d,
mld_adres ad, alg_locatie l, alg_district di, alg_regio r,
mld_v_kto_antwoorden kto_a
WHERE b.bes_bestelling_kto_verstuurd IS NOT NULL
AND b.bes_bestelling_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'B') = 'B'
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key
AND b.mld_adres_key_lev = ad.mld_adres_key
AND ad.alg_locatie_key = l.alg_locatie_key (+)
AND l.alg_district_key = di.alg_district_key (+)
AND di.alg_regio_key = r.alg_regio_key (+);
-----
-- KTO-Rapport 1: Algemeen overview/overzicht van ingevulde KTO's
CREATE_VIEW(mld_v_rap_kto_overview, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_kwartaal,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
fclt_f_locatie,
fclt_f_vakgroeptype,
fclt_f_activiteit,
fclt_f_vakgroep,
fclt_f_ruimtecategorie,
fclt_f_bestelcatalogus,
melding,
fclt_f_beoordeling,
cijfer1,
opm1,
cijfer2,
opm2,
cijfer3,
opm3,
cijfer4,
opm4,
cijfer5,
opm5,
hide_f_kto_key,
hide_f_kto_refkey
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_invul_datum,'yyyy'),
'Q' || to_char(kto_invul_datum,'q'),
to_char(kto_invul_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code || '-' || alg_locatie_omschrijving,
ins_srtdiscipline_omschrijving,
res_activiteit_omschrijving,
mld_vakgroep_omschrijving,
res_ruimtecategorie,
bes_catalogus,
mld_stdmelding_omschrijving,
CASE
WHEN COALESCE(cijfer1,10)<5.5 OR
COALESCE(cijfer2,10)<5.5 OR
COALESCE(cijfer3,10)<5.5 OR
COALESCE(cijfer4,10)<5.5 OR
COALESCE(cijfer5,10)<5.5 THEN 'Onvoldoende'
ELSE 'Voldoende'
END,
cijfer1,
opm1,
cijfer2,
opm2,
cijfer3,
opm3,
cijfer4,
opm4,
cijfer5,
opm5,
kto_key,
kto_refkey
FROM mld_v_kto_geg
WHERE kto_key IS NOT NULL;
-- KTO-Rapport 2: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR)+jaar+maand
CREATE_VIEW(mld_v_rap_kto_response_soort, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm');
-- KTO-Rapport 3: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+regio+district
CREATE_VIEW(mld_v_rap_kto_responsedistrict, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving, alg_district_omschrijving;
-- KTO-Rapport 4: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+regio+district+locatie
CREATE_VIEW(mld_v_rap_kto_response_locatie, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
fclt_f_locatie,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code || '-' || alg_locatie_omschrijving,
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving, alg_district_omschrijving, alg_locatie_code || '-' || alg_locatie_omschrijving;
-- KTO-Rapport 5: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+discipline (disc=vakgroep of catalogus of ruimtecategorie)
CREATE_VIEW(mld_v_rap_kto_response_disc, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_categorie,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
COALESCE(mld_vakgroep_omschrijving, res_ruimtecategorie, bes_catalogus),
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
COALESCE(mld_vakgroep_omschrijving, res_ruimtecategorie, bes_catalogus);
REGISTERRUN('$Workfile: MLD_VIE.SRC $','$Revision$')
#endif // MLD