BRCF#73063 -- Automatisch toekennen van werkplekken

svn path=/Customer/trunk/; revision=56770
This commit is contained in:
Robin Stoker
2022-08-04 14:45:34 +00:00
parent 3d414b44c6
commit 149af4e4ca

View File

@@ -119,17 +119,74 @@ BEGIN
END;
/
CREATE OR REPLACE PROCEDURE brcf_wp_toekenning
AS
CURSOR c1
IS
SELECT p.prs_perslid_key, pk.prs_kostenplaats_nr, r.alg_ruimte_key
FROM prs_perslid p,
prs_afdeling pa,
prs_kostenplaats pk,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r
WHERE p.prs_afdeling_key = pa.prs_afdeling_key
AND pa.prs_kostenplaats_key = pk.prs_kostenplaats_key
AND p.prs_perslid_verwijder IS NULL
AND pa.prs_afdeling_upper = 'CC-' || g.alg_gebouw_upper
AND pa.prs_afdeling_verwijder IS NULL
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_upper_nr = '_'
AND NOT EXISTS
(SELECT 'x'
FROM prs_werkplek pw, prs_perslidwerkplek ppw
WHERE p.prs_perslid_key = ppw.prs_perslid_key
AND ppw.prs_werkplek_key = pw.prs_werkplek_key
AND pw.prs_alg_ruimte_key = r.alg_ruimte_key)
UNION ALL
SELECT p.prs_perslid_key, pk.prs_kostenplaats_nr, r.alg_ruimte_key
FROM prs_perslid p,
prs_afdeling pa,
prs_kostenplaats pk,
alg_ruimte r
WHERE p.prs_afdeling_key = pa.prs_afdeling_key
AND pa.prs_kostenplaats_key = pk.prs_kostenplaats_key
AND p.prs_perslid_verwijder IS NULL
AND fac.safe_to_number (pk.prs_kostenplaats_nr) < 50000
AND r.alg_ruimte_key = 4127 -- Hoofdkantoor dummy ruimte
AND p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_inactief IS NULL
AND p.prs_perslid_apikey IS NULL
AND NOT EXISTS
(SELECT 'x'
FROM prs_werkplek pw, prs_perslidwerkplek ppw
WHERE p.prs_perslid_key = ppw.prs_perslid_key
AND ppw.prs_werkplek_key = pw.prs_werkplek_key
AND pw.prs_alg_ruimte_key = r.alg_ruimte_key);
BEGIN
FOR rec IN c1
LOOP
BEGIN
prs.movetoruimte (rec.prs_perslid_key,
rec.alg_ruimte_key,
'R',
0);
END;
END LOOP;
END;
/
CREATE OR REPLACE PROCEDURE brcf_daily
AS
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
BEGIN
-- Dagelijks de nieuwe geregistreede uren in de weekbrief zetten.
brcf_schonen_bezoekers ();
brcf_toekennen_authgroep ();
brcf_wp_toekenning ();
END;
/