KFSG#57950 Exchange-koppeling

svn path=/Customer/trunk/; revision=44364
This commit is contained in:
Maarten van der Heide
2019-09-25 16:02:17 +00:00
parent d42f399464
commit e66f9cafc6

View File

@@ -38,10 +38,10 @@ SET DEFINE OFF
-- ***************************************************************************
-- KFSG#57950: Bovenstaande nog even laten staan. Voor Schiphol geldt:
-- - koppeling gerealiseerd voor alleen Vergaderruimte-catalogus
-- (key=141) voor SHG-locatie/gebouw (key=41/48) en Vergadering-
-- activiteit (10).
-- - Schiphol-genodigden in Genodigden-kenmerk (key=61).
-- - koppeling gerealiseerd voor alleen catalogus Vergaderruimtes Outlook-
-- koppeling (key=1341) op locatie/gebouw SHG (key=41/48) en activiteit
-- Vergadering (key=10).
-- - Schiphol-genodigden in Genodigden-kenmerk (key=181).
-- - eventuele andere genodigden bijwerken als afspraak/bezoeker.
-- ***************************************************************************
@@ -108,9 +108,9 @@ AS
p_recur_id IN VARCHAR2,
p_rsv_ruimte_key IN NUMBER)
IS
v_debug BOOLEAN := TRUE;
v_debug BOOLEAN := TRUE;
v_count NUMBER (10);
c_km_key_genodigden NUMBER (10) := 61;
c_km_key_genodigden NUMBER (10) := 181;
v_genodigden VARCHAR2 (4000);
v_afspraak_key NUMBER (10);
@@ -135,7 +135,7 @@ AS
WHERE a.res_rsv_ruimte_key = p_rsv_ruimte_key
AND b.bez_afspraak_key = a.bez_afspraak_key
AND kw.bez_bezoekers_key = b.bez_bezoekers_key
AND kw.bez_kenmerk_key = 1100 -- E-mailadres Exchange
AND kw.bez_kenmerk_key = 1120 -- E-mailadres Exchange
AND kw.bez_kenmerkwaarde_verwijder IS NULL
AND NOT EXISTS (SELECT 1
FROM kfsg_imp_exchange
@@ -152,7 +152,7 @@ AS
WHERE a.res_rsv_ruimte_key = p_rsv_ruimte_key
AND b.bez_afspraak_key = a.bez_afspraak_key
AND kw.bez_bezoekers_key = b.bez_bezoekers_key
AND kw.bez_kenmerk_key = 1100 -- E-mailadres Exchange
AND kw.bez_kenmerk_key = 1120 -- E-mailadres Exchange
AND kw.bez_kenmerkwaarde_verwijder IS NULL
AND rkw.res_kenmerk_key = c_km_key_genodigden
AND rkw.res_kenmerkwaarde_verwijder IS NULL
@@ -169,7 +169,7 @@ AS
WHERE a.res_rsv_ruimte_key = p_rsv_ruimte_key
AND b.bez_afspraak_key = a.bez_afspraak_key
AND kw.bez_bezoekers_key = b.bez_bezoekers_key
AND kw.bez_kenmerk_key = 1100 -- E-mailadres Exchange
AND kw.bez_kenmerk_key = 1120 -- E-mailadres Exchange
AND kw.bez_kenmerkwaarde_verwijder IS NULL
AND EXISTS (SELECT 1
FROM res_ruimte
@@ -187,7 +187,7 @@ AS
prs_afdeling_naam,
MAX(alg_locatie_key) alg_locatie_key,
MAX(alg_locatie_code) alg_locatie_code,
badgenr,
--badgenr,
bez_bezoekers_key
FROM (
SELECT DISTINCT att_mail, att_name
@@ -218,7 +218,7 @@ AS
alg_verdieping v,
alg_gebouw g,
(SELECT * FROM alg_locatie
WHERE alg_locatie_key IN (41) ) l -- SHG - Schipholgebouw
WHERE alg_locatie_key = 41) l -- SHG - Schipholgebouw
WHERE p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_email IS NOT NULL
--AND kl.prs_link_key(+) = p.prs_perslid_key
@@ -241,11 +241,16 @@ AS
WHERE a.res_rsv_ruimte_key = p_rsv_ruimte_key
AND b.bez_afspraak_key = a.bez_afspraak_key
AND kw.bez_bezoekers_key = b.bez_bezoekers_key
AND kw.bez_kenmerk_key = 1100 -- E-mailadres Exchange
AND kw.bez_kenmerk_key = 1120 -- E-mailadres Exchange
AND kw.bez_kenmerkwaarde_verwijder IS NULL) b
ON UPPER(b.email) = UPPER(att_mail)
GROUP BY att_mail, att_name, prs_perslid_key,
prs_perslid_naam_full, prs_afdeling_naam, badgenr, bez_bezoekers_key;
GROUP BY att_mail,
att_name,
prs_perslid_key,
prs_perslid_naam_full,
prs_afdeling_naam,
--badgenr,
bez_bezoekers_key;
BEGIN
v_genodigden := NULL;
@@ -319,7 +324,7 @@ AS
-- KFSG#57950: Bovenstaande nog even laten staan. Voor Schiphol geldt dat medewerkers (@schiphol in e-mail adres) in Genodigden-veld komen.
-- TODO: Of Genodigden-veld helemaal weg???
--IF (rec.alg_locatie_key IS NOT NULL AND rec.badgenr IS NOT NULL)
IF (rec.alg_locatie_key IS NOT NULL AND INSTR (UPPER (rec.prs_perslid_email), '@SCHIPHOL') > 0)
IF (rec.alg_locatie_key IS NOT NULL AND INSTR (UPPER (rec.att_mail), '@SCHIPHOL.NL') > 0)
THEN
v_genodigden := v_genodigden || rec.att_name || CHR(13);
-- Overige AN-medewerkers en gasten aanmelden als bezoeker (of registratie bijwerken)
@@ -472,7 +477,7 @@ AS
p_perslid_key IN NUMBER,
p_afdeling_naam IN VARCHAR2)
IS
v_debug BOOLEAN := TRUE;
v_debug BOOLEAN := TRUE;
v_bez_flags NUMBER (10);
v_bezoekers_key NUMBER (10);
v_count NUMBER;
@@ -484,11 +489,11 @@ AS
-- flags (AKZA#34209)
-- 2: andere locatie
-- 16: geen parkeerplaats mogelijk
IF (UPPER(p_att_mail) LIKE '%@SCHIPHOL')
IF (UPPER(p_att_mail) LIKE '%@SCHIPHOL.NL')
THEN
IF (v_debug) THEN
fac.imp_writelog (p_import_key, 'D',
p_afspraak_key, 'AN-mw '||p_att_name|| ' ('||COALESCE(TO_CHAR(p_perslid_key), p_att_mail)||')');
p_afspraak_key, 'SG-mw '||p_att_name|| ' ('||COALESCE(TO_CHAR(p_perslid_key), p_att_mail)||')');
END IF;
v_bez_flags := 2 + 16;
@@ -497,7 +502,7 @@ AS
ELSE
IF (v_debug) THEN
fac.imp_writelog (p_import_key, 'D',
p_afspraak_key, 'Gast '||p_att_name|| ' ('||p_att_mail||')');
p_afspraak_key, 'Gast '||p_att_name|| ' ('||p_att_mail||')');
END IF;
v_bez_flags := 0;
END IF;
@@ -550,8 +555,8 @@ AS
END IF;
-- Mailadres opslaan
-- bez_kenmerk E-mail 1100
upsertkenmerk_bez(1100, v_bezoekers_key, p_att_mail);
-- bez_kenmerk E-mail 1120
upsertkenmerk_bez(1120, v_bezoekers_key, p_att_mail);
END IF;
-- TODO: tracking; liefst geen aparte regel per bezoeker
@@ -831,7 +836,7 @@ CREATE OR REPLACE PROCEDURE kfsg_import_exchange (
p_import_key IN NUMBER
)
IS
c_fielddelimitor VARCHAR2 (1) := ';';
c_fielddelimitor VARCHAR2 (1) := ';';
c_max_errors NUMBER := 100;
v_newline VARCHAR2 (1000); -- Input line
v_aanduiding VARCHAR2 (200);
@@ -1138,9 +1143,9 @@ IS
v_count_all_booked NUMBER (10);
v_count_all_needed NUMBER (10);
v_ongeldig NUMBER (1);
v_debug BOOLEAN := TRUE;
v_debug BOOLEAN := TRUE;
c_activiteit_key NUMBER (10) := 10; -- Vergadering
c_activiteit_key NUMBER (10) := 10; -- Vergadering
v_reservering_key NUMBER (10);
v_rsv_ruimte_volgnr res_rsv_ruimte.res_rsv_ruimte_volgnr%TYPE;
v_ruimte_opstel_key NUMBER (10);
@@ -1985,7 +1990,7 @@ BEGIN
-- geldt altijd tracken <20>n notificeren!
v_errorhint := 'Tracking NEW';
v_code := 'RESNEW';
--IF (v_discipline_key = 141)
--IF (v_discipline_key = 1341)
--THEN
-- v_code := '#RESNEW';
--END IF;
@@ -2328,7 +2333,7 @@ AS
bez_bezoekers b,
(SELECT *
FROM bez_kenmerkwaarde
WHERE bez_kenmerk_key = 1100
WHERE bez_kenmerk_key = 1120
AND bez_kenmerkwaarde_verwijder IS NULL) kw
WHERE a.bez_afspraak_datum > SYSDATE
AND fac.count_work_days (SYSDATE, a.bez_afspraak_datum) = 2
@@ -2337,7 +2342,7 @@ AS
AND b.bez_afspraak_key = a.bez_afspraak_key
AND b.bez_bezoekers_key = kw.bez_bezoekers_key(+)
AND kw.bez_kenmerkwaarde_waarde IS NOT NULL
AND UPPER (kw.bez_kenmerkwaarde_waarde) NOT LIKE '%@SCHIPHOL%'
AND UPPER (kw.bez_kenmerkwaarde_waarde) NOT LIKE '%@SCHIPHOL-A.NL%'
AND NOT EXISTS
(SELECT 1
FROM bez_afspraak a1, bez_bezoekers b1