Files
Database/MLD/MLD_VIE.SRC
2025-02-06 14:49:52 +00:00

1904 lines
78 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);
-- 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',
'H', 'niet tonen',
'' , 'niet verplicht')
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(+);
-- 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,
accepteerder,
afmelder,
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_actiedatum,
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,
melding_tag,
melding_tag_datum
)
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,
accepteerder,
afmelder,
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,
DECODE(x.sla_accpt.eenheid, 'D', x.sla_accpt.tijdsduur, NULL) sla_accptdgn,
DECODE(x.sla_accpt.eenheid, 'U', x.sla_accpt.tijdsduur, NULL) sla_accpturen,
plan_uitvoertijd_sla,
datum,
einddatum,
actiedatum,
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.sla_accpt.eenheid
, 'D', acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)
, NULL
) accept_sla_dagen,
CAST ( DECODE ( x.sla_accpt.eenheid
, 'U', (acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)) * 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.sla_accpt.eenheid,
'D', acceptdatum - COALESCE (accepted, afgemeld, SYSDATE),
0)
+ DECODE (x.sla_accpt.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)) * 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,
mld_melding_tag_naam,
mld_melding_tag_datum_tot
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,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = fac.gettrackinguserkey('MLDACP', m.mld_melding_key))
accepteerder,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = fac.gettrackinguserkey('MLDAFM', m.mld_melding_key))
afmelder,
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,
CASE WHEN m.mld_melding_spoed = 3 THEN s.mld_stdmelding_t_accepttijd
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr1
WHEN m.mld_melding_spoed = 2 then s.mld_stdmelding_t_accept_pr2
WHEN m.mld_melding_spoed = 4 then s.mld_stdmelding_t_accept_pr4
END sla_accpt,
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_actiedatum actiedatum,
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,
m.mld_melding_actiecode,
mmt.mld_melding_tag_naam,
mmt.mld_melding_tag_datum_tot
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,
mld_melding_tag mmt,
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_tag_key = mmt.mld_melding_tag_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,
opdracht_gefactureerd_excl,
opdracht_gefactureerd_btw,
opdracht_gefactureerd_incl
)
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,
gefactureerd_excl,
gefactureerd_btw,
gefactureerd_incl
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,
COALESCE(o.mld_opdr_kosten, 0) - COALESCE(o.mld_opdr_materiaal, 0) - (COALESCE(o.mld_opdr_uren, 0) * COALESCE(o.mld_opdr_uurloon, 0))
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,
COALESCE((SELECT SUM(f.fin_factuur_totaal)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_excl,
COALESCE((SELECT SUM(f.fin_factuur_totaal_btw)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_btw,
COALESCE((SELECT SUM(f.fin_factuur_totaal + f.fin_factuur_totaal_btw)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_incl
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.
// Obsolete geraakt sinds FCLT#56801, bestaat alleen nog een tijdje om compatibel te blijven
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 = '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 = 'N'
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', '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(+);
// Obsolete geraakt sinds FCLT#56801, bestaat alleen nog een tijdje om compatibel te blijven
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 = '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 = 'N'
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', '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
);
// views voor het bieden van inzicht in behandeling door behandelteams van een melding
// de relevante gebeurtenisen bij elkaar
CREATE_VIEW(mld_v_behandeltracking, 1)
AS
SELECT ft.fac_tracking_refkey
, ft.fac_tracking_key
, ft.fac_tracking_datum
, ft.fac_srtnotificatie_key
, fsn.fac_srtnotificatie_code
, ft.fac_tracking_oms
, ft.fac_tracking_subject_refkey
, DECODE (ins_discipline_key, NULL, NULL, md.ins_discipline_omschrijving) behandelteam
, md.ins_discipline_key
FROM fac_tracking ft, fac_srtnotificatie fsn, mld_discipline md
WHERE ft.fac_srtnotificatie_key = fsn.fac_srtnotificatie_key
AND fsn.fac_srtnotificatie_code IN ('MLDNEW'
, 'MLDACP'
, 'MLDBHG'
, 'MLDBWD'
, 'MLDDOO'
, 'MLDAFM'
, 'MLDREJ')
AND ft.fac_tracking_subject_refkey = md.ins_discipline_key(+);
// de interpretatie ervan.
CREATE_VIEW(mld_v_behandelverloop, 1)
AS
SELECT mld_melding_key
, datum
, event
, eventkey
, eventtext
, behandelteam -- in de native taal..
, LEAD (datum, 1) OVER (PARTITION BY mld_melding_key ORDER BY datum, eventkey) AS datumtot -- evt. handig voor kalenderrapportage
, -ROUND ((datum - LEAD (datum, 1) OVER (PARTITION BY mld_melding_key ORDER BY datum, eventkey)) * 24 * 60, 0) AS minuten
, DECODE ((MAX (datum) OVER (PARTITION BY mld_melding_key) - MIN (datum) OVER (PARTITION BY mld_melding_key))
, 0 -- Niet delen door 0
, 100 / COUNT (datum) OVER (PARTITION BY mld_melding_key) -- Als de eerste fac_tracking_datum gelijk is aan de laatste fac_tracking_datum, verdeel het percentage dan gelijk
, -ROUND (
( (datum - LEAD (datum, 1) OVER (PARTITION BY mld_melding_key ORDER BY datum, eventkey))
/ (MAX (datum) OVER (PARTITION BY mld_melding_key) - MIN (datum) OVER (PARTITION BY mld_melding_key)))
* 100
, 1)) AS percentage
FROM (SELECT fac_tracking_refkey mld_melding_key
, GREATEST (fac_tracking_datum, m.mld_melding_datum) datum
, fac_srtnotificatie_code event
, fac_tracking_key eventkey
, fac_tracking_oms eventtext
, NULL behandelteam
FROM mld_v_behandeltracking, mld_melding m
WHERE fac_tracking_refkey = m.mld_melding_key AND fac_srtnotificatie_code = 'MLDNEW'
UNION
SELECT fac_tracking_refkey
, fac_tracking_datum
, fac_srtnotificatie_code
, fac_tracking_key
, fac_tracking_oms
, NULL
FROM mld_v_behandeltracking
WHERE fac_srtnotificatie_code NOT IN ('MLDNEW', 'MLDBHG') -- die behandelen we hier apart
UNION
SELECT fac_tracking_refkey
, fac_tracking_datum
, fac_srtnotificatie_code
, fac_tracking_key
, fac_tracking_oms
, behandelteam -- kan historisch NULL zijn
FROM mld_v_behandeltracking
WHERE fac_srtnotificatie_code = 'MLDBHG'
UNION
SELECT fac_tracking_refkey-- aanvullen tot vandaag als deze nog loopt
, SYSDATE
, 'NOW'
, NULL
, NULL
, NULL
FROM mld_v_behandeltracking s
WHERE NOT EXISTS
(SELECT ''
FROM mld_v_behandeltracking x
WHERE x.fac_tracking_refkey = s.fac_tracking_refkey AND x.fac_srtnotificatie_code IN ('MLDAFM', 'MLDREJ')));
REGISTERRUN('$Id$')
#endif // MLD