DLLG#66674 -- Koppeling bezoekersregistratie met Brivo.
svn path=/Customer/trunk/; revision=51216
This commit is contained in:
107
DLLG/DLLG.sql
107
DLLG/DLLG.sql
@@ -17,6 +17,113 @@ SET DEFINE OFF
|
|||||||
|
|
||||||
------ payload begin ------
|
------ 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.
|
-- Tijdelijk omdat de generieke import geen komma als scheidingsteken kent.
|
||||||
CREATE OR REPLACE PROCEDURE DLLG_prs_import_perslid (
|
CREATE OR REPLACE PROCEDURE DLLG_prs_import_perslid (
|
||||||
p_import_key IN NUMBER,
|
p_import_key IN NUMBER,
|
||||||
|
|||||||
Reference in New Issue
Block a user