YASK#71216 -- Inrichting Renewi op de MC+ omgeving

svn path=/Customer/trunk/; revision=55122
This commit is contained in:
Arthur Egberink
2022-02-25 07:14:59 +00:00
parent 2b1dd59c18
commit 023226737c

View File

@@ -834,21 +834,21 @@ AS
AS
v_ruimte_key NUMBER;
v_afdeling_key NUMBER;
v_groep_key NUMBER;
v_perslid_email PRS_PERSLID.PRS_PERSLID_EMAIL%TYPE;
BEGIN
v_ruimte_key := 7056; -- Receptie op de begane grond
SELECT MAX (a.prs_afdeling_key)
SELECT MAX (kl.prs_link_key)
INTO v_afdeling_key
FROM prs_afdeling a, prs_bedrijf b, prs_perslid p
WHERE a.prs_bedrijf_key = b.prs_bedrijf_key
AND b.prs_bedrijf_naam = 'W1'
AND a.prs_afdeling_verwijder IS NULL
AND a.prs_afdeling_omschrijving =
SUBSTR (prs_perslid_email,
INSTR (prs_perslid_email, '@') + 1,
FROM prs_perslid p, prs_kenmerklink kl
WHERE kl.prs_kenmerk_key = 1041 -- Domein
AND kl.prs_kenmerklink_verwijder IS NULL
AND LOWER(kl.prs_kenmerklink_waarde) =
SUBSTR (LOWER(p.prs_perslid_email),
INSTR (LOWER(p.prs_perslid_email), '@') + 1,
100)
AND prs_perslid_key = p_perslid_key;
AND p.prs_perslid_key = p_perslid_key;
-- Als we de afdeling niet kennen dan blijft de persoon onder onbekend.
IF v_afdeling_key IS NOT NULL
@@ -858,7 +858,50 @@ AS
WHERE prs_perslid_key = p_perslid_key;
END IF;
-- zoek de juiste werkplek voor deze persoon. Bij de afdeling staat in een kenmerk ook de ruimteaanduiding.
SELECT MAX (rg.alg_ruimte_key)
INTO v_ruimte_key
FROM prs_perslid p, prs_kenmerklink kld, prs_kenmerklink klr, alg_v_ruimte_gegevens rg
WHERE kld.prs_kenmerk_key = 1041 -- Domein
AND kld.prs_kenmerklink_verwijder IS NULL
AND LOWER(kld.prs_kenmerklink_waarde) =
SUBSTR (LOWER(p.prs_perslid_email),
INSTR (LOWER(p.prs_perslid_email), '@') + 1,
100)
AND klr.prs_kenmerk_key = 1060 -- Locatiecode-Ruimtenummer
AND klr.prs_kenmerklink_verwijder IS NULL
AND LOWER(klr.prs_kenmerklink_waarde) =
LOWER(rg.alg_locatie_code) || '-' || LOWER(rg.alg_ruimte_nr)
AND p.prs_perslid_key = p_perslid_key;
prs.movetoruimte (p_perslid_key, v_ruimte_key, 'A');
-- De medewerkers van Renewi gaan we onder een andere autorisatiegroep plaatsen
SELECT LOWER(prs_perslid_email)
INTO v_perslid_email
FROM prs_perslid
WHERE prs_perslid_key = p_perslid_key;
SELECT MIN(fac_groep_key)
INTO v_groep_key
FROM fac_groep g
WHERE LOWER(fac_groep_externid) =
SUBSTR (v_perslid_email,
INSTR (v_perslid_email, '@'),
100)
AND NOT EXISTS (SELECT 1
FROM fac_gebruikersgroep gg
WHERE gg.prs_perslid_key = p_perslid_key
AND gg.fac_groep_key = g.fac_groep_key);
IF v_groep_key IS NOT NULL
THEN
DELETE fac_gebruikersgroep WHERE prs_perslid_key = p_perslid_key;
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
VALUES (v_groep_key, p_perslid_key);
END IF;
END;