BLST#75595 Rapport met afdelingen, gebouwen en reserveerbare ruimten

BLST#73155 Script om de werkplekken van alle gebruikers bij te werken

svn path=/Customer/trunk/; revision=58611
This commit is contained in:
Suzan Wiegerinck
2023-01-10 14:55:24 +00:00
parent 5e4959e53e
commit 9507d6e128

View File

@@ -6246,6 +6246,10 @@ AS
AND w.prs_alg_ruimte_key = wp.alg_ruimte_key
AND pw.prs_perslid_key = prs.prs_perslid_key);
BEGIN
-- we gooien alle werkplekken weg en beginnen daarna opnieuw
DELETE prs_perslidwerkplek;
FOR REC IN intern
LOOP
v_perslid_key := rec.prs_perslid_key;
@@ -9134,7 +9138,126 @@ AS
AND vloerafw.alg_ruimte_key(+) = r.alg_ruimte_key
AND znr.alg_ruimte_key(+) = r.alg_ruimte_key
AND nen3140_norm.alg_ruimte_key(+) = r.alg_ruimte_key;
--- BLST#75595 Rapport met afdelingen, gebouwen en reserveerbare ruimten
CREATE OR REPLACE VIEW BLST_V_RAP_RECHT_RSVRUIMTE
AS
SELECT 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.alg_ruimte_nr ruimte_nr,
r.alg_ruimte_omschrijving ruimte_omschrijving,
r.ins_discipline_omschrijving catalogus,
r.res_ruimte_nr res_ruimte_naam,
opst.opstelling opstelling,
prs.prs_perslid_naam_friendly,
prs.prs_perslid_naam_full
FROM --- personen die een werkplek hebben in dit gebouw
(SELECT a.prs_afdeling_naam,
a.prs_afdeling_omschrijving,
p.prs_perslid_key,
pn.prs_perslid_naam_friendly,
pn.prs_perslid_naam_full,
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));
------ payload end ------
SET DEFINE OFF