DLLG#66674 -- Koppeling bezoekersregistratie met Brivo.

svn path=/Customer/trunk/; revision=51216
This commit is contained in:
Arthur Egberink
2021-05-03 15:00:16 +00:00
parent cb4308c671
commit 4a4b51cf94

View File

@@ -17,6 +17,113 @@ SET DEFINE OFF
------ payload begin ------
CREATE OR REPLACE PACKAGE DLLG
AS
FUNCTION res_presave (p_user_key IN NUMBER,
p_rsv_ruimte_key IN NUMBER,
p_activiteit_key IN NUMBER,
p_res_deel_key IN NUMBER,
p_datum_van IN DATE,
p_datum_tot IN DATE,
p_volgnr IN NUMBER)
RETURN VARCHAR2;
PROCEDURE update_bezoeker (p_bezkey IN NUMBER);
END;
/
CREATE OR REPLACE PACKAGE BODY DLLG
AS
FUNCTION res_presave (p_user_key IN NUMBER,
p_rsv_ruimte_key IN NUMBER,
p_activiteit_key IN NUMBER,
p_res_deel_key IN NUMBER,
p_datum_van IN DATE,
p_datum_tot IN DATE,
p_volgnr IN NUMBER)
RETURN VARCHAR2
AS
v_result VARCHAR2 (300);
v_date DATE;
v_count NUMBER;
v_discipline_key NUMBER;
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (200);
v_errorhint VARCHAR2 (200);
BEGIN
v_result := 'OK';
v_errorhint := 'Controleer activiteit: ' || p_activiteit_key;
IF p_activiteit_key = 30 AND p_rsv_ruimte_key = -1 -- workplace en alleen nieuwe reserveringen
THEN
v_errorhint := 'Kijk hoeveel reserveringen er al zijn voor die dag';
SELECT count(*)
INTO v_count
FROM res_rsv_ruimte rrr
WHERE rrr.res_rsv_ruimte_verwijder IS NULL
AND rrr.res_activiteit_key = 30 -- 30 workplace
AND TRUNC(res_rsv_ruimte_van) = TRUNC (p_datum_tot);
IF v_count > 3
THEN
v_result := 'Beste collega,' || CHR(10) ||
'We hebben deze maand al vier reserveringen van je gevonden. Je maximaal aantal te reserveren werkplekken per maand is dus bereikt.' || CHR(10) ||
'Hartelijke groet, KPN Facilities';
END IF;
END IF;
RETURN v_result;
EXCEPTION WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
RETURN v_result;
END;
PROCEDURE update_bezoeker (p_bezkey IN NUMBER)
AS
CURSOR c
IS
SELECT pf.prs_perslid_naam_full, prs_perslid_email, prs_perslid_mobiel
FROM bez_bezoekers b, bez_afspraak a, prs_perslid p, prs_v_perslid_fullnames pf
WHERE bez_bezoekers_key = p_bezkey
AND b.bez_afspraak_key = a.bez_afspraak_key
AND a.bez_afspraak_host_key = p.prs_perslid_key
AND p.prs_perslid_key = pf.prs_perslid_key;
BEGIN
FOR rec IN c
LOOP
-- Naam
IF FLX.getflex ('BEZ', 1020, p_bezkey) IS NULL
THEN
FLX.setflex ('BEZ', 1020, p_bezkey, rec.prs_perslid_naam_full);
END IF;
-- Email
IF FLX.getflex ('BEZ', 1021, p_bezkey) IS NULL
THEN
FLX.setflex ('BEZ', 1021, p_bezkey, rec.prs_perslid_email);
END IF;
-- Mobiel
IF FLX.getflex ('BEZ', 1022, p_bezkey) IS NULL
THEN
FLX.setflex ('BEZ', 1022, p_bezkey, rec.prs_perslid_mobiel);
END IF;
END LOOP;
END;
END;
/
-- Tijdelijk omdat de generieke import geen komma als scheidingsteken kent.
CREATE OR REPLACE PROCEDURE DLLG_prs_import_perslid (
p_import_key IN NUMBER,