BRCF#82848 -- CUST notificatie + toekenning rechten en werkplekken voor DC Amsterdam

svn path=/Customer/trunk/; revision=63921
This commit is contained in:
Robin Stoker
2024-03-14 10:44:39 +00:00
parent 7b93871dae
commit 4edde51f39

View File

@@ -51,6 +51,47 @@ NULL xsender
a.bez_afspraak_datum
FROM bez_afspraak a, bez_bezoekers b
WHERE a.bez_afspraak_key = b.bez_afspraak_key
AND a.alg_locatie_key <> 2341 -- DC Amsterdam doet hier niet mee
AND a.bez_afspraak_datum BETWEEN SYSDATE AND SYSDATE + 1-- Binnen 1 dag voor de afspraak versturen, bezoek voor dezelfde dag krijgt zo alsnog een mail
AND NOT EXISTS
(SELECT 1
FROM fac_tracking t, fac_srtnotificatie sn
WHERE t.fac_srtnotificatie_key = 192 --BEZTRK
AND t.fac_tracking_refkey = a.bez_afspraak_key
AND b.bez_bezoekers_aanmaak < t.fac_tracking_datum))
x
WHERE x.xemail IS NOT NULL;
CREATE OR REPLACE VIEW brcf_v_noti_bezoeker_dc
AS
SELECT
x.sender,
x.receiver,
x.text,
x.code,
x.key,
x.xkey,
x.xemail,
x.xmobile,
NULL fac_srtnotificatie_key,
NULL attachments,
NULL xsender
FROM (SELECT NULL sender,
NULL receiver,
'Uw bezoek aan Brocacef op '
|| TO_CHAR (bez_afspraak_datum, 'DD-MM-YYYY')
|| ' , '
|| TO_CHAR (bez_afspraak_datum, 'HH24:MI')
text,
'CUST02' code,
a.bez_afspraak_key key,
b.bez_bezoekers_key xkey,
b.bez_bezoekers_email xemail,
NULL xmobile,
a.bez_afspraak_datum
FROM bez_afspraak a, bez_bezoekers b
WHERE a.bez_afspraak_key = b.bez_afspraak_key
AND a.alg_locatie_key = 2341 -- DC Amsterdam
AND a.bez_afspraak_datum BETWEEN SYSDATE AND SYSDATE + 1-- Binnen 1 dag voor de afspraak versturen, bezoek voor dezelfde dag krijgt zo alsnog een mail
AND NOT EXISTS
(SELECT 1
@@ -258,14 +299,31 @@ AS
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 (prs_kostenplaats_nr) < 50000
AND fac.safe_to_number (pk.prs_kostenplaats_nr) < 50000
AND UPPER (pa.prs_afdeling_omschrijving) NOT LIKE '%BZF%' -- BZF afdelingen zijn een uitzondering, die moeten altijd Default houden
AND UPPER (pa.prs_afdeling_omschrijving) NOT LIKE '%WAREHOUSE%' -- Warehouse afdelingen zijn ook een uitzondering, die moeten altijd Default houden
AND fac.safe_to_number (pk.prs_kostenplaats_nr) NOT IN (20821, 20871, 20840, 20820) -- DC Amsterdam doet hier niet mee
AND NOT EXISTS
(SELECT 'x'
FROM fac_gebruikersgroep f
WHERE f.fac_groep_key = 121 -- Komt nog niet voor in de hoofdkantoor groep
AND f.prs_perslid_key = p.prs_perslid_key);
CURSOR c2
IS
SELECT p.prs_perslid_key,
pk.prs_kostenplaats_nr,
pk.prs_kostenplaats_omschrijving
FROM prs_perslid p, prs_afdeling pa, prs_kostenplaats pk
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) IN (20821, 20871, 20840, 20820)
AND NOT EXISTS
(SELECT 'x'
FROM fac_gebruikersgroep f
WHERE f.fac_groep_key = 461 -- Komt nog niet voor in de DC Amsterdam groep
AND f.prs_perslid_key = p.prs_perslid_key);
BEGIN
FOR rec IN c1
LOOP
@@ -278,6 +336,18 @@ BEGIN
VALUES (121, rec.prs_perslid_key);
END;
END LOOP;
FOR rec IN c2
LOOP
BEGIN
DELETE FROM fac_gebruikersgroep -- Eerst persoon verwijderen uit de default apothekers groep.
WHERE prs_perslid_key = rec.prs_perslid_key
AND fac_groep_key = 1;
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) -- Dan persoon toekennen aan de DC Amsterdam groep
VALUES (461, rec.prs_perslid_key);
END;
END LOOP;
END;
/
@@ -319,10 +389,31 @@ AS
AND fac.safe_to_number (pk.prs_kostenplaats_nr) < 50000
AND UPPER (pa.prs_afdeling_omschrijving) NOT LIKE '%BZF%' -- BZF afdelingen zijn een uitzondering
AND UPPER (pa.prs_afdeling_omschrijving) NOT LIKE '%WAREHOUSE%' -- Warehouse afdelingen zijn ook een uitzondering
AND fac.safe_to_number (pk.prs_kostenplaats_nr) NOT IN (20821, 20871, 20840, 20820) -- DC Amsterdam doet hier niet mee
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)
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) IN (20821, 20871, 20840, 20820) -- DC Amsterdam
AND r.alg_ruimte_key = 8063 -- DC Amsterdam 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