MARX#71880 Resourceplanboard: view tbv todolist

svn path=/Database/trunk/; revision=55853
This commit is contained in:
Peter Feij
2022-05-11 07:05:45 +00:00
parent 8d7062aad8
commit 8592b105ad

View File

@@ -1167,6 +1167,399 @@ AS
CREATE_VIEW(mld_v_api_meldingen, 1) AS SELECT * from mld_melding;
CREATE_VIEW(mld_v_api_opdrachten, 1) AS SELECT * from mld_opdr;
-- 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 */