AKZA#64021 Koppeling Facilitor - Proxyclick

svn path=/Customer/trunk/; revision=48860
This commit is contained in:
Erik Groener
2020-11-18 13:18:21 +00:00
parent e93cb11408
commit b0b9ff994f

View File

@@ -11462,6 +11462,9 @@ AS
PROCEDURE log_proxyclick_imp (p_bezoeker_key IN NUMBER,
p_responsestatus IN NUMBER,
p_request_type IN VARCHAR2);
PROCEDURE opschonen_registraties_pc;
END;
/
@@ -11562,17 +11565,17 @@ AS
FROM bez_kenmerk b
WHERE b.bez_kenmerk_upper = 'SYNCDATE';
SELECT SYSDATE INTO v_syncdate FROM DUAL;
SELECT SYSDATE INTO v_syncdate FROM DUAL;
akza.log_proxyclick_imp (p_bezoeker_key,
p_responsestatus,
p_request_type);
IF p_request_type = 'POST'
THEN
akza.set_kenmerk_bez (v_kenmerk_key, p_bezoeker_key, v_syncdate);
flx.setflex ('BEZ',v_kenmerk_key,p_bezoeker_key, v_syncdate);
INSERT INTO AKZA_BEZOEKERS_PC (AFSPRAAKKEY,
BEZOEKERKEY,
START_TIJD,
@@ -11586,11 +11589,11 @@ AS
p_host_key,
p_meetingid_pc);
ELSE
IF p_request_type = 'PUT'
IF p_request_type = 'PUT'
THEN
akza.set_kenmerk_bez (v_kenmerk_key, p_bezoeker_key, v_syncdate);
flx.setflex ('BEZ',v_kenmerk_key,p_bezoeker_key, v_syncdate);
UPDATE AKZA_BEZOEKERS_PC pc
SET AFSPRAAKKEY = p_afspraak_key,
BEZOEKERKEY = p_bezoeker_key,
@@ -11619,7 +11622,7 @@ AS
v_log_datum imp_log.imp_log_datum%TYPE;
BEGIN
CASE
WHEN p_responsestatus < 200 AND p_responsestatus > 299
WHEN p_responsestatus < 200 OR p_responsestatus > 299
THEN
v_log_status := 'W';
ELSE
@@ -11641,13 +11644,23 @@ AS
COMMIT;
END log_proxyclick_imp;
PROCEDURE opschonen_registraties_pc
IS
BEGIN
DELETE akza_bezoekers_pc p
WHERE p.eind_tijd < TRUNC (SYSDATE - 7);
COMMIT;
END;
END;
/
---------------------------------------------
-- Ten behoeve van de Proxyclick koppeling --
---------------------------------------------
CREATE OR REPLACE VIEW AKZA_V_BEZOEKER_PC
(
REQUEST,
@@ -11666,122 +11679,106 @@ CREATE OR REPLACE VIEW AKZA_V_BEZOEKER_PC
MEETING_ID
)
AS
SELECT 'POST',
'Afspraak vanuit Facilitor'
omschr,
a.bez_afspraak_key,
b.bez_bezoekers_key,
b.bez_afspraak_naam,
b.bez_afspraak_bedrijf,
email.bez_kenmerkwaarde_waarde
email,
TO_CHAR (a.bez_afspraak_datum, 'YYYY-MM-DD')
|| 'T'
|| TO_CHAR (a.bez_afspraak_datum, 'HH24:MI:SS')
|| '+01:00 '
utc_afspraak_datum,
TO_CHAR (a.bez_afspraak_eind, 'YYYY-MM-DD')
|| 'T'
|| TO_CHAR (a.bez_afspraak_eind, 'HH24:MI:SS')
|| '+01:00 '
utc_afspraak_eind,
p.prs_perslid_voornaam,
p.prs_perslid_naam
|| DECODE (prs_perslid_tussenvoegsel,
NULL, NULL,
', ' || prs_perslid_tussenvoegsel),
p.prs_perslid_email,
p.prs_perslid_key,
''
FROM bez_bezoekers b,
bez_afspraak a,
prs_perslid p,
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde
FROM bez_kenmerk k, bez_kenmerkwaarde kw
WHERE k.bez_kenmerk_upper LIKE 'E-MAIL%'
AND kw.bez_kenmerk_key = k.bez_kenmerk_key) email
WHERE b.bez_afspraak_key = a.bez_afspraak_key
AND a.alg_locatie_key = 2 -- Alleen locatie Arnhem
AND TRUNC (a.bez_afspraak_datum) >= TRUNC (SYSDATE) -- Alleen afspraken nu of in de toekomst
AND email.bez_bezoekers_key = b.bez_bezoekers_key
AND a.bez_afspraak_host_key = p.prs_perslid_key
AND NOT EXISTS
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde
FROM bez_kenmerk k, bez_kenmerkwaarde kw
WHERE k.bez_kenmerk_upper = 'SYNCDATE' -- Er is nog geen sync naar Proxyclick geweest
AND kw.bez_kenmerk_key = k.bez_kenmerk_key
AND kw.bez_bezoekers_key = b.bez_bezoekers_key)
UNION ALL
SELECT 'PUT',
'Afspraak vanuit Facilitor',
a.bez_afspraak_key,
b.bez_bezoekers_key,
b.bez_afspraak_naam,
b.bez_afspraak_bedrijf,
email.bez_kenmerkwaarde_waarde
email,
TO_CHAR (a.bez_afspraak_datum, 'YYYY-MM-DD')
|| 'T'
|| TO_CHAR (a.bez_afspraak_datum, 'HH24:MI:SS')
|| '+01:00 '
utc_afspraak_datum,
TO_CHAR (a.bez_afspraak_eind, 'YYYY-MM-DD')
|| 'T'
|| TO_CHAR (a.bez_afspraak_eind, 'HH24:MI:SS')
|| '+01:00 '
utc_afspraak_eind,
p.prs_perslid_voornaam,
p.prs_perslid_naam
|| DECODE (prs_perslid_tussenvoegsel,
NULL, NULL,
', ' || prs_perslid_tussenvoegsel),
p.prs_perslid_email,
p.prs_perslid_key,
pc.meeting_id_pc
FROM akza_bezoekers_pc pc,
bez_bezoekers b,
bez_afspraak a,
prs_perslid p,
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde
FROM bez_kenmerk k, bez_kenmerkwaarde kw
WHERE k.bez_kenmerk_upper LIKE 'E-MAIL%'
AND kw.bez_kenmerk_key = k.bez_kenmerk_key) email
WHERE b.bez_bezoekers_key = pc.bezoekerkey
AND a.bez_afspraak_key = b.bez_afspraak_key
AND email.bez_bezoekers_key = b.bez_bezoekers_key
AND a.alg_locatie_key = 2 -- Alleen locatie Arnhem
AND TRUNC (a.bez_afspraak_datum) >= TRUNC (SYSDATE) -- Alleen afspraken nu of in de toekomst
AND a.bez_afspraak_host_key = p.prs_perslid_key
AND ( pc.START_TIJD <>
( TO_CHAR (a.bez_afspraak_datum, 'YYYY-MM-DD')
|| 'T'
|| TO_CHAR (a.bez_afspraak_datum, 'HH24:MI:SS')
|| '+01:00 ')
OR pc.EIND_TIJD <>
( TO_CHAR (a.bez_afspraak_eind, 'YYYY-MM-DD')
|| 'T'
|| TO_CHAR (a.bez_afspraak_eind, 'HH24:MI:SS')
|| '+01:00 ')
OR pc.gastheer <> p.prs_perslid_key)
UNION ALL
SELECT 'DELETE',
'Afspraak vanuit Facilitor',
fac.safe_to_number (pc.afspraakkey),
fac.safe_to_number (pc.bezoekerkey),
'',
'',
'',
pc.start_tijd,
pc.eind_tijd,
'',
'',
'',
0,
pc.meeting_id_pc
FROM akza_bezoekers_pc pc
WHERE pc.bezoekerkey NOT IN (SELECT b.bez_bezoekers_key
FROM bez_bezoekers b);
SELECT 'POST',
'Afspraak vanuit Facilitor'
omschr,
a.bez_afspraak_key,
b.bez_bezoekers_key,
b.bez_afspraak_naam,
b.bez_afspraak_bedrijf,
email.bez_kenmerkwaarde_waarde
email,
a.bez_afspraak_datum,
a.bez_afspraak_eind,
p.prs_perslid_voornaam,
p.prs_perslid_naam
|| DECODE (prs_perslid_tussenvoegsel,
NULL, NULL,
', ' || prs_perslid_tussenvoegsel),
p.prs_perslid_email,
p.prs_perslid_key,
''
FROM bez_bezoekers b,
bez_afspraak a,
prs_perslid p,
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde
FROM bez_kenmerk k, bez_kenmerkwaarde kw
WHERE k.bez_kenmerk_upper LIKE 'E-MAIL%'
AND kw.bez_kenmerk_key = k.bez_kenmerk_key) email
WHERE b.bez_afspraak_key = a.bez_afspraak_key
AND a.alg_locatie_key = 2 -- Alleen locatie Arnhem
AND a.bez_afspraak_datum >= TRUNC (SYSDATE) -- Alleen afspraken nu of in de toekomst
AND email.bez_bezoekers_key = b.bez_bezoekers_key
AND a.bez_afspraak_host_key = p.prs_perslid_key
AND NOT EXISTS
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde
FROM bez_kenmerk k, bez_kenmerkwaarde kw
WHERE k.bez_kenmerk_upper = 'SYNCDATE' -- Er is nog geen sync naar Proxyclick geweest
AND kw.bez_kenmerk_key = k.bez_kenmerk_key
AND kw.bez_bezoekers_key = b.bez_bezoekers_key)
UNION ALL
SELECT 'PUT',
'Afspraak vanuit Facilitor',
a.bez_afspraak_key,
b.bez_bezoekers_key,
b.bez_afspraak_naam,
b.bez_afspraak_bedrijf,
email.bez_kenmerkwaarde_waarde
email,
a.bez_afspraak_datum,
a.bez_afspraak_eind,
p.prs_perslid_voornaam,
p.prs_perslid_naam
|| DECODE (prs_perslid_tussenvoegsel,
NULL, NULL,
', ' || prs_perslid_tussenvoegsel),
p.prs_perslid_email,
p.prs_perslid_key,
pc.meeting_id_pc
FROM akza_bezoekers_pc pc,
bez_bezoekers b,
bez_afspraak a,
prs_perslid p,
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde
FROM bez_kenmerk k, bez_kenmerkwaarde kw
WHERE k.bez_kenmerk_upper LIKE 'E-MAIL%'
AND kw.bez_kenmerk_key = k.bez_kenmerk_key) email
WHERE b.bez_bezoekers_key = pc.bezoekerkey
AND a.bez_afspraak_key = b.bez_afspraak_key
AND email.bez_bezoekers_key = b.bez_bezoekers_key
AND a.alg_locatie_key = 2 -- Alleen locatie Arnhem
AND a.bez_afspraak_datum >= TRUNC (SYSDATE) -- Alleen afspraken nu of in de toekomst
AND a.bez_afspraak_host_key = p.prs_perslid_key
AND ( pc.START_TIJD <> a.bez_afspraak_datum
OR pc.EIND_TIJD <> a.bez_afspraak_eind
OR pc.gastheer <> p.prs_perslid_key
)
UNION ALL
SELECT 'DELETE',
'Afspraak vanuit Facilitor',
fac.safe_to_number (pc.afspraakkey),
fac.safe_to_number (pc.bezoekerkey),
'',
'',
'',
pc.start_tijd,
pc.eind_tijd,
'',
'',
'',
0,
pc.meeting_id_pc
FROM akza_bezoekers_pc pc
WHERE pc.bezoekerkey NOT IN (SELECT b.bez_bezoekers_key
FROM bez_bezoekers b);
CREATE OR REPLACE PROCEDURE AKZA_DAILY
AS
BEGIN
-- Opschonenen Firmbase registraties
akza.opschonen_registraties_pc ();
END;
/
------ payload end ------
SET DEFINE OFF