865 lines
36 KiB
Plaintext
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
|