Files
Database/MLD/MLD_VIE.SRC
Erik Groener dc4c2d93d8 FCLT#73722 Opruimen van oude API-1 onderdelen
svn path=/Database/trunk/; revision=57527
2022-10-05 14:14:29 +00:00

2588 lines
107 KiB
Plaintext

#ifdef MLD // 13-03-96 AH
/*
* $Revision$
* $Id$
*/
CREATE_VIEW(MLD_discipline, 0)
AS
SELECT * FROM ins_tab_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, intern) AS
SELECT B.prs_bedrijf_key,
B.prs_bedrijf_naam,
'B',
COALESCE(prs_bedrijf_intern, 0)
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',
1
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;
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);
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,
meldbron,
meldbron_key,
ins_srtdiscipline_key,
soortmelding,
ins_discipline_key,
productgroep,
mld_stdmelding_key,
subproductgroep,
mld_stdmeldinggroep_key,
mld_behandelgroep_key,
behandelgroep,
behandelaar,
subproductgroepgroep,
status,
sla_nvt,
sla_werkdgn,
sla_werkuren,
sla_respijtdgn,
sla_respijturen,
sla_accptdgn,
sla_accpturen,
plan_uitvoertijd_sla,
datum,
afgemeld,
doorlooptijd_werkdgn,
doorlooptijd_werkuren,
omschrijving,
opmerking,
mld_typeopdr_key,
opdracht_type,
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, meldbron, mld_meldbron_key,
ins_srtdiscipline_key, soortmelding, ins_discipline_key, productgroep, mld_stdmelding_key, subproductgroep, mld_stdmeldinggroep_key, mld_behandelgroep_key, behandelgroep, behandelaar,
subproductgroepgroep, status, sla_nvt, sla_werkdgn, sla_werkuren, sla_respijtdgn, sla_respijturen, sla_accptdgn, sla_accpturen, plan_uitvoertijd_sla, datum, afgemeld,
DECODE(x.t_doorlooptijd.eenheid, 'D', x.t_doorlooptijd.tijdsduur, NULL) doorlooptijd_werkdgn,
DECODE(x.t_doorlooptijd.eenheid, 'U', x.t_doorlooptijd.tijdsduur, NULL) doorlooptijd_werkuren,
SUBSTR (omschrijving, 1, 512), SUBSTR (opmerking, 1, 512),
mld_typeopdr_key, opdracht_type, 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 = COALESCE(o.prs_kostenplaats_key, m.prs_kostenplaats_key)) kostenplaats,
(SELECT k.prs_kostenplaats_omschrijving
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = COALESCE(o.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,
(SELECT mb.mld_meldbron_omschrijving
FROM mld_meldbron mb
WHERE mb.mld_meldbron_key = m.mld_meldbron_key) meldbron,
m.mld_meldbron_key,
sd.ins_srtdiscipline_key ins_srtdiscipline_key,
sd.ins_srtdiscipline_omschrijving soortmelding,
md.ins_discipline_key ins_discipline_key,
md.ins_discipline_omschrijving productgroep,
s.mld_stdmelding_key,
s.mld_stdmelding_omschrijving subproductgroep,
smg.mld_stdmeldinggroep_key,
smg.mld_stdmeldinggroep_naam subproductgroepgroep,
mbg.mld_behandelgroep_key,
mbg.mld_behandelgroep_naam behandelgroep,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = m.mld_melding_behandelaar_key) behandelaar,
(SELECT mld_statuses_omschrijving
FROM mld_statuses sta
WHERE sta.mld_statuses_key = m.mld_melding_status) status,
CASE
WHEN m.mld_melding_einddatum > COALESCE(fac.gettrackingdate('MLDAFM', m.mld_melding_key),fac.gettrackingdate('MLDREJ', m.mld_melding_key) ,sysdate)
THEN 1
ELSE 0
END plan_uitvoertijd_sla,
CASE
WHEN m.mld_melding_indult = 1 OR s.mld_stdmelding_slabewaken = 0
THEN 1
ELSE 0
END sla_nvt,
DECODE(m.mld_melding_t_uitvoertijd.eenheid, 'D', m.mld_melding_t_uitvoertijd.tijdsduur, NULL) sla_werkdgn,
DECODE(m.mld_melding_t_uitvoertijd.eenheid, 'U', m.mld_melding_t_uitvoertijd.tijdsduur, NULL) sla_werkuren,
DECODE(m.mld_melding_t_respijt.eenheid, 'D', m.mld_melding_t_respijt.tijdsduur, NULL) sla_respijtdgn,
DECODE(m.mld_melding_t_respijt.eenheid, 'U', m.mld_melding_t_respijt.tijdsduur, NULL) sla_respijturen,
DECODE(m.mld_melding_t_accepttijd.eenheid, 'D', m.mld_melding_t_accepttijd.tijdsduur, NULL) sla_accptdgn,
DECODE(m.mld_melding_t_accepttijd.eenheid, 'U', m.mld_melding_t_accepttijd.tijdsduur, NULL) sla_accpturen,
TRUNC (m.mld_melding_datum) datum,
COALESCE (TRUNC (mld.getmeldingstatusdate(m.mld_melding_key,5)),
TRUNC (mld.getmeldingstatusdate(m.mld_melding_key,1))
)
afgemeld,
mld.getactualuitvoer(m.mld_melding_key) t_doorlooptijd,
m.mld_melding_omschrijving omschrijving,
m.mld_melding_opmerking opmerking,
top.mld_typeopdr_key,
top.mld_typeopdr_omschrijving opdracht_type,
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,
TRUNC (o.mld_opdr_datumbegin) opdracht_datum,
TRUNC (mld.getopdrachtstatusdate(o.mld_opdr_key,6)) 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,
o.mld_opdr_uren opdracht_uren,
o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon) opdracht_correctie,
o.mld_opdr_materiaal opdracht_materiaal,
o.mld_opdr_uurloon opdracht_uurtarief,
o.mld_opdr_kosten opdracht_kosten
FROM mld_melding m,
mld_stdmelding s,
alg_locatie l,
alg_district d,
alg_v_allonrgoed_gegevens og,
mld_discipline md,
mld_disc_params mdp,
mld_behandelgroep mbg,
ins_srtdiscipline sd,
mld_opdr o,
mld_typeopdr top,
mld_stdmeldinggroep smg
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 md.ins_discipline_key = mdp.mld_ins_discipline_key
AND s.mld_stdmeldinggroep_key = smg.mld_stdmeldinggroep_key(+)
AND mdp.mld_behandelgroep_key = mbg.mld_behandelgroep_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 O.MLD_TYPEOPDR_KEY=top.MLD_TYPEOPDR_KEY(+)
AND m.mld_melding_datum >= TO_DATE ('01-01-2000', 'DD-MM-YYYY')) x;
CREATE_VIEW(mld_v_qvw_locale, 0)
(fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst_nl, fac_locale_tekst_en, fac_locale_tekst_de, fac_locale_tekst_fr)
AS
WITH mqa AS (SELECT DISTINCT ins_srtdiscipline_key,
soortmelding,
ins_discipline_key,
productgroep,
mld_stdmelding_key,
subproductgroep,
mld_stdmeldinggroep_key,
subproductgroepgroep,
mld_behandelgroep_key,
behandelgroep,
mld_typeopdr_key,
opdracht_type
FROM mld_v_qvw_algemeen)
SELECT DISTINCT mqa.ins_srtdiscipline_key,
'INS_SRTDISCIPLINE_OMSCHRIJVING',
mqa.soortmelding,
COALESCE (en.fac_locale_tekst, mqa.soortmelding),
COALESCE (de.fac_locale_tekst, mqa.soortmelding),
COALESCE (fr.fac_locale_tekst, mqa.soortmelding)
FROM fac_locale en,
fac_locale de,
fac_locale fr,
mqa
WHERE mqa.ins_srtdiscipline_key = en.fac_locale_kolomkeyval(+)
AND en.fac_locale_kolomnaam(+) = 'INS_SRTDISCIPLINE_OMSCHRIJVING'
AND en.fac_locale_lang(+) = 'EN'
AND mqa.ins_srtdiscipline_key = de.fac_locale_kolomkeyval(+)
AND de.fac_locale_kolomnaam(+) = 'INS_SRTDISCIPLINE_OMSCHRIJVING'
AND de.fac_locale_lang(+) = 'DE'
AND mqa.ins_srtdiscipline_key = fr.fac_locale_kolomkeyval(+)
AND fr.fac_locale_kolomnaam(+) = 'INS_SRTDISCIPLINE_OMSCHRIJVING'
AND fr.fac_locale_lang(+) = 'FR'
UNION ALL
SELECT DISTINCT mqa.ins_discipline_key,
'INS_DISCIPLINE_OMSCHRIJVING',
mqa.productgroep,
COALESCE (en.fac_locale_tekst, mqa.productgroep),
COALESCE (de.fac_locale_tekst, mqa.productgroep),
COALESCE (fr.fac_locale_tekst, mqa.productgroep)
FROM fac_locale en,
fac_locale de,
fac_locale fr,
mqa
WHERE mqa.ins_discipline_key = en.fac_locale_kolomkeyval(+)
AND en.fac_locale_kolomnaam(+) = 'INS_DISCIPLINE_OMSCHRIJVING'
AND en.fac_locale_lang(+) = 'EN'
AND mqa.ins_discipline_key = de.fac_locale_kolomkeyval(+)
AND de.fac_locale_kolomnaam(+) = 'INS_DISCIPLINE_OMSCHRIJVING'
AND de.fac_locale_lang(+) = 'DE'
AND mqa.ins_discipline_key = fr.fac_locale_kolomkeyval(+)
AND fr.fac_locale_kolomnaam(+) = 'INS_DISCIPLINE_OMSCHRIJVING'
AND fr.fac_locale_lang(+) = 'FR'
UNION ALL
SELECT DISTINCT mqa.mld_stdmelding_key,
'MLD_STDMELDING_OMSCHRIJVING',
mqa.subproductgroep,
COALESCE (en.fac_locale_tekst, mqa.subproductgroep),
COALESCE (de.fac_locale_tekst, mqa.subproductgroep),
COALESCE (fr.fac_locale_tekst, mqa.subproductgroep)
FROM fac_locale en,
fac_locale de,
fac_locale fr,
mqa
WHERE mqa.mld_stdmelding_key = en.fac_locale_kolomkeyval(+)
AND en.fac_locale_kolomnaam(+) = 'MLD_STDMELDING_OMSCHRIJVING'
AND en.fac_locale_lang(+) = 'EN'
AND mqa.mld_stdmelding_key = de.fac_locale_kolomkeyval(+)
AND de.fac_locale_kolomnaam(+) = 'MLD_STDMELDING_OMSCHRIJVING'
AND de.fac_locale_lang(+) = 'DE'
AND mqa.mld_stdmelding_key = fr.fac_locale_kolomkeyval(+)
AND fr.fac_locale_kolomnaam(+) = 'MLD_STDMELDING_OMSCHRIJVING'
AND fr.fac_locale_lang(+) = 'FR'
UNION ALL
SELECT DISTINCT mqa.mld_stdmeldinggroep_key,
'MLD_STDMELDINGGROEP_NAAM',
mqa.subproductgroepgroep,
COALESCE (en.fac_locale_tekst, mqa.subproductgroepgroep),
COALESCE (de.fac_locale_tekst, mqa.subproductgroepgroep),
COALESCE (fr.fac_locale_tekst, mqa.subproductgroepgroep)
FROM fac_locale en,
fac_locale de,
fac_locale fr,
mqa
WHERE mqa.mld_stdmeldinggroep_key = en.fac_locale_kolomkeyval(+)
AND en.fac_locale_kolomnaam(+) = 'MLD_STDMELDINGGROEP_NAAM'
AND en.fac_locale_lang(+) = 'EN'
AND mqa.mld_stdmeldinggroep_key = de.fac_locale_kolomkeyval(+)
AND de.fac_locale_kolomnaam(+) = 'MLD_STDMELDINGGROEP_NAAM'
AND de.fac_locale_lang(+) = 'DE'
AND mqa.mld_stdmeldinggroep_key = fr.fac_locale_kolomkeyval(+)
AND fr.fac_locale_kolomnaam(+) = 'MLD_STDMELDINGGROEP_NAAM'
AND fr.fac_locale_lang(+) = 'FR'
UNION ALL
SELECT DISTINCT mqa.mld_behandelgroep_key,
'MLD_BEHANDELGROEP_NAAM',
mqa.behandelgroep,
COALESCE (en.fac_locale_tekst, mqa.behandelgroep),
COALESCE (de.fac_locale_tekst, mqa.behandelgroep),
COALESCE (fr.fac_locale_tekst, mqa.behandelgroep)
FROM fac_locale en,
fac_locale de,
fac_locale fr,
mqa
WHERE mqa.mld_behandelgroep_key = en.fac_locale_kolomkeyval(+)
AND en.fac_locale_kolomnaam(+) = 'MLD_BEHANDELGROEP_NAAM'
AND en.fac_locale_lang(+) = 'EN'
AND mqa.mld_behandelgroep_key = de.fac_locale_kolomkeyval(+)
AND de.fac_locale_kolomnaam(+) = 'MLD_BEHANDELGROEP_NAAM'
AND de.fac_locale_lang(+) = 'DE'
AND mqa.mld_behandelgroep_key = fr.fac_locale_kolomkeyval(+)
AND fr.fac_locale_kolomnaam(+) = 'MLD_BEHANDELGROEP_NAAM'
AND fr.fac_locale_lang(+) = 'FR'
UNION ALL
SELECT DISTINCT mqa.mld_typeopdr_key,
'MLD_TYPEOPDR_OMSCHRIJVING',
mqa.opdracht_type,
COALESCE (en.fac_locale_tekst, mqa.opdracht_type),
COALESCE (de.fac_locale_tekst, mqa.opdracht_type),
COALESCE (fr.fac_locale_tekst, mqa.opdracht_type)
FROM fac_locale en,
fac_locale de,
fac_locale fr,
mqa
WHERE mqa.mld_typeopdr_key = en.fac_locale_kolomkeyval(+)
AND en.fac_locale_kolomnaam(+) = 'MLD_TYPEOPDR_OMSCHRIJVING'
AND en.fac_locale_lang(+) = 'EN'
AND mqa.mld_typeopdr_key = de.fac_locale_kolomkeyval(+)
AND de.fac_locale_kolomnaam(+) = 'MLD_TYPEOPDR_OMSCHRIJVING'
AND de.fac_locale_lang(+) = 'DE'
AND mqa.mld_typeopdr_key = fr.fac_locale_kolomkeyval(+)
AND fr.fac_locale_kolomnaam(+) = 'MLD_TYPEOPDR_OMSCHRIJVING'
AND fr.fac_locale_lang(+) = 'FR';
-- Voor een handige standaardrapportage
CREATE_VIEW(mld_v_rap_stdmelding, 0)
(
hide_f_vakgroeptype,
fclt_f_vakgroep,
vakgroep_key,
notificeren_vakgroep,
doorzetten,
eerstnaarFO,
interactie_fe,
fclt_f_melding,
melding_key,
volgnummer,
meldingsgroep,
acceptatietijd, /* _normaal zou logisch zijn, maar incompatible */
acceptatietijd_laag,
acceptatietijd_hoog,
acceptatietijd_kritisch,
uitvoertijd_normaal,
uitvoertijd_laag,
uitvoertijd_hoog,
uitvoertijd_kritisch,
planbaar,
omschrijvingsveld,
tekst_bij_afmelden,
niet_zichtbaar_fe,
notificeren,
kostensoort,
object_kiezen_verplicht,
verplicht_niveau_alg,
alleen_ruimtes_eigen_org,
aanwijzing,
symboolnaam,
te_beh_door_dienst,
dienst_vereist,
standaard_opdrachttype,
auto_opdr_aanmaken,
beperk_tot_catalogus,
kopieerbaar,
regime,
malusbasis,
malus,
malusmax,
dubbele_mld_controleren,
doet_mee_in_kto,
vervaldatum
)
AS
SELECT ins_srtdiscipline_omschrijving vakgroeptype,
ins_srtdiscipline_prefix || '-' || vak.ins_discipline_omschrijving
vakgroep,
vak.ins_discipline_key vakgroep_key,
DECODE (mld_disc_params_notify,
0, 'Nooit',
1, 'Altijd',
2, 'Afhankelijk van melding',
'Onbekend')
notificeren,
DECODE (mld_disc_params_keten,
0, 'Niet',
'Wel') doorzetten,
DECODE (COALESCE(mld_stdmelding_directklaar, mld_disc_params_directklaar),
0, 'Nee',
1, 'Ja',
2, 'Initieel ook eerst naar FO',
'Onbekend') eerstnaarFO,
DECODE (mld_disc_params_fenotes,
0, 'default niet zichtbaar voor FE',
1, 'default wel zichtbaar voor FE',
2, 'per notitie, default niet zichtbaar voor FE',
3, 'per notitie, default wel zichtbaar voor FE',
'Onbekend') interactiefe,
mld_stdmelding_omschrijving melding,
std.mld_stdmelding_key melding_key,
mld_stdmelding_volgnr volgnummer,
mld_stdmeldinggroep_naam meldingsgroep,
std.mld_stdmelding_t_accepttijd.tijdsduur||DECODE(std.mld_stdmelding_t_accepttijd.eenheid, 'U', ' Uren', 'D', ' Dagen', '') acceptatietijd,
std.mld_stdmelding_t_accept_pr4.tijdsduur||DECODE(std.mld_stdmelding_t_accepttijd.eenheid, 'U', ' Uren', 'D', ' Dagen', '') acceptatietijd_laag,
std.mld_stdmelding_t_accept_pr2.tijdsduur||DECODE(std.mld_stdmelding_t_accepttijd.eenheid, 'U', ' Uren', 'D', ' Dagen', '') acceptatietijd_hoog,
std.mld_stdmelding_t_accept_pr1.tijdsduur||DECODE(std.mld_stdmelding_t_accepttijd.eenheid, 'U', ' Uren', 'D', ' Dagen', '') acceptatietijd_kritisch,
std.mld_stdmelding_t_uitvoertijd.tijdsduur||DECODE(std.mld_stdmelding_t_uitvoertijd.eenheid, 'U', ' Uren', 'D', ' Dagen', '') uitvoertijd_normaal,
std.mld_stdmelding_t_uitvtijd_pr4.tijdsduur||DECODE(std.mld_stdmelding_t_uitvtijd_pr4.eenheid, 'U', ' Uren', 'D', ' Dagen', '') uitvoertijd_laag,
std.mld_stdmelding_t_uitvtijd_pr2.tijdsduur||DECODE(std.mld_stdmelding_t_uitvtijd_pr2.eenheid, 'U', ' Uren', 'D', ' Dagen', '') uitvoertijd_hoog,
std.mld_stdmelding_t_uitvtijd_pr1.tijdsduur||DECODE(std.mld_stdmelding_t_uitvtijd_pr1.eenheid, 'U', ' Uren', 'D', ' Dagen', '') uitvoertijd_kritisch,
DECODE (mld_stdmelding_planbaar, 1, 'ja', 'nee') planbaar,
DECODE (mld_stdmelding_freetext,
0, 'onzichtbaar',
2, 'verplicht',
'optioneel')
omschrijvingsveld,
DECODE (mld_stdmelding_afmeldtext, 2, 'verplicht', 'optioneel')
tekst_bij_afmelden,
DECODE (mld_stdmelding_notfrontend, 1, 'ja', 'nee')
niet_zichtbaar_fe,
DECODE (mld_stdmelding_notify, 1, 'ja', 'nee') notificeren,
pks.prs_kostensoort_oms kostensoort,
CASE
WHEN ins_srtinst_verplichtstatus = 1
THEN 'Afgewezen'
WHEN ins_srtinst_verplichtstatus = 2
THEN 'Altijd verplicht'
WHEN ins_srtinst_verplichtstatus = 5
THEN 'Afgemeld'
ELSE 'Niet verplicht'
END status_object_verplicht,
DECODE (alg_onrgoed_niveau,
'R', 'ruimte',
'V', 'verdieping',
'G', 'gebouw',
'L', 'locatie')
verplicht_niveau,
DECODE (mld_stdmelding_prseigen, 1, 'ja', 'nee')
alleen_ruimtes_eigen_org,
mld_stdmelding_hint aanwijzing,
mld_stdmelding_image symboolnaam,
d.prs_dienst_omschrijving te_beh_door_dienst,
DECODE (mld_stdmelding_vereisdienst, 1, 'ja', 'nee') dienst_vereist,
ot.mld_typeopdr_omschrijving standaard_opdrachttype,
DECODE (mld_stdmelding_autoorder, 1, 'ja', 'nee')
auto_opdr_aanmaken,
bd.ins_discipline_omschrijving beperk_tot_catalogus,
DECODE (mld_stdmelding_kopieerbaar, 1, 'ja', 'nee') kopieerbaar,
DECODE (mld_stdmelding_regime,
1, 'Kantoortijden',
2, 'Openingstijden',
3, '24/7')
regime,
mld_stdmelding_malusbasis malusbasis,
mld_stdmelding_malus malus,
mld_stdmelding_malusmax malusmax,
DECODE (mld_stdmelding_doublecheck,
1, 'alleen bij invoeren',
2, 'alleen bij accepteren',
3, 'bij invoeren en accepteren',
'nooit')
dubbele_mld_controleren,
DECODE (mld_stdmelding_kto,
1, 'Altijd',
2, 'Opt-in',
3, 'Opt-out',
'Nooit')
doet_mee_in_kto,
mld_stdmelding_vervaldatum vervaldatum
FROM mld_stdmelding std,
mld_stdmeldinggroep smg,
mld_discipline vak,
ins_srtdiscipline srt,
prs_kostensoort pks,
prs_dienst d,
mld_disc_params dp,
mld_typeopdr ot,
bes_discipline bd
WHERE std.mld_stdmelding_verwijder IS NULL
AND std.mld_ins_discipline_key = vak.ins_discipline_key
AND vak.ins_discipline_verwijder IS NULL
AND vak.ins_srtdiscipline_key = srt.ins_srtdiscipline_key
AND srt.ins_srtdiscipline_verwijder IS NULL
AND std.prs_kostensoort_key = pks.prs_kostensoort_key(+)
AND std.prs_dienst_key = d.prs_dienst_key(+)
AND std.mld_typeopdr_key = ot.mld_typeopdr_key(+)
AND std.mld_stdmeldinggroep_key = smg.mld_stdmeldinggroep_key(+)
AND bd.ins_discipline_key(+) = std.bes_ins_discipline_key
AND vak.ins_discipline_key = dp.mld_ins_discipline_key;
-- UWVA#31346: Export tbv. import afmeldteksten!
CREATE_VIEW(mld_v_rap_expimp_afmtxt, 0)
(
afmeldtekstnaam,
afmeldtekstomschrijving,
fclt_x_discipline_key,
fclt_x_stdmelding_key,
discipline_key,
stdmelding_key,
afmeldtekstusefor
)
AS
SELECT t.mld_afmeldtekst_naam
, t.mld_afmeldtekst_omschrijving
, md.ins_discipline_omschrijving
|| ' [key='
|| TO_CHAR (sm.mld_ins_discipline_key)
|| ']'
, sm.mld_stdmelding_omschrijving
|| ' [key='
|| TO_CHAR (sm.mld_stdmelding_key)
|| ']'
, sm.mld_ins_discipline_key
, t.mld_stdmelding_key
, mld_afmeldtekst_usefor
FROM mld_afmeldtekst t
, mld_stdmelding sm
, mld_discipline md
WHERE t.mld_stdmelding_key IS NOT NULL
AND t.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
UNION
SELECT t.mld_afmeldtekst_naam
, t.mld_afmeldtekst_omschrijving
, DECODE (
md.ins_discipline_key,
NULL,
NULL,
md.ins_discipline_omschrijving
|| ' [key='
|| TO_CHAR (md.ins_discipline_key)
|| ']')
, NULL
, md.ins_discipline_key
, NULL
, mld_afmeldtekst_usefor
FROM mld_afmeldtekst t
, mld_discipline md
WHERE t.mld_stdmelding_key IS NULL
AND t.mld_ins_discipline_key = md.ins_discipline_key(+);
---- 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);
-- Defines the personal todo-list for user fclt_3d_user_key,
-- gathering all the variants that an order can be assigned
-- To be used as base for a report. First version
CREATE_VIEW(mld_v_rap_prs_todolist, 0)
(
opdr_key,
res_key,
taak,
referentie,
plaatsmelding,
prio,
begindatum,
einddatum,
planning_van,
planning_tot,
gepland,
omschrijving,
opdrachtstatuscode,
opdrachtstatus,
behandelaar,
behandelaar_alt,
plantype,
actief,
halted,
mld_opdr_flag,
mld_opdr_actiecode,
prs_bedrijf_naam,
plaatsbedrijf,
fclt_3d_user_key
)
AS
SELECT o.mld_opdr_key,
NULL,
lcl.x (std.mld_stdmelding_omschrijving,
std.mld_stdmelding_key,
std.mld_stdmelding_omschrijving)
omschrijving,
sd.ins_srtdiscipline_prefix || o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
opdracht,
NVL (va.plaatsmelding, l.alg_locatie_code)
plaatsmelding,
DECODE (mld_melding_spoed,
3, lcl.l ('lcl_mld_urg_normaal'),
1, lcl.l ('lcl_mld_urg_kritiek'),
2, lcl.l ('lcl_mld_urg_hoog'),
4, lcl.l ('lcl_mld_urg_laag'))
prio,
o.mld_opdr_datumbegin
begindatum,
o.mld_opdr_einddatum
einddatum,
o.mld_opdr_plandatum
planning_van,
o.mld_opdr_plandatum2
planning_tot,
DECODE (o.mld_opdr_plandatum, NULL, lcl.l ('lcl_No'), lcl.l ('lcl_Yes'))
gepland,
o.mld_opdr_omschrijving,
o.mld_statusopdr_key
opdrachtstatuscode,
so.mld_statusopdr_omschrijving
opdrachtstatus,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = cp.prs_perslid_key)
behandelaar,
cp.prs_contactpersoon_naam
behandelaar_alt,
'OC'
plantype,
DECODE (o.mld_statusopdr_key, 8, lcl.l ('lcl_Yes'), lcl.l ('lcl_No'))
actief,
DECODE (o.mld_opdr_halted, 1, lcl.l ('lcl_Yes'), lcl.l ('lcl_No'))
halted,
o.mld_opdr_flag,
o.mld_opdr_actiecode,
b.prs_bedrijf_naam,
COALESCE (b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats)
plaatsbedrijf,
cp.prs_perslid_key
fclt_3d_user_key
FROM mld_opdr o,
mld_melding m,
mld_stdmelding std,
mld_statusopdr so,
ins_tab_discipline d,
ins_srtdiscipline sd,
(SELECT v.alg_onroerendgoed_keys,
v.alg_gebouw_key,
v.alg_verdieping_key,
v.alg_ruimte_key,
l.alg_locatie_code
|| '-'
|| DECODE (
v.alg_plaatsaanduiding,
'', ' (' || l.alg_locatie_omschrijving || ')',
v.alg_plaatsaanduiding
|| DECODE (v.alg_plaatsomschrijving,
'', '',
' (' || v.alg_plaatsomschrijving || ')'))
plaatsmelding
FROM alg_v_allonrgoed_gegevens v, alg_locatie l
WHERE l.alg_locatie_key = v.alg_locatie_key) va,
alg_locatie l,
alg_district di,
prs_bedrijf b,
prs_contactpersoon cp
WHERE o.mld_melding_key = m.mld_melding_key(+)
AND m.mld_stdmelding_key = std.mld_stdmelding_key(+)
AND std.mld_ins_discipline_key = d.ins_discipline_key(+)
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND o.mld_statusopdr_key IN (4, 5, 8)
AND so.mld_statusopdr_key = o.mld_statusopdr_key
AND m.mld_alg_onroerendgoed_keys = va.alg_onroerendgoed_keys(+)
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = di.alg_district_key(+)
--AND o.mld_uitvoerende_keys = cp.prs_bedrijf_key
AND o.prs_contactpersoon_key = cp.prs_contactpersoon_key
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
UNION
SELECT o.mld_opdr_key,
NULL,
lcl.x (std.mld_stdmelding_omschrijving,
std.mld_stdmelding_key,
std.mld_stdmelding_omschrijving)
omschrijving,
sd.ins_srtdiscipline_prefix || o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
opdracht,
NVL (va.plaatsmelding, l.alg_locatie_code)
plaatsmelding,
DECODE (mld_melding_spoed,
3, lcl.l ('lcl_mld_urg_normaal'),
1, lcl.l ('lcl_mld_urg_kritiek'),
2, lcl.l ('lcl_mld_urg_hoog'),
4, lcl.l ('lcl_mld_urg_laag'))
prio,
o.mld_opdr_datumbegin
begindatum,
o.mld_opdr_einddatum
einddatum,
o.mld_opdr_plandatum
planning_van,
o.mld_opdr_plandatum2
planning_tot,
DECODE (o.mld_opdr_plandatum, NULL, lcl.l ('lcl_No'), lcl.l ('lcl_Yes'))
gepland,
o.mld_opdr_omschrijving,
o.mld_statusopdr_key
opdrachtstatuscode,
so.mld_statusopdr_omschrijving
opdrachtstatus,
pf.prs_perslid_naam_friendly
behandelaar,
pf.prs_perslid_naam_full
behandelaar_alt,
'OUP' -- opdracht door uitvoerende interne persoon
plantype,
DECODE (o.mld_statusopdr_key, 8, lcl.l ('lcl_Yes'), lcl.l ('lcl_No'))
actief,
DECODE (o.mld_opdr_halted, 1, lcl.l ('lcl_Yes'), lcl.l ('lcl_No'))
halted,
o.mld_opdr_flag,
o.mld_opdr_actiecode,
b.prs_bedrijf_naam,
COALESCE (b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats)
plaatsbedrijf,
pf.prs_perslid_key
fclt_3d_user_key
FROM mld_opdr o,
mld_melding m,
mld_stdmelding std,
mld_statusopdr so,
ins_tab_discipline d,
ins_srtdiscipline sd,
(SELECT v.alg_onroerendgoed_keys,
v.alg_gebouw_key,
v.alg_verdieping_key,
v.alg_ruimte_key,
l.alg_locatie_code
|| '-'
|| DECODE (
v.alg_plaatsaanduiding,
'', ' (' || l.alg_locatie_omschrijving || ')',
v.alg_plaatsaanduiding
|| DECODE (v.alg_plaatsomschrijving,
'', '',
' (' || v.alg_plaatsomschrijving || ')'))
plaatsmelding
FROM alg_v_allonrgoed_gegevens v, alg_locatie l
WHERE l.alg_locatie_key = v.alg_locatie_key) va,
alg_locatie l,
alg_district di,
prs_v_afdeling afd,
prs_bedrijf b,
prs_perslid p,
prs_v_perslid_fullnames pf
WHERE o.mld_melding_key = m.mld_melding_key(+)
AND m.mld_stdmelding_key = std.mld_stdmelding_key(+)
AND std.mld_ins_discipline_key = d.ins_discipline_key(+)
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND o.mld_statusopdr_key IN (4, 5, 8)
AND so.mld_statusopdr_key = o.mld_statusopdr_key
AND m.mld_alg_onroerendgoed_keys = va.alg_onroerendgoed_keys(+)
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = di.alg_district_key(+)
AND o.mld_uitvoerende_keys = p.prs_perslid_key
AND pf.prs_perslid_key = p.prs_perslid_key
AND o.prs_contactpersoon_key IS NULL
AND p.prs_afdeling_key = afd.prs_afdeling_key
AND afd.prs_bedrijf_key = b.prs_bedrijf_key
UNION
SELECT o.mld_opdr_key,
NULL,
lcl.x (std.mld_stdmelding_omschrijving,
std.mld_stdmelding_key,
std.mld_stdmelding_omschrijving)
omschrijving,
sd.ins_srtdiscipline_prefix || o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
opdracht,
NVL (va.plaatsmelding, l.alg_locatie_code)
plaatsmelding,
DECODE (mld_melding_spoed,
3, lcl.l ('lcl_mld_urg_normaal'),
1, lcl.l ('lcl_mld_urg_kritiek'),
2, lcl.l ('lcl_mld_urg_hoog'),
4, lcl.l ('lcl_mld_urg_laag'))
spoed,
o.mld_opdr_datumbegin,
o.mld_opdr_einddatum,
rrd.res_rsv_deel_van
planning_van,
rrd.res_rsv_deel_tot
planning_tot,
lcl.l ('lcl_Yes')
gepland,
o.mld_opdr_omschrijving,
o.mld_statusopdr_key,
so.mld_statusopdr_omschrijving
opdrachtstatus,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = rd.res_prs_perslid_key)
behandelaar,
rd.res_deel_omschrijving,
'OR',
DECODE (o.mld_statusopdr_key, 8, lcl.l ('lcl_Yes'), lcl.l ('lcl_No'))
actief,
DECODE (o.mld_opdr_halted, 1, lcl.l ('lcl_Yes'), lcl.l ('lcl_No'))
halted,
o.mld_opdr_flag,
o.mld_opdr_actiecode,
b.prs_bedrijf_naam,
COALESCE (b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats)
plaatsbedrijf,
rd.res_prs_perslid_key
fclt_3d_user_key
FROM mld_opdr o,
mld_melding m,
mld_stdmelding std,
mld_statusopdr so,
ins_tab_discipline d,
ins_srtdiscipline sd,
(SELECT v.alg_onroerendgoed_keys,
v.alg_gebouw_key,
v.alg_verdieping_key,
v.alg_ruimte_key,
l.alg_locatie_code
|| '-'
|| DECODE (
v.alg_plaatsaanduiding,
'', ' (' || l.alg_locatie_omschrijving || ')',
v.alg_plaatsaanduiding
|| DECODE (v.alg_plaatsomschrijving,
'', '',
' (' || v.alg_plaatsomschrijving || ')'))
plaatsmelding
FROM alg_v_allonrgoed_gegevens v, alg_locatie l
WHERE l.alg_locatie_key = v.alg_locatie_key) va,
alg_locatie l,
alg_district di,
prs_bedrijf b,
res_deel rd,
res_rsv_deel rrd,
res_rsv_ruimte rrr
WHERE o.mld_melding_key = m.mld_melding_key(+)
AND m.mld_stdmelding_key = std.mld_stdmelding_key(+)
AND std.mld_ins_discipline_key = d.ins_discipline_key(+)
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND o.mld_statusopdr_key IN (4, 5, 8)
AND so.mld_statusopdr_key = o.mld_statusopdr_key
AND m.mld_alg_onroerendgoed_keys = va.alg_onroerendgoed_keys(+)
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = di.alg_district_key(+)
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.mld_opdr_key = o.mld_opdr_key
AND rd.res_deel_verwijder IS NULL
AND rrd.res_deel_key = rd.res_deel_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
UNION
SELECT NULL,
rrr.res_rsv_ruimte_key,
lcl.x (ra.res_activiteit_omschrijving,
ra.res_activiteit_key,
ra.res_activiteit_omschrijving)
activiteit,
'R' || rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
opdracht,
va.plaatsmelding
plaatsmelding,
DECODE (3,
3, lcl.l ('lcl_mld_urg_normaal'),
1, lcl.l ('lcl_mld_urg_kritiek'),
2, lcl.l ('lcl_mld_urg_hoog'),
4, lcl.l ('lcl_mld_urg_laag'))
spoed,
rrr.res_rsv_ruimte_van,
rrr.res_rsv_ruimte_tot,
rrd.res_rsv_deel_van
planning_van,
rrd.res_rsv_deel_tot
planning_tot,
lcl.l ('lcl_Yes')
gepland,
rrr.res_rsv_ruimte_omschrijving
omschrijving,
rrr.res_status_fo_key,
rs.res_status_fo_omschrijving
opdrachtstatus,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = rd.res_prs_perslid_key)
behandelaar,
rd.res_deel_omschrijving,
'R',
CASE
WHEN SYSDATE BETWEEN rrd.res_rsv_deel_van AND rrd.res_rsv_deel_tot
THEN
lcl.l ('lcl_Yes')
ELSE
lcl.l ('lcl_No')
END
actief,
NULL
halted,
res_rsv_ruimte_flag
markering,
NULL
actiecode,
b.prs_bedrijf_naam,
COALESCE (b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats)
plaatsbedrijf,
rd.res_prs_perslid_key
fclt_3d_user_key
FROM (SELECT v.alg_onroerendgoed_keys,
v.alg_gebouw_key,
v.alg_verdieping_key,
v.alg_ruimte_key,
l.alg_locatie_code
|| '-'
|| DECODE (
v.alg_plaatsaanduiding,
'', ' (' || l.alg_locatie_omschrijving || ')',
v.alg_plaatsaanduiding
|| DECODE (v.alg_plaatsomschrijving,
'', '',
' (' || v.alg_plaatsomschrijving || ')'))
plaatsmelding
FROM alg_v_allonrgoed_gegevens v, alg_locatie l
WHERE l.alg_locatie_key = v.alg_locatie_key) va,
prs_bedrijf b,
prs_v_afdeling afd,
prs_perslid p,
( SELECT rro.res_ruimte_opstel_key, MIN (rar.alg_ruimte_key) alg_ruimte_key
FROM res_ruimte_opstelling rro, res_alg_ruimte rar
WHERE rro.res_ruimte_key = rar.res_ruimte_key AND rar.res_alg_ruimte_verwijder IS NULL
GROUP BY res_ruimte_opstel_key) opstelalg, -- same old story, todo
res_status_fo rs,
res_activiteit ra,
res_deel rd,
res_rsv_deel rrd,
res_rsv_ruimte rrr
WHERE rrr.res_ruimte_opstel_key = opstelalg.res_ruimte_opstel_key(+)
AND va.alg_ruimte_key = COALESCE (rrr.alg_ruimte_key, opstelalg.alg_ruimte_key)
AND rs.res_status_fo_key = rrr.res_status_fo_key
AND ra.res_activiteit_key = rrr.res_activiteit_key
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rd.res_deel_verwijder IS NULL
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = afd.prs_afdeling_key
AND afd.prs_bedrijf_key = b.prs_bedrijf_key;
/* ROOT VIEWS for User defined Reports (UDR) */
/* since melding and opdracht are joined later on, the columns must be unique */
/* Note: als je kolommen toevoegt wil je dat zeer waarschijnlijk ook in mld_v_udr_meldingopdracht */
CREATE_VIEW(mld_v_udr_melding, 1)
(
melding_key,
meldingnummer,
melding_start_key,
externnummer,
melding_regio,
melding_district,
melding_locatiecode,
melding_locatie,
melding_locatieplaats,
fclt_3d_locatie_key,
gebouw_key,
melding_gebouwcode,
melding_gebouw,
melding_verdieping,
melding_ruimtenr,
melding_ruimte,
melding_ordernr,
kostensoortgroep,
kostensoort,
kostenplaats,
kostenplaats_oms,
melder,
melder_key,
melder_email,
afdeling,
afdeling_omschrijving,
fclt_3d_afdeling_key,
divisie,
divisie_omschrijving,
fclt_3d_divisie_key,
bedrijf_key,
invoerder,
meldbron,
soortmelding,
fclt_3d_discipline_key,
productgroep,
subproductgroep,
behandelgroep,
behandelaar,
behandelaar_key,
subproductgroepgroep,
fclt_3d_discipline2_key,
actieve_behandelgroep,
actieve_behandelaar_key,
actieve_behandelaar,
melding_status,
sla_nvt,
sla_werkdgn,
sla_werkuren,
sla_respijtdgn,
sla_respijturen,
sla_accptdgn,
sla_accpturen,
plan_uitvoertijd_sla,
melding_datum,
melding_einddatum,
melding_einddatum_std,
melding_acceptdatum,
melding_afgemeld,
melding_accepted,
doorlooptijd_werkdgn,
doorlooptijd_werkuren,
onderwerp,
vomschrijving,
melding_opmerking,
prioriteit,
prioriteittxt,
rating,
rating_opmerking,
bolletje,
actiecode,
accept_sla_dagen,
accept_sla_uren,
uitvoering_sla_dagen,
uitvoering_sla_uren,
afspraak_sla_dagen,
afspraak_sla_uren,
accept_sla_optijd,
uitvoering_sla_optijd,
afspraak_sla_optijd,
selfservice
)
AS
SELECT mld_melding_key,
meldingnummer,
mld_melding_start_key,
mld_melding_externnr,
alg_regio_omschrijving,
alg_district_omschrijving,
locatie,
locatie_omschrijving,
locatie_plaats,
alg_locatie_key,
alg_gebouw_key,
gebouw,
gebouw_naam,
verdieping,
ruimte,
ruimte_omschrijving,
melding_ordernr,
kostensoortgroep,
kostensoort,
kostenplaats,
kostenplaats_oms,
melder,
prs_perslid_key,
prs_perslid_email,
afdeling,
afdeling_omschrijving,
afdeling_key,
divisie,
divisie_omschrijving,
divisie_key,
prs_bedrijf_key,
invoerder,
meldbron,
soortmelding,
stdm_ins_discipline_key,
productgroep,
subproductgroep,
behandelgroep,
behandelaar,
behandelaar_key,
subproductgroepgroep,
mld_ins_discipline_key,
actieve_behandelgroep,
actieve_behandelaar_key,
actieve_behandelaar,
status,
sla_nvt,
sla_werkdgn,
sla_werkuren,
sla_respijtdgn,
sla_respijturen,
sla_accptdgn,
sla_accpturen,
plan_uitvoertijd_sla,
datum,
einddatum,
einddatum_std,
acceptdatum,
afgemeld,
accepted,
DECODE (x.t_doorlooptijd.eenheid, 'D', x.t_doorlooptijd.tijdsduur, NULL)
doorlooptijd_werkdgn,
DECODE (x.t_doorlooptijd.eenheid, 'U', x.t_doorlooptijd.tijdsduur, NULL)
doorlooptijd_werkuren,
onderwerp,
omschrijving,
opmerking,
mld_melding_spoed prioriteit,
DECODE(mld_melding_spoed,3,lcl.l('lcl_mld_urg_normaal'),1,lcl.l('lcl_mld_urg_kritiek'),2,lcl.l('lcl_mld_urg_hoog'),4,lcl.l('lcl_mld_urg_laag')),
mld_melding_satisfaction,
mld_melding_satisfaction_op,
mld_melding_flag,
mld_melding_actiecode,
DECODE (x.t_doorlooptijd.eenheid, 'D', acceptdatum - COALESCE (accepted, afgemeld), NULL)
accept_sla_dagen,
CAST (
DECODE (x.t_doorlooptijd.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
NULL)
AS NUMBER(7,2)
)
accept_sla_uren,
DECODE (
x.t_doorlooptijd.eenheid,
'D',
mld.geteinddatum (mld_melding_key)
- COALESCE (afgemeld, SYSDATE)
+ COALESCE (sla_respijtdgn, 0),
NULL)
uitvoering_sla_dagen,
CAST (
DECODE (
x.t_doorlooptijd.eenheid,
'U',
( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24)
+ COALESCE (sla_respijturen, 0),
NULL)
AS NUMBER(7,2)
)
uitvoering_sla_uren,
DECODE (x.t_doorlooptijd.eenheid,
'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
NULL)
afspraak_sla_dagen,
CAST (
DECODE (
x.t_doorlooptijd.eenheid,
'U',
( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0),
NULL)
AS NUMBER(7,2)
)
afspraak_sla_uren,
CASE
WHEN acceptdatum IS NULL
OR -- Dan is er geen acceptatietijd gedefinieerd en dus altijd op tijd.
DECODE (x.t_doorlooptijd.eenheid,
'D', acceptdatum - COALESCE (accepted, afgemeld),
0)
+ DECODE (x.t_doorlooptijd.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
0) >= 0
THEN
lcl.l ('lcl_yes')
ELSE
lcl.l ('lcl_no')
END
accept_sla_optijd,
CASE
WHEN DECODE (
x.t_doorlooptijd.eenheid,
'D',
mld.geteinddatum (mld_melding_key)
- COALESCE (afgemeld, SYSDATE)
+ COALESCE (sla_respijtdgn, 0),
0)
+ DECODE (
x.t_doorlooptijd.eenheid,
'U',
( (mld.geteinddatum(mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24)
+ COALESCE (sla_respijturen, 0),
0) >= 0
THEN
lcl.l ('lcl_yes')
ELSE
lcl.l ('lcl_no')
END
uitvoering_sla_optijd,
CASE
WHEN DECODE (x.t_doorlooptijd.eenheid,
'D',
einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
0)
+ DECODE (
x.t_doorlooptijd.eenheid,
'U',
( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24)
+ COALESCE (sla_respijtdgn, 0),
0) >= 0
THEN
lcl.l ('lcl_yes')
ELSE
lcl.l ('lcl_no')
END
afspraak_sla_optijd,
DECODE(invoerder, melder, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) selfservice
FROM (SELECT m.mld_melding_key,
m.mld_melding_start_key,
m.mld_melding_externnr,
m.prs_perslid_key,
mab.prs_perslid_email,
sd.ins_srtdiscipline_prefix || m.mld_melding_key meldingnummer,
alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code locatie,
alg_locatie_omschrijving locatie_omschrijving,
alg_locatie_plaats locatie_plaats,
l.alg_locatie_key,
COALESCE(og.alg_gebouw_code, og.alg_terreinsector_code) gebouw,
COALESCE(og.alg_gebouw_naam, og.alg_terreinsector_naam) gebouw_naam,
og.alg_verdieping_code verdieping,
og.alg_gebouw_key,
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,
mab.afdeling_naam afdeling,
mab.afdeling_omschrijving afdeling_omschrijving,
mab.prs_afdeling_key afdeling_key,
mab.divisie_naam divisie,
mab.divisie_omschrijving,
mab.prs_afdeling_key1 divisie_key,
mab.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,
(SELECT mb.mld_meldbron_omschrijving
FROM mld_meldbron mb
WHERE mb.mld_meldbron_key = m.mld_meldbron_key)
meldbron,
m.mld_meldbron_key,
sd.ins_srtdiscipline_key ins_srtdiscipline_key,
sd.ins_srtdiscipline_omschrijving soortmelding,
md.ins_discipline_key stdm_ins_discipline_key,
md.ins_discipline_omschrijving productgroep,
s.mld_stdmelding_omschrijving subproductgroep,
smg.mld_stdmeldinggroep_naam subproductgroepgroep,
mbg.mld_behandelgroep_naam behandelgroep,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = m.mld_melding_behandelaar_key)
behandelaar,
m.mld_melding_behandelaar_key behandelaar_key,
m.mld_ins_discipline_key mld_ins_discipline_key,
(SELECT md2.ins_discipline_omschrijving
FROM mld_discipline md2
WHERE md2.ins_discipline_key = m.mld_ins_discipline_key) actieve_behandelgroep,
m.mld_melding_behandelaar2_key actieve_behandelaar_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = m.mld_melding_behandelaar2_key)
actieve_behandelaar,
(SELECT mld_statuses_omschrijving
FROM mld_statuses sta
WHERE sta.mld_statuses_key = m.mld_melding_status)
status,
CASE
WHEN m.mld_melding_einddatum >
COALESCE (fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
SYSDATE)
THEN
1
ELSE
0
END
plan_uitvoertijd_sla,
CASE
WHEN m.mld_melding_indult = 1 OR s.mld_stdmelding_slabewaken = 0 THEN 1
ELSE 0
END
sla_nvt,
DECODE (m.mld_melding_t_uitvoertijd.eenheid,
'D', m.mld_melding_t_uitvoertijd.tijdsduur,
NULL)
sla_werkdgn,
DECODE (m.mld_melding_t_uitvoertijd.eenheid,
'U', m.mld_melding_t_uitvoertijd.tijdsduur,
NULL)
sla_werkuren,
DECODE (m.mld_melding_t_respijt.eenheid,
'D', m.mld_melding_t_respijt.tijdsduur,
NULL)
sla_respijtdgn,
DECODE (m.mld_melding_t_respijt.eenheid,
'U', m.mld_melding_t_respijt.tijdsduur,
NULL)
sla_respijturen,
DECODE (m.mld_melding_t_accepttijd.eenheid,
'D', m.mld_melding_t_accepttijd.tijdsduur,
NULL)
sla_accptdgn,
DECODE (m.mld_melding_t_accepttijd.eenheid,
'U', m.mld_melding_t_accepttijd.tijdsduur,
NULL)
sla_accpturen,
m.mld_melding_datum datum,
CASE WHEN s.mld_stdmelding_planbaar = 2
THEN TO_DATE(NULL)
ELSE m.mld_melding_einddatum
END einddatum,
mld_melding_einddatum_std einddatum_std,
mld_melding_acceptdatum_std acceptdatum,
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
mld.getmeldingstatusdate (m.mld_melding_key, 1))
afgemeld,
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 4),
mld.getmeldingstatusdate (m.mld_melding_key, 1))
accepted,
mld.getactualuitvoer (m.mld_melding_key) t_doorlooptijd,
m.mld_melding_onderwerp onderwerp,
m.mld_melding_omschrijving omschrijving,
m.mld_melding_opmerking opmerking,
m.mld_melding_spoed,
m.mld_melding_satisfaction,
m.mld_melding_satisfaction_op,
m.mld_melding_flag,
mld_melding_actiecode
FROM mld_melding m,
mld_stdmelding s,
alg_locatie l,
alg_district d,
alg_regio r,
alg_v_allonrgoed_gegevens og,
mld_discipline md,
mld_disc_params mdp,
mld_behandelgroep mbg,
ins_srtdiscipline sd,
mld_stdmeldinggroep smg,
(SELECT mx.mld_melding_key
, div.prs_bedrijf_key
, ab.prs_afdeling_key1
, div.prs_afdeling_naam divisie_naam
, div.prs_afdeling_omschrijving divisie_omschrijving
, ab.prs_afdeling_key
, afd.prs_afdeling_naam afdeling_naam
, afd.prs_afdeling_omschrijving afdeling_omschrijving
, px.prs_perslid_key
, px.prs_perslid_email
FROM mld_melding mx
, prs_perslid px
, prs_v_afdeling_boom ab
, prs_afdeling afd
, prs_afdeling div
WHERE px.prs_perslid_key = mx.prs_perslid_key
AND ab.prs_afdeling_key = coalesce(mx.prs_afdeling_key, px.prs_afdeling_key)
AND ab.prs_afdeling_key = afd.prs_afdeling_key
AND ab.prs_afdeling_key1 = div.prs_afdeling_key
) mab
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 md.ins_discipline_key = mdp.mld_ins_discipline_key
AND s.mld_stdmeldinggroep_key = smg.mld_stdmeldinggroep_key(+)
AND mdp.mld_behandelgroep_key = mbg.mld_behandelgroep_key(+)
AND l.alg_district_key = d.alg_district_key(+)
AND d.alg_regio_key = r.alg_regio_key(+)
AND m.mld_melding_key = mab.mld_melding_key
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND m.fac_activiteit_key IS NULL
AND m.mld_melding_datum >= TO_DATE ('01-01-2010', 'DD-MM-YYYY')) x;
CREATE_VIEW(mld_v_udr_opdracht, 1)
(
opdracht_key,
opdracht_nummer,
opdracht_regio,
opdracht_district,
opdracht_locatie_code,
opdracht_locatie,
opdracht_locatieplaats,
fclt_3d_locatie_key,
gebouw_key,
opdracht_gebouwcode,
opdracht_gebouw,
opdracht_verdieping,
opdracht_ruimtenr,
opdracht_ruimte,
opdracht_kostenplaats,
opdracht_kostenplaats_oms,
melding_key,
opdracht_int_ext,
opdracht_type,
opdracht_volgnummer,
opdracht_status,
opdracht_duur_gepland,
opdracht_datum,
opdracht_einddatum,
opdracht_plandatum,
opdracht_acceptdatum,
opdracht_afgemeld,
opdracht_doorlooptijd,
opdracht_accepttijd,
opdracht_omschrijving,
opdracht_opmerking,
opdracht_uitvoerende,
opdracht_uitvoerende_contact,
opdracht_behandelaar,
opdracht_contract,
opdracht_contract_versie,
opdracht_contactpersoon,
opdracht_uren,
opdracht_correctie,
opdracht_materiaal,
opdracht_uurtarief,
opdracht_kosten,
opdracht_parent_key,
opdracht_parent_nummer,
opdracht_parent_volgnummer,
opdracht_verstrektdatum,
opdracht_lev_doorloopdagen,
opdracht_lev_doorloopuren
)
AS
SELECT mld_opdr_key,
ins_srtdiscipline_prefix || TO_CHAR (mld_melding_key) || '/' || opdracht_volgnummer,
alg_regio_omschrijving,
alg_district_omschrijving,
locatie,
locatie_omschrijving,
locatie_plaats,
alg_locatie_key,
alg_gebouw_key,
gebouw,
gebouw_naam,
verdieping,
ruimte,
ruimte_omschrijving,
kostenplaats,
kostenplaats_oms,
mld_melding_key,
opdracht_int_ext,
opdracht_type,
opdracht_volgnummer,
opdracht_status,
opdracht_duur_gepland,
opdracht_datum,
opdracht_einddatum,
opdracht_plandatum,
opdracht_acceptdatum,
opdracht_afgemeld,
opdracht_doorlooptijd,
opdracht_accepttijd,
opdracht_omschrijving,
opdracht_opmerking,
opdracht_uitvoerende,
opdracht_uitvoerende_contact,
opdracht_behandelaar,
opdracht_contract,
opdracht_contract_versie,
opdracht_contactpersoon,
opdracht_uren,
opdracht_correctie,
opdracht_materiaal,
opdracht_uurtarief,
opdracht_kosten,
opdracht_parent_key,
CASE WHEN opdracht_parent_key IS NOT NULL
THEN ins_srtdiscipline_prefix || TO_CHAR (mld_melding_key) || '/' || opdracht_parent_volgnummer
ELSE NULL
END
opdracht_parent_nummer,
opdracht_parent_volgnummer,
opdracht_verstrektdatum,
MLD.getactualuitvoer ( opdracht_verstrektdatum
, opdracht_afgemeld
, mld_stdmelding_key
, mld_melding_spoed
, NULL
, NULL
, 'D'
).tijdsduur opdracht_lev_doorloopdagen,
MLD.getactualuitvoer ( opdracht_verstrektdatum
, opdracht_afgemeld
, mld_stdmelding_key
, mld_melding_spoed
, NULL
, NULL
, 'U'
).tijdsduur opdracht_lev_doorloopuren
FROM (SELECT alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code locatie,
alg_locatie_omschrijving locatie_omschrijving,
alg_locatie_plaats locatie_plaats,
l.alg_locatie_key,
COALESCE(og.alg_gebouw_code, og.alg_terreinsector_code) gebouw,
COALESCE(og.alg_gebouw_naam, og.alg_terreinsector_naam) gebouw_naam,
og.alg_gebouw_key,
og.alg_verdieping_code verdieping,
og.alg_ruimte_nr ruimte,
og.alg_ruimte_omschrijving ruimte_omschrijving,
(SELECT k.prs_kostenplaats_nr
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key
)
kostenplaats,
(SELECT k.prs_kostenplaats_omschrijving
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key
)
kostenplaats_oms,
o.mld_opdr_key,
o.mld_melding_key,
(SELECT DECODE(u.intern, 0, 'Extern', 1, 'Intern')
FROM mld_v_uitvoerende u
WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys
) opdracht_int_ext,
top.mld_typeopdr_key,
top.mld_typeopdr_omschrijving opdracht_type,
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,
o.mld_opdr_datumbegin opdracht_datum,
o.mld_opdr_einddatum opdracht_einddatum,
o.mld_opdr_plandatum opdracht_plandatum,
COALESCE(mld.getopdrachtstatusdate (o.mld_opdr_key, 8), mld.getopdrachtstatusdate (o.mld_opdr_key, 1))
opdracht_acceptdatum,
COALESCE (mld.getopdrachtstatusdate (o.mld_opdr_key, 6), mld.getopdrachtstatusdate (o.mld_opdr_key, 1))
opdracht_afgemeld,
fac.count_work_days (o.mld_opdr_datumbegin,
mld.getopdrachtstatusdate (o.mld_opdr_key, 6))
opdracht_doorlooptijd,
COALESCE (fac.count_Work_Days (mld.getopdrachtstatusdate (o.mld_opdr_key, 5),
COALESCE(mld.getopdrachtstatusdate (o.mld_opdr_key, 8), mld.getopdrachtstatusdate (o.mld_opdr_key, 6))),
fac.count_Work_Days (mld.getopdrachtstatusdate (o.mld_opdr_key, 5),
mld.getopdrachtstatusdate (o.mld_opdr_key, 1)))
opdracht_accepttijd,
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,
(SELECT contact_naam
FROM (SELECT cp.prs_contactpersoon_key,
pf.prs_perslid_naam_full contact_naam
FROM prs_contactpersoon cp,
prs_v_perslid_fullnames_all pf
WHERE cp.prs_perslid_key = pf.prs_perslid_key
UNION ALL
SELECT cp.prs_contactpersoon_key,
cp.prs_contactpersoon_naam
FROM prs_contactpersoon cp,
prs_v_perslid_fullnames_all pf
WHERE cp.prs_perslid_key = pf.prs_perslid_key
AND cp.prs_perslid_key IS NULL
) cpn
WHERE cpn.prs_contactpersoon_key = o.prs_contactpersoon_key
)
opdracht_uitvoerende_contact,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = o.prs_perslid_key
)
opdracht_behandelaar,
c.cnt_contract_nummer_intern opdracht_contract,
c.cnt_contract_versie opdracht_contract_versie,
o.mld_opdr_contactpersoon opdracht_contactpersoon,
o.mld_opdr_uren opdracht_uren,
o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon)
opdracht_correctie,
o.mld_opdr_materiaal opdracht_materiaal,
o.mld_opdr_uurloon opdracht_uurtarief,
o.mld_opdr_kosten opdracht_kosten,
sdi.ins_srtdiscipline_prefix,
o.mld_opdr_parent_key opdracht_parent_key,
op.mld_opdr_bedrijfopdr_volgnr opdracht_parent_volgnummer,
verstrekt.verstrektdatum opdracht_verstrektdatum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
DECODE (m.mld_melding_spoed,
1, stdm.mld_stdmelding_t_uitvtijd_pr1.eenheid,
2, stdm.mld_stdmelding_t_uitvtijd_pr2.eenheid,
3, stdm.mld_stdmelding_t_uitvoertijd.eenheid,
stdm.mld_stdmelding_t_uitvtijd_pr4.eenheid
) eenheid
FROM alg_locatie l,
alg_district d,
alg_regio r,
alg_v_allonrgoed_gegevens og,
mld_opdr o,
mld_opdr op,
mld_typeopdr top,
mld_melding m,
mld_stdmelding stdm,
ins_tab_discipline di,
ins_srtdiscipline sdi,
cnt_contract c,
(SELECT t.fac_tracking_refkey mld_opdr_key
, CASE WHEN MAX(t.fac_tracking_datum) < o.mld_opdr_datumbegin
THEN o.mld_opdr_datumbegin
ELSE MAX(t.fac_tracking_datum)
END verstrektdatum
FROM fac_tracking t
, fac_srtnotificatie n
, mld_opdr o
WHERE t.fac_tracking_refkey = o.mld_opdr_key(+)
AND n.fac_srtnotificatie_key = t.fac_srtnotificatie_key
AND n.fac_srtnotificatie_code IN ('ORDNEW','ORDSNT')
GROUP BY t.fac_tracking_refkey
, o.mld_opdr_datumbegin
) verstrekt
WHERE m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = d.alg_district_key(+)
AND d.alg_regio_key = r.alg_regio_key(+)
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND o.cnt_contract_key = c.cnt_contract_key(+)
AND m.mld_stdmelding_key = stdm.mld_stdmelding_key
AND stdm.mld_ins_discipline_key = di.ins_discipline_key
AND di.ins_srtdiscipline_key = sdi.ins_srtdiscipline_key
AND o.mld_melding_key = m.mld_melding_key
AND o.mld_typeopdr_key = top.mld_typeopdr_key(+)
AND o.mld_opdr_datumbegin >= TO_DATE ('01-01-2010', 'DD-MM-YYYY')
AND o.mld_opdr_parent_key = op.mld_opdr_key(+)
AND o.mld_opdr_key = verstrekt.mld_opdr_key(+)
) x;
-- Noot: SELECT * is een slecht gebruik en leidt tot onoplosbare conflicten
CREATE_VIEW(mld_v_udr_meldingopdracht, 1)
AS
SELECT
m.melding_key,
m.meldingnummer,
m.melding_start_key,
m.externnummer,
m.melding_regio,
m.melding_district,
m.melding_locatiecode,
m.melding_locatie,
m.melding_locatieplaats,
m.fclt_3d_locatie_key,
m.gebouw_key,
m.melding_gebouwcode,
m.melding_gebouw,
m.melding_verdieping,
m.melding_ruimtenr,
m.melding_ruimte,
m.melding_ordernr,
m.kostensoortgroep,
m.kostensoort,
m.kostenplaats,
m.kostenplaats_oms,
m.melder,
m.melder_key,
m.melder_email,
m.afdeling,
m.afdeling_omschrijving,
m.fclt_3d_afdeling_key,
m.divisie,
m.divisie_omschrijving,
m.fclt_3d_divisie_key,
m.bedrijf_key,
m.invoerder,
m.meldbron,
m.soortmelding,
m.fclt_3d_discipline_key,
m.productgroep,
m.subproductgroep,
m.behandelgroep,
m.behandelaar,
m.behandelaar_key,
m.subproductgroepgroep,
m.fclt_3d_discipline2_key,
m.actieve_behandelgroep,
m.actieve_behandelaar_key,
m.actieve_behandelaar,
m.melding_status,
m.sla_nvt,
m.sla_werkdgn,
m.sla_werkuren,
m.sla_respijtdgn,
m.sla_respijturen,
m.sla_accptdgn,
m.sla_accpturen,
m.plan_uitvoertijd_sla,
m.melding_datum,
m.melding_einddatum,
m.melding_einddatum_std,
m.melding_acceptdatum,
m.melding_afgemeld,
m.melding_accepted,
m.doorlooptijd_werkdgn,
m.doorlooptijd_werkuren,
m.onderwerp,
m.vomschrijving,
m.melding_opmerking,
m.prioriteit,
m.prioriteittxt,
m.rating,
m.rating_opmerking,
m.bolletje,
m.actiecode,
m.accept_sla_dagen,
m.accept_sla_uren,
m.uitvoering_sla_dagen,
m.uitvoering_sla_uren,
m.afspraak_sla_dagen,
m.afspraak_sla_uren,
m.accept_sla_optijd,
m.uitvoering_sla_optijd,
m.afspraak_sla_optijd,
m.selfservice,
o.opdracht_key,
o.opdracht_nummer,
o.opdracht_regio,
o.opdracht_district,
o.opdracht_locatie_code,
o.opdracht_locatie,
o.opdracht_locatieplaats,
--o.fclt_3d_locatie_key,
o.opdracht_gebouwcode,
o.opdracht_gebouw,
o.opdracht_verdieping,
o.opdracht_ruimtenr,
o.opdracht_ruimte,
o.opdracht_kostenplaats,
o.opdracht_kostenplaats_oms,
--o.melding_key,
o.opdracht_int_ext,
o.opdracht_type,
o.opdracht_volgnummer,
o.opdracht_status,
o.opdracht_duur_gepland,
o.opdracht_datum,
o.opdracht_einddatum,
o.opdracht_plandatum,
o.opdracht_acceptdatum,
o.opdracht_afgemeld,
o.opdracht_doorlooptijd,
o.opdracht_accepttijd,
o.opdracht_omschrijving,
o.opdracht_opmerking,
o.opdracht_uitvoerende,
o.opdracht_uitvoerende_contact,
o.opdracht_behandelaar,
o.opdracht_contract,
o.opdracht_contract_versie,
o.opdracht_contactpersoon,
o.opdracht_uren,
o.opdracht_correctie,
o.opdracht_materiaal,
o.opdracht_uurtarief,
o.opdracht_kosten,
o.opdracht_verstrektdatum,
o.opdracht_lev_doorloopuren,
o.opdracht_lev_doorloopdagen
FROM mld_v_udr_melding m, mld_v_udr_opdracht o
WHERE m.melding_key = o.melding_key(+);
// UDR met kenmerken (1 record per kenmerk met waarde in kolom c, n of d afhankelijk van type
// Geen kenmerk, geen record.
CREATE_VIEW(mld_v_udr_meldingkenmerk_cnd, 1)
AS
SELECT m.*,
lcl.x ('mld_srtkenmerk_omschrijving',
skm.mld_srtkenmerk_key,
mld_srtkenmerk_omschrijving)
kenmerk,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype = 'R' OR skm.mld_srtkenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde)
WHEN skm.mld_srtkenmerk_kenmerktype = 'C' OR skm.mld_srtkenmerk_kenmerktype = 'F'
THEN
km.mld_kenmerkmelding_waarde
ELSE
NULL
END
waarde_c,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype IN ('N', 'B')
THEN TO_NUMBER (km.mld_kenmerkmelding_waarde)
ELSE TO_NUMBER (NULL)
END
waarde_n,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype = 'D'
THEN
TO_DATE (km.mld_kenmerkmelding_waarde, 'DD-MM-YYYY')
ELSE
TO_DATE (NULL)
END
waarde_d,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype IN ('R', 'S')
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde)
ELSE
km.mld_kenmerkmelding_waarde
END
waarde_x
FROM mld_v_udr_melding M,
mld_kenmerkmelding km,
mld_kenmerk K,
mld_srtkenmerk skm
WHERE km.mld_melding_key = m.melding_key
AND km.mld_kenmerkmelding_verwijder IS NULL
AND k.mld_kenmerk_verwijder IS NULL
AND skm.mld_srtkenmerk_verwijder IS NULL
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
AND k.mld_srtkenmerk_key = skm.mld_srtkenmerk_key(+);
CREATE_VIEW(mld_v_udr_opdrachtkenmerk_cnd, 1)
AS
SELECT o.*,
lcl.x ('mld_srtkenmerk_omschrijving',
skm.mld_srtkenmerk_key,
mld_srtkenmerk_omschrijving)
kenmerk,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype = 'R' OR skm.mld_srtkenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, ko.mld_kenmerkopdr_waarde)
WHEN skm.mld_srtkenmerk_kenmerktype = 'C' OR skm.mld_srtkenmerk_kenmerktype = 'F'
THEN
ko.mld_kenmerkopdr_waarde
ELSE
NULL
END
waarde_c,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype IN ('N', 'B')
THEN TO_NUMBER (ko.mld_kenmerkopdr_waarde)
ELSE TO_NUMBER (NULL)
END
waarde_n,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype = 'D'
THEN
TO_DATE (ko.mld_kenmerkopdr_waarde, 'DD-MM-YYYY')
ELSE
TO_DATE (NULL)
END
waarde_d,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype IN ('R', 'S')
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, ko.mld_kenmerkopdr_waarde)
ELSE
ko.mld_kenmerkopdr_waarde
END
waarde_x
FROM mld_v_udr_opdracht o,
mld_kenmerkopdr ko,
mld_kenmerk k,
mld_srtkenmerk skm
WHERE ko.mld_opdr_key = o.opdracht_key
AND ko.mld_kenmerkopdr_verwijder IS NULL
AND k.mld_kenmerk_verwijder IS NULL
AND skm.mld_srtkenmerk_verwijder IS NULL
AND ko.mld_kenmerk_key = k.mld_kenmerk_key(+)
AND k.mld_srtkenmerk_key = skm.mld_srtkenmerk_key(+);
CREATE_VIEW(mld_v_udr_opdrachtmateriaal, 1)
AS
SELECT o.*,
mld_opdr_materiaal_aantal aantal,
mld_opdr_materiaal_eenheid eenheid,
mld_opdr_materiaal_eenheidcode eenheidcode,
COALESCE (mld_opdr_materiaal_omschr, fu.fac_usrdata_omschr) omschrijving,
COALESCE (mld_opdr_materiaal_prijs, fu.fac_usrdata_prijs) prijs,
mld_opdr_materiaal_code code,
mld_opdr_materiaal_info info,
mld_opdr_materiaal_groep groep,
mld_opdr_materiaal_id id,
mld_opdr_materiaal_extra1 extra1,
mld_opdr_materiaal_extra2 extra2,
mld_opdr_materiaal_extra3 extra3,
mld_opdr_materiaal_extra4 extra4,
fin_btwtabelwaarde_code btwcode,
fin_btwtabelwaarde_oms btwomschrijving,
fin_btwtabelwaarde_perc btw,
fin_btwtabelwaarde_verlegd btwverlegd
FROM mld_v_udr_opdracht o,
mld_opdr_materiaal mo,
fac_usrdata fu,
fin_btwtabelwaarde btw
WHERE mo.mld_opdr_key = o.opdracht_key
AND mo.fac_usrdata_key = fu.fac_usrdata_key(+)
AND mo.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key(+);
CREATE_VIEW(mld_v_nettotijdsbesteding, 0)
(
mld_opdr_key,
prs_perslid_key,
naam,
ntb_prs
)
AS
SELECT o.mld_opdr_key,
beh.prs_perslid_key,
p.prs_perslid_naam_full,
mld.getnettotijdsbesteding(o.mld_opdr_key, beh.prs_perslid_key) ntb_prs
FROM mld_opdr o,
(SELECT DISTINCT t.prs_perslid_key,
fac_tracking_refkey
FROM fac_tracking t,
fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND st.fac_srtnotificatie_code IN ('ORDACP','ORDRSM')) beh,
prs_v_perslid_fullnames_all p
WHERE beh.fac_tracking_refkey = o.mld_opdr_key
AND beh.prs_perslid_key = p.prs_perslid_key;
CREATE_VIEW(mld_v_mld_stdmelding_srtinst, 0)
AS
SELECT mss.mld_stdmelding_srtinst_key
, mss.mld_stdmelding_key
, mss.ins_srtinstallatie_niveau
, mss.ins_srtinstallatie_key
, insd.ins_deel_key
, isd.ins_srtdeel_key
, isg.ins_srtgroep_key
, isg.ins_discipline_key
FROM mld_stdmelding_srtinst mss
, ins_srtgroep isg
, ins_srtdeel isd
, ins_deel insd
WHERE isd.ins_srtdeel_key = insd.ins_srtdeel_key
AND isg.ins_srtgroep_key = isd.ins_srtgroep_key
AND ( mss.ins_srtinstallatie_niveau = 'S' AND mss.ins_srtinstallatie_key = insd.ins_srtdeel_key
OR mss.ins_srtinstallatie_niveau = 'G' AND mss.ins_srtinstallatie_key = isg.ins_srtgroep_key
OR mss.ins_srtinstallatie_niveau = 'D' AND mss.ins_srtinstallatie_key = isg.ins_discipline_key
);
REGISTERRUN('$Id$')
#endif // MLD