BLST#76765 Aanpassing rapportage gemaakt vanuit BLST#75595

svn path=/Customer/trunk/; revision=60565
This commit is contained in:
Suzan Wiegerinck
2023-05-31 10:06:54 +00:00
parent e523133d86
commit 697ea1ccc0

View File

@@ -9322,116 +9322,143 @@ AS
--- BLST#75595 Rapport met afdelingen, gebouwen en reserveerbare ruimten
CREATE OR REPLACE VIEW BLST_V_RAP_RECHT_RSVRUIMTE
AS
SELECT DISTINCT prs.prs_afdeling_naam afdeling_code,
prs.prs_afdeling_omschrijving afdeling_omschrijving,
r.alg_locatie_code locatie_code,
r.alg_locatie_omschrijving locatie_omschrijving,
r.alg_gebouw_code gebouw_code,
r.alg_gebouw_naam gebouw_naam,
r.ins_discipline_omschrijving catalogus,
r.res_ruimte_nr res_ruimte_naam,
opst.opstelling opstelling
FROM --- personen die een werkplek hebben in dit gebouw
(SELECT a.prs_afdeling_naam,
a.prs_afdeling_omschrijving,
p.prs_perslid_key,
g.alg_gebouw_key
FROM fac_usrtab ut,
fac_usrdata ud,
prs_afdeling a,
prs_perslid p,
prs_v_perslid_fullnames pn,
alg_gebouw g
WHERE ( UPPER (fac_usrtab_naam) = 'WERKPLEKKEN BD'
OR UPPER (fac_usrtab_naam) = 'WERKPLEKKEN EXT')
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND ( ud.fac_usrdata_vervaldatum IS NULL
OR ud.fac_usrdata_vervaldatum > SYSDATE)
AND ud.fac_usrdata_verwijder IS NULL
AND ud.fac_usrdata_omschr = a.prs_afdeling_naam
AND p.prs_afdeling_key = a.prs_afdeling_key
AND pn.prs_perslid_key = p.prs_perslid_key
AND fac.safe_to_number (g.alg_gebouw_code) =
fac.safe_to_number (ud.fac_usrdata_prijs)) prs,
--- gebouwen met res ruimten
(SELECT l.alg_locatie_code,
l.alg_locatie_omschrijving,
g.alg_gebouw_code,
g.alg_gebouw_naam,
g.alg_gebouw_key,
v.alg_verdieping_code,
r.alg_ruimte_nr,
r.alg_ruimte_omschrijving,
rr.res_ruimte_key,
rr.res_ruimte_nr,
cat.ins_discipline_key,
cat.ins_discipline_omschrijving
FROM alg_locatie l,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r,
res_alg_ruimte ra,
res_ruimte rr,
ins_tab_discipline cat
WHERE l.alg_locatie_key = g.alg_locatie_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND r.alg_ruimte_verwijder IS NULL
AND r.alg_ruimte_key = ra.alg_ruimte_key
AND ra.res_alg_ruimte_verwijder IS NULL
AND ra.res_ruimte_key = rr.res_ruimte_key
AND rr.res_ruimte_verwijder IS NULL
AND cat.ins_discipline_key = rr.res_discipline_key
AND cat.ins_discipline_verwijder IS NULL) r,
--- opstellingen
( SELECT ro.res_ruimte_key,
LISTAGG (
o.res_opstelling_omschrijving
|| ' ('
|| ro.res_ruimte_opstel_bezoekers
|| ' bezoekers)',
' / ') --- scheidingsteken een komma
WITHIN GROUP (ORDER BY o.res_opstelling_omschrijving) opstelling
FROM res_ruimte_opstelling ro, res_opstelling o
WHERE ro.res_opstelling_key = o.res_opstelling_key
AND ro.res_ruimte_opstel_verwijder IS NULL
AND o.res_opstelling_verwijder IS NULL
GROUP BY ro.res_ruimte_key) opst
WHERE r.alg_gebouw_key = prs.alg_gebouw_key
AND opst.res_ruimte_key = r.res_ruimte_key
AND EXISTS
(SELECT g.fac_groep_omschrijving,
c.ins_discipline_key,
pf.prs_perslid_naam_friendly,
pf.prs_perslid_naam_full
FROM fac_groep g,
fac_groeprechten gr,
fac_gebruikersgroep gg,
prs_perslid p,
prs_v_perslid_fullnames pf,
fac_functie f,
ins_tab_discipline c
WHERE c.ins_discipline_key = r.ins_discipline_key
AND p.prs_perslid_key = prs.prs_perslid_key
AND g.fac_groep_key = gr.fac_groep_key
AND UPPER (
fac.getscopeleveltext (
gr.fac_gebruiker_alg_level_write,
'ALG')) NOT IN
('GEEN')
AND gg.fac_groep_key = g.fac_groep_key
AND p.prs_perslid_key = gg.prs_perslid_key
AND pf.prs_perslid_key = p.prs_perslid_key
AND f.fac_functie_key = gr.fac_functie_key
AND f.fac_functie_discipline = 1
AND f.fac_functie_code = 'WEB_RESUSE'
AND gr.ins_discipline_key = c.ins_discipline_key
AND c.ins_discipline_verwijder IS NULL
AND c.ins_discipline_module = 'RES'
AND c.ins_discipline_min_level IN (1,
2,
3,
4));
SELECT DISTINCT prs.prs_afdeling_naam afdeling_code_prs,
prs.prs_afdeling_omschrijving afdeling_omschrijving_prs,
prs.bu_code businessunit_code,
prs.bu_omschrijving businessunit_omschrijving,
prs.afd_code afdeling_code,
prs.afd_omschrijving afdeling_omschrijving,
r.alg_locatie_code locatie_code,
r.alg_locatie_omschrijving locatie_omschrijving,
r.alg_gebouw_code gebouw_code,
r.alg_gebouw_naam gebouw_naam,
r.ins_discipline_omschrijving catalogus,
r.res_ruimte_nr res_ruimte_naam,
opst.opstelling opstelling
FROM --- personen die een werkplek hebben in dit gebouw
(SELECT a.prs_afdeling_naam,
a.prs_afdeling_omschrijving,
a.bu_code,
a.bu_omschrijving,
a.afd_code,
a.afd_omschrijving,
p.prs_perslid_key,
g.alg_gebouw_key,
l.alg_locatie_key
FROM fac_usrtab ut,
fac_usrdata ud,
(SELECT a.prs_afdeling_key,
a.prs_afdeling_naam,
a.prs_afdeling_omschrijving,
ab.prs_afdeling_key1 bu_key,
a1.prs_afdeling_naam bu_code,
a1.prs_afdeling_omschrijving bu_omschrijving,
ab.prs_afdeling_key2 afd_key,
a2.prs_afdeling_naam afd_code,
a2.prs_afdeling_omschrijving afd_omschrijving
FROM prs_v_afdeling_boom ab,
prs_afdeling a,
prs_afdeling a1,
prs_afdeling a2
WHERE ab.prs_afdeling_key = a.prs_afdeling_key
AND ab.prs_afdeling_key1 = a1.prs_afdeling_key(+)
AND ab.prs_afdeling_key2 = a2.prs_afdeling_key(+)) a,
prs_perslid p,
prs_v_perslid_fullnames pn,
alg_gebouw g,
alg_locatie l
WHERE ( UPPER (fac_usrtab_naam) = 'WERKPLEKKEN BD'
OR UPPER (fac_usrtab_naam) = 'WERKPLEKKEN EXT')
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND ( ud.fac_usrdata_vervaldatum IS NULL
OR ud.fac_usrdata_vervaldatum > SYSDATE)
AND ud.fac_usrdata_verwijder IS NULL
AND ud.fac_usrdata_omschr = a.prs_afdeling_naam
AND p.prs_afdeling_key = a.prs_afdeling_key
AND l.alg_locatie_key = g.alg_locatie_key
AND pn.prs_perslid_key = p.prs_perslid_key
AND fac.safe_to_number (g.alg_gebouw_code) =
fac.safe_to_number (ud.fac_usrdata_prijs)) prs,
--- gebouwen met res ruimten
(SELECT l.alg_locatie_key,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
g.alg_gebouw_code,
g.alg_gebouw_naam,
g.alg_gebouw_key,
v.alg_verdieping_code,
r.alg_ruimte_nr,
r.alg_ruimte_omschrijving,
rr.res_ruimte_key,
rr.res_ruimte_nr,
cat.ins_discipline_key,
cat.ins_discipline_omschrijving
FROM alg_locatie l,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r,
res_alg_ruimte ra,
res_ruimte rr,
ins_tab_discipline cat
WHERE l.alg_locatie_key = g.alg_locatie_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND r.alg_ruimte_verwijder IS NULL
AND r.alg_ruimte_key = ra.alg_ruimte_key
AND ra.res_alg_ruimte_verwijder IS NULL
AND ra.res_ruimte_key = rr.res_ruimte_key
AND rr.res_ruimte_verwijder IS NULL
AND cat.ins_discipline_key = rr.res_discipline_key
AND cat.ins_discipline_verwijder IS NULL) r,
--- opstellingen
( SELECT ro.res_ruimte_key,
LISTAGG (
o.res_opstelling_omschrijving
|| ' ('
|| ro.res_ruimte_opstel_bezoekers
|| ' bezoekers)',
' / ') --- scheidingsteken een komma
WITHIN GROUP (ORDER BY o.res_opstelling_omschrijving) opstelling
FROM res_ruimte_opstelling ro, res_opstelling o
WHERE ro.res_opstelling_key = o.res_opstelling_key
AND ro.res_ruimte_opstel_verwijder IS NULL
AND o.res_opstelling_verwijder IS NULL
GROUP BY ro.res_ruimte_key) opst
WHERE r.alg_locatie_key = prs.alg_locatie_key
AND opst.res_ruimte_key = r.res_ruimte_key
AND EXISTS
(SELECT g.fac_groep_omschrijving,
c.ins_discipline_key,
pf.prs_perslid_naam_friendly,
pf.prs_perslid_naam_full
FROM fac_groep g,
fac_groeprechten gr,
fac_gebruikersgroep gg,
prs_perslid p,
prs_v_perslid_fullnames pf,
fac_functie f,
ins_tab_discipline c
WHERE c.ins_discipline_key = r.ins_discipline_key
AND p.prs_perslid_key = prs.prs_perslid_key
AND g.fac_groep_key = gr.fac_groep_key
AND UPPER (
fac.getscopeleveltext (
gr.fac_gebruiker_alg_level_write,
'ALG')) NOT IN
('GEEN')
AND gg.fac_groep_key = g.fac_groep_key
AND p.prs_perslid_key = gg.prs_perslid_key
AND pf.prs_perslid_key = p.prs_perslid_key
AND f.fac_functie_key = gr.fac_functie_key
AND f.fac_functie_discipline = 1
AND f.fac_functie_code = 'WEB_RESUSE'
AND gr.ins_discipline_key = c.ins_discipline_key
AND c.ins_discipline_verwijder IS NULL
AND c.ins_discipline_module = 'RES'
AND c.ins_discipline_min_level IN (1,
2,
3,
4));
CREATE OR REPLACE VIEW BLST_V_RAP_UITLEEN_OBJ
(