YASK#71216 -- Inrichting Renewi op de MC+ omgeving
svn path=/Customer/trunk/; revision=55122
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user